Categories: ArchitectureTutorials

Architects – How to Calculate Service Availability Time?

This page lists down different aspects which can be considered by solution architects / technical architects / application architects on how to calculate service availability time. Given that microservices architecture style / cloud-native is adopted in modern age applications development, it would be good to know this piece of information.

Service availability is commonly defined as the percentage of time that an application is operating normally.

Availability = Normal operation time / Total Time

The following are different techniques which can be used to calculate service availability:

  • Availability as function of MTBF and MTTR
  • Availability with hard dependencies
  • Availability with redundant components / services

Service Availability as a function of MTBF and MTTR

Service availability can be calculated based on mean-time-between-failure (MTBF) and mean-time-to-recover (MTTR). The following is the formula to calculate service availability:

Service Availability = MTBF / (MTBF + MTTR)

The above can also be used to calculate service availability of downstream services to calculate overall service availability.

Service Availability with Hard Dependencies

Consider the scenario where a service (upstream) depends upon external / downstream services (say, microservices) deployed on different systems. In cases where the downtime of upstream service does depend upon downtime of downstream services, the availability of upstream service is calculated as following:

Upstream service availability = Product of downstream services availability

For example, lets say there are two downstream services A and B on which the upstream service depends. Each of the dependent service A and B has an availability of 99.99%. Given this, the upstream service, theoritically speaking, can no longer achieve availability better than 99.97%. The following is how it is calculated:

99.99% x 99.99%

Service Availability with Redundant Components

If the service makes use of redundant / independent components, the service availability is calculated as following:

100% - (Product of Redundant Component Failure Rates)
Component failure rate = 100% - Components' availability

Based on above formulae, if the service depends upon two independent / redundant service having availability of 99.99%, the service availability will be calculated as the following:

100% - (0.01 X 0.01) = 99.9999%

Hope it helps you in calculating service availability. Please feel free to suggest additional points.


Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Share
Published by
Ajitesh Kumar

Recent Posts

Agentic Reasoning Design Patterns in AI: Examples

In recent years, artificial intelligence (AI) has evolved to include more sophisticated and capable agents,…

3 weeks ago

LLMs for Adaptive Learning & Personalized Education

Adaptive learning helps in tailoring learning experiences to fit the unique needs of each student.…

4 weeks ago

Sparse Mixture of Experts (MoE) Models: Examples

With the increasing demand for more powerful machine learning (ML) systems that can handle diverse…

1 month ago

Anxiety Disorder Detection & Machine Learning Techniques

Anxiety is a common mental health condition that affects millions of people around the world.…

1 month ago

Confounder Features & Machine Learning Models: Examples

In machine learning, confounder features or variables can significantly affect the accuracy and validity of…

1 month ago

Credit Card Fraud Detection & Machine Learning

Last updated: 26 Sept, 2024 Credit card fraud detection is a major concern for credit…

1 month ago