Improving Website Reliability through Modern DevOps
The client was unhappy with how their marketing website was hosted previously and asked us to help create & stand up a better performing WordPress website on AWS for their primary marketing page. Making the site highly available was challenging since WordPress traditionally runs on virtual machines.
If CleanSlate had not stepped in to engage, the site would have remained slow and would not have had the performance and high availability KAR desired; if there was an outage on the server, they were running it in, they could have had outages.
The solutions we provided for the client allowed them to host a highly available and scalable WordPress site with minimal intervention. Using ECS Fargate, we could handle demand better by scaling out with Serverless Fargate Containers in a fraction of the time it would usually take to spin up an instance. This allowed us to make the site self-healing by using an autoscaling group. Finally, by using Fargate containers with an ALB and ASG, we could make this application highly available by creating containers in different availability zones.
Having multiple containers spread across multiple availability zones helped to make the site more resilient, but it also presented a challenge. WordPress stores essential data and resources on the instance/container it runs on, meaning that there could be differences between the multiple containers. We solved this issue using AWS EFS, which allowed all containers to share a standard directory and store all files in the same network location. By using EFS, we could ensure that the WordPress containers would stay in sync with each other.
A key component of the solution was the use of AWS CloudFormation utilizing nested stacks. The client expressed interest in managing this solution utilizing existing CI/CD systems. In order to help the client easily manage the solution and incorporate it into their CI/CD pipelines, we used nested stacks to allow for modular use of the CloudFormation components. For example, a nested stack was created to be responsible for the creation and management of the underlying VPC. By providing modular CloudFormation components, this would allow the client to use these scripts for more than one environment of the created solution, but also leverage them for new products.
Results & Additional Info
They had a better and more reliable marketing website they could present to their customers. It was more stable and more performant, and their downtime was heavily reduced. We helped decrease the time for infrastructure deployments to minutes instead of hours by using AWS CloudFormation.
more success stories
We work with medium- to enterprise-size organizations looking for a trusted partner to build and implement cloud solutions that enable growth and scale, flexibility, innovation, and more.
Thinking about moving to the cloud or assessing your current cloud environment? You probably have questions. We’ll get you the answers you need to help you make the right decision.