Design principles for availability

Availability is the term used to refer to the uptime of your system. It is one of the most requested features by most of the companies during their SLA agreement, as availability is directly propositional to income:

  • Business drives high availability
  • Keep it simple strategy
  • Configuring for higher availability

Here is a more detailed implementation of availability at a very granular level:

  • HA at region level: Make sure you deploy your infrastructure in multiple regions, such as deploying some infra in the US and Asia so that you can failover if one region goes down. For example: AWS regions.
  • HA at zone level: Usage of multi availability zones, such as availability zones.
  • HA at network level: Major vendors enterprise networking gears come with high available functionality where it can failover traffic to an other router/switch. In case they don't detect any heartbeat, then you can perform maintenance.
  • HA at load balancer level: Using highly available services, such as AWS Elastic Load Balancing (ELB) or deploying redundant load balancers using a clustering solution.
  • HA at hypervisor level: VMware ESXi or other hypervisor platforms come with HA protocol, where they make another system the leader when one of the systems goes down.
  • HA at service/at microservice level: Deploying your service on highly available systems, such as Kubernetes pods, AWS EKS, ECS, and Docker swarm.
You can keep eye on your incident trends, and you can have a look on mean time to resolve (MTTR) and mean time in-between failure (MTBF) to get an idea about the availability of your services and whether you have implemented the preceding mentioned key concepts so that your incident should be low on counts.
..................Content has been hidden....................

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