By: Jayati
July 10 2019

How to Avoid Microservices’ Mishaps with Service Tiers

Segregating services into containers for the ease of processing systems is what microservices came to be known for. They emerged from the depths of technological advancements and made a niche for themselves in the business operations. However, the act of adding extra resiliency in non-critical services didn’t prove to be fruitful for many reasons like increased complexity and cost at unnecessary spaces. Therefore, a multi-tier architecture that can be used to separate the components of the application into tiers for web, application database was devised. 

A more microservice-orientated architecture, the service tiers were introduced. 

Let’s dive deeper and understand the different tiers and their workings.    

white compartments

What Are Service Tiers?

Designed with a microservices approach, service tiers provision for the infrastructure to withhold various tasks like integration and composition of existing services. It’s simply a division of various services into tiers that cater to other departments in the company processes. 

For instance, they provide a database like MySQL and documentation stores like RethinkDB. Media-services provider like Netflix and transportation network company, Uber have a four‑tier architecture at their core foundation. Having a service tier helps developers with flexibility, fulfills their responsive needs and helps in adapting both goals, internal functioning and the integration with third‑party applications. 

Optimizing Service Tiers

Once the service tiers are put in place, the next step is to maximize the output out of them. Businesses can leverage the dependencies to their advantage and seek accelerated responsiveness too. 

Compartmentalizing the services into tiers according to their priorities helps developers when addressing issues. It gets easier to determine in respect to which tier needs quick maintenance or attention in case of any emergency. As the tier 1 services are marked with topmost priority, they should be more important when making decisions in terms of impact. 

Consequently, the dependencies make a difference in the responsiveness of the services. Let’s take an example- If Tier-4 service makes a call to Tier-1, it is typical of Tier-1 to respond due to its high tendency of shooting responses. However, it’s not vice-versa, as Tier-1 cannot have dependencies on Tier-4, for its failure is not of much consequence. Putting this in real life situation- In case a user login is failing for the customers, the errors in the internal sales report or functionality of small icons on the site cannot be put on the priority map. You would want to focus on the user credentials than on such trivial errors, to begin with. 

Labels for Service Tiers

All services and operations in the system are assigned a service tier for mere convenience. These tiers are more of recommendations to which adjustments can be done according to your business needs. Following are standard service tiers:

Tier 1

As the tiers are categorized as per priority and importance, the Tier-1 is most critical to the services. Any proposition to failure can affect the customers or company operations. One can include services like user login, processing of credit cards, permission accesses, order accepting and similar operations in Tier-1 services. Any failure in the Tier-1 should be seen as a serious concern for the company and its reputation. 

Tier 2

Second, in line, the tier 2 services are little less critical. These services majorly include backend processes that are not in direct contact with the customers. Its examples can be like, search service or functionality on the site and providing backend order shipment services from the warehouse to the customers. 

It might not represent a complete system failure, but a delay in the delivery due to tier 2 does make a negative impact if not resolved for a long time. 

Tier 3

There are many minor and minuscule services that often go unnoticed by the business but do impact to a certain degree on your business systems if prolonged. 

For instance, services like small icons on the website, recommendations for customers on the site and alerts or suggestive messages on the web page.

Customers may or may not even notice that a Tier-3 service is failing, but they do have a say in the overall repo of the company.

Tier 4

Failure in any of the tier 4 services doesn’t affect significantly. This means it doesn’t reflect on the business as customer experiences are not hampered. It can include services like delay in emails for marketing services or a short-term failure in internal sales reports.  

architecture of service tiers
Source: NewStack

The above figure is very much self-explanatory about the different levels of service tiers and their dependencies. It simply elaborates on the focal points of your development, testing, and efforts when making critical decisions in terms of dependencies.   

The other side of Service Tiers

Though the service tiers prove to be of great utility, the cost of the entire service tier that includes serialization and data transmission can be expensive. Apart from the implementation of the microservices, the optimized functionality has to be taken into consideration for seeking benefits out of that cost. In this process, organizations have noted a negative impact on the microservices as the complexity of the whole system manifolds with the service tiers taking the microservices-based approach too. 

Wrapping Up

The task of labeling the system as per the services makes the information agency easier for the organizations. Through these labels, you can address various issues from policies to procedures of development and prioritize them too. Though there is a learning curve, the benefits it reaps, in the long run, are heaps. 

For more insightful blogs, head to OpenSense Labs. You can also drop a message at [email protected] for any queries or questions.