With your servers in the cloud after a migration project, did you think about high availability (HA)? Although cloud providers ensure redundancy on hardware level like redundancy of network connections, power supplies and storage, they do not provide a system redundancy on a higher level.
The level where a complete server, not only the hardware but also the service, is redundant needs to be implemented by you.
This post discusses the different types of service redundancy that can be found in the cloud.
What is High Availability
Let’s start by explaining the main purpose of high availability.
The main purpose of high availability is pure and simple:
- Minimization of data loss and
- Minimization of system down time
In the cloud we can see following types of high availability implementations:
Which type of HA implementation is best suited, depends on the service levels you negotiate with your customers (external or inter-company) and the budget you want to spent on high availability. Let us discuss briefly the different options.
1. Multi instance (local clustering)
The most basic form of a HA implementation. I initially used this type of HA to test the actual scenario I wanted to implement.
As I use Linux servers, the HA tool used is Pacemaker/Corosync, to cluster ftp, httpd. For MySQL, I choose for master-master replication which in my use case does the trick. To administer the cluster, I use Linux Cluser Management Console
Basically it looks like this:
2. Multi zone (different datacenters)
A multi zone implementation is also commonly used with on-premise infrastructure. In this type of implementation the servers providing the services are spread over different data centers. With City Cloud having two data centers available at the moment (Karlskrona as main data center and Stockholm), and more to come in the near future, I opt for this type of high availability.
3. Multi region (same cloud provider)
With a multi region implementation, the availability zone is being spread over different countries where the cloud provider is active and where global load balancing/high availability is needed. Based on the user’s geographic location, the user will be directed to for example a server (or servers) in the US, Europe or Asia. If one region becomes unavailable, traffic is redirected to the user’s closed location.
4. Multi cloud (different cloud providers)
A multi-cloud strategy reduces mainly risks associated with having a single provider, and avoids vendor lock-in. Personally, I didn’t yet see many companies who are subscribing to such a strategy whoever this option should not be discarded.
Cloud computing offers a great deal of advantages and is making high availability also affordable.
Many organizations successfully run critical services on the cloud as they architect correctly and include the high availability aspects. Now it’s your turn..