“When I look at overall market share and level of technical sophistication, Amazon Web Services is a sure shot. As a government entity, I don’t want to take chances with something less recognizable or affordable. I wanted a bullet-proof solution for all of our web properties—and AWS is definitely the name that comes to mind,” says Deshpande. The GTA worked with Acquia, an Advanced Technology Partner in the AWS Partner Network (APN), to host the solution on Amazon Web Services (AWS). Cofounded by the Drupal project’s creator in 2007, Acquia provides the platform, service, and support that make Drupal enterprise ready.
Designing for Government Requirements
The GTA uses the OpenPublic version of Drupal, which is specifically designed to provide accessibility, security, and usability for government entities. Its websites are hosted on Acquia Cloud Enterprise, which is built on AWS infrastructure. Acquia Cloud Enterprise currently uses Amazon Elastic Compute Cloud (Amazon EC2), plus Amazon Simple Storage Service (Amazon S3) for web-based data storage and retrieval. It offers high availability to customers by using multiple AWS Availability Zones in one AWS region with redundant servers serving each layer of the technology stack. There are three main components of a Drupal site hosted by Acquia Cloud Enterprise: the reserve proxy caching and load balancing servers, web servers, and database servers.
Nginx is used for HTTP and HTTPS load balancing. When the load balancer detects a web server failure, it will no longer send web requests to the failed server. Acquia's operational infrastructure constantly monitors more than a dozen system parameters on all load balancers. In addition, it monitors the websites behind those balancers to ensure they are accessible and reliable. When the monitoring detects an error, it immediately alerts operations staff.
At the Internet-facing tier, a software-based load balancer is deployed with a hot standby in a different Availability Zone in the same region. The load balancer distributes load across multiple web servers, which are also distributed across multiple Availability Zones. Acquia's operations team adds additional web servers to the resource pool as needed.
At the database layer, a scalable database cluster serves the site with active and passive database servers in multiple Availability Zones. The active master database server continuously updates the passive master database using MySQL replication. In the event of a failure of the master database, the passive database becomes primary through a DNS-based failover.
Migrating Websites Without Downtime
In May 2011, the GTA began the migration process by collaborating with Mediacurrent to move the Georgia.gov website to Drupal on the AWS Cloud. After the success of the move, the GTA and Mediacurrent then migrated approximately 50 state agency websites from the legacy CMS to AWS.
During this phase, Mediacurrent created a corresponding Drupal site for each website and moved four to five sites at a time over to the AWS Cloud. An automated script transferred content from the legacy CMS to the Drupal database. After content migration, the GTA performed QA testing and then turned sites over to the owners for final acceptance testing. The GTA launched the sites by redirecting each domain name from the old servers to the new ones on AWS. GTA accomplished each transfer without any downtime.