Case Study

Disaster Recovery Site Set Up By Overlaying Devops

Written by Rob | Nov 23, 2021 9:09:19 AM

Challenges

The Financing module is an independent app developed by a third party for providing quotations for tractor financing. The client required the setup of a disaster recovery site if the primary data center goes offline. The main challenge was the requirement of below 5 min of data loss in the event of a failover to the disaster site. Another challenge was to keep the cost of the cold site as low as possible. Because of the way the application was designed, the IP address of the database server could not be changed. This resulted in the requirement of the DR site having the same IP address scheme, CIDR, and IP for the database server.

Our Solution

We leveraged AWS cloud for creating the secondary site and set up a VPN tunnel to the VPC within AWS. For the database, we set up a bastion router based on IPTABLES and leveraged the DNAT, SNAT, and mangle tables to create sudo interface of the databases (primary onsite and backup in AWS ) to communicate. The IP that the primary DB is connected to is the sudo interface and the application connects to the physical interface. Over this architecture, we set up Microsoft SQL replication. For the application servers, we were able to pull the updated code from artifact repository where the latest build is uploaded. We also created an automated script using Ansible (open source) to bring up the entire infrastructure in one go. Once the script is triggered, the entire infrastructure can be scaled up within 5 min to start serving live traffic.

Results

While the requirement of having a warm data center with a low recovery time is highly desired by all organizations, it is challenging to implement this by using off-the-shelf solutions as they are not cost-effective. By leveraging open source technologies like IPTABLES , Linux routing the ansible all the client requirements were met. The total overall cost of running the DR site is two thousand US$ per annum.

Tool Set

AWS EC2 - VM Linux routing, AWS – VPC, AWS VPN - On prem to Cloud connectivity