Migrating business-critical applications to the cloud needs planning in advance if you are to ensure your applications remain highly available. With some good planning, we can achieve the four nines of availability or even more.
There are some key considerations that need to be made within this planning process and I would just like to highlight a few of them with regards to the components which make access to our applications possible.
When you have two or more VMs configured across multiple availability zones, the SLAs for all three major cloud providers will guarantee 99.99% availability. When two VMs are spread across two availability zones, at least 99.99% availability is guaranteed. So, what about three, or four VMs spread across three or four zones? Could this guarantee a possible eight nines of availability? It does seem to make sense, although the SLA will never state that.
A complete understanding of the network links between database servers, application servers and web servers and where these may fail is needed for your application to be available. A tolerable latency range is essential for all resources to which the application depends on to run smoothly.
Downtime has the biggest impact on availability and is something that can be controlled. It can be planned or unplanned and once issues are pinpointed, they can be addressed to improve availability. If unplanned downtime is causing the majority of issues, you can easily analyse what is causing it. It may be due to such things as a preventative maintenance, or the age the of the machine, etc.
Block storage is a technology that is used to store data files on your cloud-based storage environment. The Storage Area Network (SAN) places the separate blocks of data wherever it’s most efficient. The problem is some storage SLAs give you only 99.9% availability which would equate to 53 minutes of downtime per month.
When planning for application availability, it’s good to always include storage redundancy to decrease this downtime. The more copies of data we have distributed across two different disks in different availability zones, the more likely we’ll be able to recuperate from a failure and achieve the eight nines! It’s a mitigation of the downtime process frequently coupled with cloud storage.
The application itself
There are applications which can provide redundancy by load balancing between multiple instances of the same application. When one server is lost, the load balancer removes it until it becomes responsive once again.
It would be wise to check that an application has this luxury or whether it needs a little more monitoring when calculating availability.
So take the time to investigate all the connections of what holds your availability together, calculate what can be ultimately achieved, explore any network weaknesses and review your applications and dependent services themselves. It is considered pretty much standard now for SLAs to offer the four nines of availability, so be cautious about any SLAs that cannot guarantee that baseline.