Why AWS Makes High Availability Architecting a Breeze
Architecting and building a reliable, highly-available (HA) infrastructure in your on-premise datacenter can be a costly endeavor. Besides costs, it is usually only redundant at the component level within a single data center. For the majority of organizations, running production applications across multiple datacenters is simply cost prohibitive. Because of this, the general method is to run a local HA setup with offsite backup storage.
By moving your applications to AWS, businesses not only benefit from the many features of cloud computing but also immediately gain improvements in the availability of their services. With the proper architecture, businesses will have a production environment with a higher availability level without a great deal of additional complexity or processes.
With that, let’s explore some of the services where we get this easy out-of-the-box availability, durability, and redundancy. We’ll start out with one of the foundational elements of a virtual private cloud (VPC), the availability zone (AZ).
You can think of an AZ like a data center. It is a completely separate location with separate power and connectivity. Each AZ is designed to be completely isolated from each other so failures in one do not affect another. As you stand up your infrastructure, simply place the secondary node in another AZ; point your elastic load balancer (ELB) at them and you are now balancing across data centers. That’s an impressive gain and can be realized with only a few clicks of the mouse or programmatically with a cloud formation template.
AWS Elastic Load Balancing
The AWS Elastic Load Balancing (ELB), is another component that provides application availability. The ELB automatically scales its own capacity to handle the increase of traffic to your application. It also integrates with the Auto Scaling service which can trigger the addition of nodes to be added based on a metric such as latency duration to your instance. This will keep your application performance at the desired service levels whether you are experiencing heavy traffic periods or an issue with the application itself.
AWS Auto Scaling
The Auto Scaling (AS) service allows you to easily keep your application running the desired number of instances. It has the ability scale your instances up or down based on conditions you specify to meet your performance requirements. This service makes it easy for you to only run the amount of instances required for the current demand and keeps you at the most cost-efficient levels by following traffic patterns and not having to run in an over-provisioned state.
We have barely touched the surface of AWS services and as you can see, some of the most basic AWS services provide amazing out-of-the-box availability and scaling without having to refactor most applications. Just by using three simple services, multi-AZ, ELB, and Auto Scaling, you can be on your way to a quick-and-easy HA architecture. In an upcoming post, we’ll look at storage, database and backup options in AWS. In the meantime, if you have questions about migration or architecting on AWS, reach out to a Relus Cloud Representative today.