Decoding Disaster Recovery Scenarios in AWS
We take a look at the flexible, cost-effective infrastructure solutions that AWS offers, allowing you to have a more effective data recovery plan in place.
Join the DZone community and get the full member experience.Join For Free
AWS is known to be a high-performance, scalable computing infrastructure, which more and more organizations are adapting to modernize their IT. However, one must be aware that no system is secure enough to ensure business continuity! Hence, you must have some kind of plan in place for your disaster recovery. With this article, we aim to discuss the top three disaster recovery (DR) scenarios that show the use of AWS:
- Backup and restore
- Pilot light for simple recovery into AWS
- Multi-site solution
Amazon Web Services (AWS) enables you to operate each of these three examples of DR strategies in a cost-effective manner. However, it's also essential to note that these are only examples of potential approaches. Variations and combinations of these are also possible.
1. Backup and Restore
In most of the common environments, the data is usually backed up to tape and sent off-site on a regular basis. However, this method has the longest recovery time. Amazon S3 is the perfect destination for backup data. It is designed to offer nearly 99.999999999% durability of objects over a year. Transferring data across Amazon S3 is mainly done through the network to make it accessible from any location. Numerous commercial and open-source backup solutions provide backup to Amazon S3. In addition, the AWS Import/Export service allows the transfer of vast data sets by just shipping storage devices directly to AWS.
The AWS Storage Gateway service facilitates snapshots of on-premise data volumes to be copied transparently into Amazon S3 for backup. You can consequently create local volumes or AWS EBS volumes from these snapshots.
For the systems that are operating on AWS, clients can also back up to Amazon S3. For example, snapshots of Elastic Block Store (EBS) volumes and backups of Amazon RDS are stored in Amazon S3. Also, you can copy the files straight into Amazon S3 or choose to create backup files and copy them to Amazon S3. Numerous backup solutions store your backup data in Amazon S3, and these can also be used from Amazon EC2 systems.
However, backing up the data is just half the story. The recovery of the data in a disaster scenario needs to be tested and achieved quickly and reliably. Clients must make sure that their systems are configured to appropriate retention of data, security of data, and that they have tested their data recovery processes.
Figure 2: Restoration from S3 backups to AWS EC2
Here are some essential steps for backup and restore:
- Pick a suitable tool or approach to back up your data into AWS
- Make sure that you have a proper retention policy in place for this data
- Make sure that suitable security measures are taken for this data, involving encryption and access policies
- Constantly test the recovery of this data and restoration of your system
2. Pilot Light for Faster Recovery Into AWS
The phrase "pilot light" came into the picture from a "gas heater." Imagine: a gas heater is a small idle flame that's always on, which can instantly ignite the furnace to heat up a house as and when required. The backup and restore scenario is similar to this gas heater scenario. However, you must also make sure that the most critical core elements of your system are already configured and operating in AWS (the pilot light).
Infrastructure components for the pilot light usually involve database servers, which can replicate data to Amazon EC2. Depending on the system, other crucial data outside the database must be replicated to AWS. This is the decisive core of the system (the pilot light) around which all other infrastructure elements in AWS can instantly be provisioned (the rest of the furnace) to restore the entire system.
The pilot light approach gives a quicker recovery time than the backup and restore scenario mentioned above because the core sections of the system are already operating and are continuously kept up to date. However, there are still some installation and configuration tasks to recover the applications completely. AWS allows you to automate the provisioning and configuration of the infrastructure resources, which can be an essential benefit to save time and improve protection against human errors.
Here are some essential points to remember during the preparation phase:
- Set up your EC2 instances to mirror or replicate data
- Make sure that all supporting customized software packages are available in AWS
- Create and maintain Amazon Machine Images (AMI) of key servers where faster recovery is needed
- Continuously run these servers, test them, and implement any software updates and configuration modifications
- Automate the provisioning of AWS resources
In the recovery phase of the pilot light scenario, key points for recovery include:
- Beginning application EC2 instances from customized AMIs
- Resizing and/or scaling any database/datastore instances, where required
- Modifying DNS to point at the EC2 servers
- Installing and configuring any non-AMI-driven systems, typically in an automated fashion
3. Multi-Site Solution Deployed on AWS and On-Site
A multi-site solution operates in AWS and on existing on-site infrastructure in an active-active configuration. The data replication approach that you should employ can be defined by the selected recovery point (RPO). Like Amazon Route 53, a weighted DNS service is employed to route production traffic to different sites. A portion of traffic will go to the infrastructure in AWS, and the rest goes to the on-site infrastructure.
In case of an on-site disaster, you can modify the DNS weighting and send all traffic to the AWS servers. Thus, the capacity of the AWS service can be rapidly expanded to maintain the entire production load. EC2 Auto Scaling can be employed to automate this process. You might require some application logic to identify the failure of the primary database services and cut over to the parallel database services operating in AWS.
The expense of this scenario is defined by the production traffic, which is handled by AWS in regular operation. In the recovery phase, you need to only pay for what you use and for the duration that the disaster recovery environment is utilized at full scale. You can considerably reduce costs by purchasing Reserved Instances for always-on AWS servers.
Here are some key points for preparation:
- Set up AWS environment to replicate the production environment
- Set up DNS weighting or related technology to distribute incoming requests to both sites
Some key points for recovery in multi-site solution:
- Modify the DNS weighting so that all requests are transferred to the AWS site
- Have application logic for failover to make use of the local AWS database servers
- Consider employing auto-scaling to automatically right-size the AWS fleet
You can also further enhance the availability of the multi-site solution by devising Multi-AZ architectures.
Several possibilities and variations for DR do exist, and this article highlights some of the most popular patterns, ranging from simple backup and restore to fault-tolerant multi-site solutions. AWS offers fine-grained control and several building blocks to develop the fitting DR solution, given your DR goals (RTO and RPO) and budget. In addition, the AWS services are available on-demand, where you pay only for what you use. This is a crucial advantage for DR, where significant infrastructure is required instantly, but only in case of a disaster. This article has shown how AWS offers flexible, cost-effective infrastructure solutions, allowing you to have a more effective DR plan in place.
Opinions expressed by DZone contributors are their own.