Online businesses must ensure their services/products are available for operation and use as committed or agreed to with their customers. To fulfil this commitment business must define some Key Performance Indicators (KPIs), a measurable value that demonstrates how effectively a company is meeting its business commitments.
Modern infrastructure needs high availability models to ensure it meets availability KPIs
High Availability Models
There are various types of availability models, as above, depending on how you want communication to happen between various layers of infrastructure. It can either be data driven or state driven. The choice lies on how much availability you need to sustain business goals which are are measured by these KPIs -
Service Level Agreement(SLAs): The agreement you make with your clients or users on service uptime & downtimes.
Service Level Objective(SLOs): The objectives you must hit to meet that agreement
Service Level Indicators (SLIs): The real numbers on your performance.
For example, (ref: )
SLA level of 99.99 % uptime/availability results in the following periods of allowed downtime/unavailability:
Daily: 8s
Weekly: 1m 0s
Monthly: 4m 22s
Quarterly: 13m 8s
Yearly: 52m 35s
To achieve this you need an H/A model where all services and data are actively available across multiple locations , hence an active-active model as show in the image above. For instance, multiaz or zonal/regional cloud services.
Load Balancing & Load Sharing
You also need load balancing and sharing between these multisite applications or clusters so that if one goes down the load switches seamlessly to other without any downtime for customers.
There are two kinds of load balancers available in most clouds:
Network or TCP load balancers: These work for layer 3 where routing and switching of data occurs between various devices like routers, firewalls, etc.
Application or http load balancers: These are L7 appliances which provides means user to access information on the network using an application.
Based on your use cases you will need one or both times.
Availability Zones
Every cloud host their physical infrastructure or hardware in multiple datacentres within the same city or country. These data centers are referred to as availability zones(AZs) and the city or country they are in are referred to as regions. Cloud provides capability of stretched infrastructure across these AZs. For example, you can create a database cluster that has nodes spread across multiple AZs.
For H/A active/active setup, multi az is a must on cloud. Always use multi az while configuring your network, system or storage services on cloud.
Summary
Create an active-active infrastructure across creating two or more locations.
Replicate data across these sites in real time.
Load balancing & load Sharing are essential for ensuring the availability levels.
Dry run your H/A clusters at least once a year to ensure you are meeting the SLAs defined.