Uptime Service Level Agreement

Earlier we talked about fault isolation and the benefits of a microservices architecture in avoiding a situation where one component of an application would take the entire application down. We mentioned the need to isolate our services from dependent services to avoid and contain any kind of faults in those services. Because the application itself is composed of a number of services, one of the things to consider is the combined SLA (Service Level Agreement) of those services.


Image Service Level Agreement (SLA)

An SLA is part of a contract that defines expected levels of service offered by a service or application. More often than not it includes a measure referred to as either availability or uptime. This is expressed as a percentage and often referred to as three nines (99.9%), four nines (99.99%), or five nines (99.999%). In the example of three nines, the SLA would stipulate that the application be up and available for 99.9% of a period time. If that period of time was 30 days, the application would be permitted to be down and unavailable for only 43 minutes and 12 seconds. If the SLA for the same application and period of time was four nines (99.99%), the permissible downtime would be shortened to 4 minutes and 9 seconds.


If each of our services has an SLA of 99.9%, which means an individual service can be down for roughly forty-three minutes every month, we need to consider the fact that they could and are statistically likely to go down at different times. Now let’s say the application is dependent on three services, each of which can be down for forty-three minutes a month at different times and still meet their SLA. This means the combined effective SLA for our application is now approximately two hours of outage each month.

Detecting the failure of a dependent service and gracefully dealing with it can help keep the application’s overall SLA higher. The application might be able to temporarily provide service with limited functionality in the event that one of its service dependencies is experiencing issues. These are some important considerations when designing the application.

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

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