Chapter 12: Service Tiers

Chapter 12.

Working with large, complex applications with many services can cause availability issues. A failure of a single service can cause services that depend on it to fail. This can cause a cascade effect that results in your entire application failing. This is especially egregious when the service that failed is not a mission-critical service, but it caused mission-critical services to fail.

Application Complexity

As illustrated in Figure 12-1, sometimes, the smallest and least significant of services can fail.

Figure 12-1.  

Figure 12-1 . A single service failure...

This can cause your entire application to go down, as illustrated in Figure 12-2.

Figure 12-2.  

Figure 12-2 . ...can cause a cascade failure

There are many ways to prevent dependent services from failing, and we discuss many of these in Dealing with Service Failures. However, adding resiliency between services also adds complexity and cost, and sometimes it is not needed. Looking at Figure 12-3, what happens if Service D is not critical to the running of Service A? Why should Service A fail simply because Service D has failed?

Figure 12-3.  

Figure 12-3 . What if Service D is not critical?

How do you know when a service dependency link is critical and when it isn’t? Service tiers is one way to help manage this.

What Are Service Tiers?

A service tier is simply a label associated with a service that indicates how critical a service is to the operation of your business. Service tiers let you distinguish between services that are mission critical, and those that are useful and helpful but not essential.

By comparing service tier levels of dependent services, you can determine which service dependencies are your most sensitive and which are less important.

Assigning Service Tier Labels to Services

All services in your system, no matter how big or how small, should be assigned a service tier. The following sections outline a scale to get you started (you can make adjustments to these recommendations as necessary to accommodate your particular business needs).

Tier 1

Tier 1 services are the most critical services in your system. A service is considered Tier 1 if a failure of that service will result in a significant impact to customers or to the company’s bottom line.

The following are some examples of Tier 1 services:

Login service

A service that lets users log in to your system.

Credit card processor

A service that handles customer payments.

Permission service

A service that tells you what features a given user may have access to.

Order accepting service

A service that lets customers purchase a product on your website.

A Tier 1 service failure is a serious concern to your company.

Tier 2

A Tier 2 service is one that is important to your business but less critical than a Tier 1. A failure in a Tier 2 service can cause a degraded customer experience in a noticeable and meaningful way but does not completely prevent your customer from interacting with your system.

Tier 2 services are also services that affect your backend business processes in significant ways, but might not be directly noticeable to your customers.

The following are some examples of Tier 2 services:

Search service

A service that provides a search functionality on your website.

Order fulfillment service

A service that makes it possible for your warehouse to process an order for shipment to a customer.

A failure of a Tier 2 service will have a negative customer impact but does not represent a complete system failure.

Tier 3

A Tier 3 service is one that can have minor, unnoticeable, or difficult-to-notice customer impact, or have limited effect on your business and systems.

The following are some examples of Tier 3 services:

Customer icon service

A service that displays a customer icon or avatar on a website page.

Recommendations service

A service that displays alternate products a customer may be interested in based on what they are currently viewing.

Message of the day service

A service that displays alerts or messages to customers at the top of the web page.

Customers may or may not even notice that a Tier 3 service is failing.

Tier 4

A Tier 4 service is a service that, when it fails, causes no significant effect on the customer experience and does not significantly affect the customer’s business or finances.

The following are some examples of Tier 4 services:

Sales report generator service

A service that generates a weekly sales report. Although the sales report is important, a short-term failure of the generator service will not have a significant impact.

Marketing email sending service

A service that generates emails sent regularly to your customers. If this service is down for a period of time, email generation might be delayed, but that will typically not significantly affect you or your customers.

Example: Online Store

Figure 12-4 is an example application composed of many services. It is designed for operating an online store. Each service has a label indicating the service tier assigned to each service.

Figure 12-4.  

Figure 12-4 . Example application: an online store

Look at this and imagine from the description what the responsibility of each service is. Imagine what the customer experience can or should be when that service is malfunctioning. The service tier should be in line with this perceived customer experience.

Here are some example services from this application for you to consider:

Website frontend service (Tier 1)

This is the service that generates and displays the website. It generates the HTML and interacts with the user’s browser for the main storefront.

This is a Tier 1 service because without it your entire online store is unavailable to your customers. It passes the Tier 1 test because if it is not available, it has a huge impact on your customers.

Catalog view service (Tier 1)

This service reads the catalog database and sends the appropriate catalog data to the frontend service. It’s used to generate the detail pages that show the details of individual products in the database.

This is a Tier 1 service because without it your customers can’t view any products online. It passes the Tier 1 test because if it is not available, it has a huge impact on your customers.

Catalog search service (Tier 2)

This service handles search requests from users, and returns lists of products that match the search terms.

This is a Tier 2 service because, even though search is an important customer feature to the website, it is possible for customers to browse to products and still use your site without the search bar working. The experience is obviously diminished, but it is still usable.

Catalog database service (Tier 1)

This is the database that stores the catalog itself.

This is a Tier 1 service because without the catalog database, no product can be displayed.

Catalog editing service (Tier 3)

This is the service that your employees use to add new entries to the catalog and update existing entries.

This service is considered a Tier 3 service because it is not mission critical to the ability of customers to successfully complete a purchase. Although not being able to add products to your database will affect your business, it doesn’t immediately or directly affect your customers, and a bit of an outage might be acceptable.

Checkout service (Tier 1)

This is the service that displays the checkout process to your customers. Without this service, your customers can’t buy products from you.

This is a Tier 1 service, because it has a significant impact on both your customers (they can’t buy things) and on your business (you can’t make money without customers buying things).

Order shi pping service (Tier 3)

This is the service that manages the process of boxing and shipping your customers’ orders (an obviously simplified example). Without this service, your customers can’t receive orders they have placed.

This may seem like it should be a Tier 1 service, because shipping orders is a mission-critical aspect of your business. But think of it this way: if you can’t ship orders for an hour or so, what’s the impact on your customers? What about your business? In most cases, it would have very little to no impact on your customers—a one hour shipping delay wouldn’t affect when customers receive their orders. It would have some effect on your business, because the employees that pack orders might not be able to do their jobs for a while. Because it has an effect on the business, but not a significant one nor a significant impact on your customers, a Tier 3 label is appropriate.

Weekly order report (Tier 4)

This is the service that gathers your ordering data and generates weekly business reports to finance and management.

This is a Tier 4 service because it has no impact on your customer’s experience at all. Having a report delayed for a short period of time might affect your business, but likely not significantly.

This example should give you an idea of how you can generate appropriate service tier labels for all your services.

What’s Next?

Now that you understand the various tier levels, you should be able to apply appropriate service tier labels to all of the services in your application. But now that we have our services labeled, how do we use the labels and what value do you bring? This is the topic of Using Service Tiers.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.187.233