Commonwealth War Graves Commission (CWGC) is an intergovernmental organisation of six independent Member states whose principal function is to mark, record and maintain the graves and places of commemoration of Commonwealth of Nations military service members. In particular, the charitable organisation also commemorates the 1,700,000 men and women of the Commonwealth forces who died in the two world wars and records details of the 67,000 Commonwealth civilians who died "as a result of enemy action" in the Second World War. The website archive is used by thousands of people every day trying to find out more information about cemeteries, burial plots and memorials.
The summer of 2016 would mark the 100-year anniversary of the Battle of the Somme, one of the most notable battles of World War I, and one of the deadliest. CWGC knew this would trigger a large, organic uptick in interest in their information sources. A new, interactive service, ‘The Battle of the Somme’, was therefore planned to be added to the core CWGC website to serve the enquiries. CWGC now faced the dual problem of making the website “heavier”, combined with unprecedentedly high traffic volumes, so needed to ensure that the website functioned well and the new resource was able to withstand the influx of interest without compromising on availability or user experience.
The platform migration needed to be tested and updated in real-time through the back-end, without impacting on the front-end experience. With such a peak of interest anticipated, site maintenance could not be allowed to impact functionality or availability, nor could CWGC afford any downtime, making effective back-up provisioning essential.
In 2014, the anniversary of the start of World War I, KCOM assisted CWGC’s IT team to deploy wholly new content from the CWGC archive to be serviced from on premise servers to Amazon Web Services (AWS) to allow users to search online for details of Commonwealth war dead and download materials such as memorial details and grave locations. The new AWS deployment - based on Amazon S3, Amazon Cloudfront and Amazon Route53 – provided a more scalable, reliable and high availability service than its on premise predecessor.
“KCOM is an ideal partner for us because of their superior knowledge of AWS deployments and scaling, as well as their deep technical expertise in cloud-based environments. The success of this project would depend on exactly these skills.” Will Webster, Head of IT, Commonwealth War Graves Commission.
Considering the successful migration of the CWGC archive in 2014, and having ensured its availability since, the decision was made to move the entire CWGC website from a traditional hosted model to cloud/AWS hosted service, utilising native AWS services wherever possible. KCOM was tasked with ensuring this site migration was undertaken effectively and to budget.
Migrating the resources and tools was a substantial project, requiring constant testing, updating and maintenance, and so KCOM provided 24/7 monitoring and support to support the CWGC site transition. This ensured the project schedule was maintained as the workload and complexity of live maintenance on such a large website presented a risk to its overall availability and reliability.
“The aim of the project was two-fold: first to achieve a scalable infrastructure for the CWGC site which could cope with peaks in demand, and second to anticipate that the new site hosted in AWS could cope with traffic generated from media events around the Battle of Somme centenary commemoration,” Will Webster, Head of IT, Commonwealth War Graves Commission.
In 2016, KCOM and CWGC also worked together to design and implement a search tool for the archive based on Amazon Cloud Search. KCOM provided monitoring services and logs for error reporting, skills and maintenance resources to rapidly address any issues. The AWS implementation provided essential resilience and a much more stable and scalable solution for the archive, particularly for times of high demand. There was also a point in July where the on premise solution could simply not cope with continual changes so KCOM’s development team routed a temporary switch to AWS in order to alleviate the situation.
Immediate results were notable: in many cases response and load times were reduced by as much as 70% and the service saw a marked performance improvement, all whilst having to manage rapid application and cycle changes as new components were developed on the fly for various CWGC events.
The CWGC archive project originally went live in July 2014, on time and to budget. In 2016, the new cloud-based environment was first successfully deployed over the summer, with planned completion by end of June to cope with anticipated peaks in user demand and media events planned around the Battle of the Somme centenary celebrations. As of August 2016, the website has been wholly migrated to an AWS environment, and KCOM continues to propose solutions to CWGC on increasingly placing resources into a public cloud environment.
The solution delivered to CWGC encapsulates Source Control (AWS CodeCommit), asset delivery triggering (AWS Lambda from AWS S3), Continuous Integration/workflow management (Jenkins), Configuration Management (Chef) and AWS CloudFormation (orchestrated with the AWS CLI & shell scripting). AWS Route53 is used for managing the naming of resources.
The challenge was to speed up the delivery of updated Base AMI (Amazon AMIs), configuration or application code for a re-platforming of the CWGC website. Previous processes used some AWS CloudFormation and Chef, but were not optimised for repeatability and environment portability.
The solution takes the various inputs and combines them, automatically on the arrival of an application version in AWS S3 or on a manual trigger to create and validate an AMI. UAT deployments are then created automatically including all AWS Identity and Access Management (IAM), Amazon EC2 Security Group, AWS Auto Scaling Group and AWS LoadBalancer components. Instances are also integrated to Route53 ensuring that ‘cluster membership’ is signalled in Tags, configuration and DNS. A Blue/Green deployment methodology is used to ensure that new deployments can be fully tested in-situ before being put live. Jenkins is used in conjunction with AWS Lambda S3 triggers to orchestrate each step in the process.