Case Study - WordPress Site Deployed to S3/CloudFront

Concrete Software’s cloud services team implemented an automated framework to serve the WordPress website in a highly available, scalable, fast, and secure manner by leveraging AWS S3 and CloudFront technologies.

Problem Statement

Reliable, Scalable, and Low-cost WordPress Site

Concrete Software’s website provides a place for customers to view the company’s games, services, news, promotions, and contact support should they have any questions. The site is setup within WordPress and previously it was hosted on a single Linux server. This lead to several issues that we needed to address:

  • Latency - Because our games are played by customers around the world, the site needed to be globally fast. When using just a single server in the United States, our overseas customers experienced significant latency accessing the site.
  • Availability - We wanted the site to be fault tolerant and highly available. When using a single server, there were instances where a single AWS Availability Zone outage or a single software malfunction brought the entire site down.
  • Scalability - We wanted the site to be able to handle any traffic size, including traffic spikes around a new game release. Previously, this required running a powerful and expensive server to handle those spikes.
  • Security - We wanted to make sure the site was secure both for our employees to edit, and for our customers to access. Our single server did not support HTTPS connections, forcing our customers to submit their contact information over non-secure HTTP connections when filling in the contact form.
  • Low, On-Demand Pricing - We wanted to lower the cost of running the site, paying only for what we used, when we used it. The previous solution required a powerful server to handle spikes in our traffic load, even when a smaller server would have been sufficient the majority of the time. Additionally, developer resources were spent on maintaining the server, to apply updates and fix failures.
  • Content Updates - Non-technical employees supplied content to the site and still needed to be able to edit it using WordPress or a similar tool that does not require HTML coding.

Solution Architecture

WordPress Site Deployed to S3/CloudFront

Concrete Software’s cloud services team designed and implemented an automated framework so the site is still edited using WordPress, and is published from WordPress to AWS S3 and CloudFront, making it more available, scalable, secure, and fast. The framework utilizes the following AWS cloud resources:

  • WordPress EC2 Instance - Allows our non-technical employees to make changes to the site and see their edits in real-time. Since the WordPress site only serves our employees, a t2.small instance is all that is required.
  • Simply Static Wordpress Plugin - We modified the Simply Static WordPress plugin to integrate with AWS. The plugin generates static HTML, CSS, and JavaScript files from WordPress, and then uploads them to an S3 Bucket. The plugin also automatically invalidates our CloudFront Distribution.
  • CloudWatch Event Rule - The CloudWatch Event Rule runs weekly to generate an AMI of the WordPress EC2 Instance. This provides a backup that we can restore from with the click of a button should anything go wrong.
  • VPC - The virtual private network is setup to only allow certain IP addresses to access the EC2 Instance. Even though WordPress is a popular target for hackers, this keeps our WordPress instance secure.
  • sendEmail Lambda Function and API - This Lambda function and API Gateway allows our customers to send us a contact email securely over HTTPS without us having to manage a server. Additionally, Lambda is scalable and highly available, allowing us to respond to any traffic load or pattern.
  • S3 Bucket - We utilize S3 to serve our generated static files. S3 offers several advantages over a traditional server-hosting model:
    • - S3 files are replicated across Availability Zones within an AWS Region, so high availability is automatically built in.
    • - S3 is infinitely scalable, so the site can easily handle and respond to any traffic pattern (including traffic spikes).
    • - S3 is cost effective - by paying only for what we use, we significantly reduce the cost required to host the site.
  • CloudFront Distribution - CloudFront provides a global content distribution network (CDN) for the site, allowing all of our customers to access the site in milliseconds. Because the site is static, there are no round-trips to a central server - all content is served from the CDN at global edge locations. Additionally, CloudFront allows us to serve all of our customers over a secure HTTPS connection, ensuring their privacy.

Project Outcomes

The WordPress website running on S3/CloudFront has proven to be a success.
  • Initial page load times from across the world have reduced from 3.67s to 2.16s. (41% lower)
    Cached page load times have reduced from 2.73s to 0.776s. (72% lower)
  • We haven’t had any site outages since implementing the new site. Because of this, we’ve spent very little time maintaining the site.
  • Customer information can be submitted securely over HTTPS on our contact form.
  • We were able to reduce our overall monthly costs by 64%.

TCO Analysis Performed

The main costs are the EC2 instance and CloudFront outbound data transfer fees. We use a smaller reserved EC2 instance to reduce its cost. The outbound data transfer fees were the same as the previous implementation, just charged through a different service. We are only charged when a customer visits the site, so we can be assured that no resources are wasted.

Find out More

Contact us to find out more about this case study and our cloud services team.

You can also email us directly at