If you’ve been running your site on WordPress for a while and have done things right, you might have a high-performance and high-traffic website on your hands. When you’re looking to migrate to Amazon Web Services, that could mean a potential headache. Migrating a large site with a lot of content and movement might seem daunting, but there’s a right way to go about it. Learn about scaling WordPress to AWS here!
The idea behind this post is showcasing how to identify the layers and services you’ll need to run your high traffic WP site properly.
Let’s delve a little into a few critical IT definitions to understand what we’ll be doing.
This is what the ideal, highly scalable WordPress architecture should look like:
What exactly are the Amazon Web Services, and what do they do?
Virtual Private Cloud
VPC allows enterprise customers to have a private network to place their cloud computing sources. Nobody outside the enterprise in question has access to this cloud.
Not unlike a website’s server, a public subnet is a subnet to place the resources we’re interested in making public. It’s associated with a route table, which in turn leads to an Internet gateway, thus connecting the VPC to the broader web.
Contrary to the public subnet, the private one is the place to deploy all the resources we want to be hidden from outsiders. For our current architecture, we’ll place the database on this application.
This content delivery network is dedicated to sending content faster to end-users. This is done through a global network of proxy servers that cache heavier content, such as videos and other media. By using CloudFront, users will receive the multimedia content on WordPress through the closest edge location available, in turn making the experience quicker.
S3 Or Simple Storage Service
S3 works alongside CloudFront to make the end product faster for users. This storage solution is where WordPress will get its content whenever it scales, whether it’s up or down. It’s the very scalable structure that Amazon uses on its global network.
EC2 or Elastic Compute Cloud
This AWS is focused on acquiring extra computing power by allowing companies and other users to rent “virtual computers” to run their respective applications.
RDS & Multi A-Z
An entirely free service managed by AWS, it enhances the durability and availability of Database Instances. In all, this is where we’ll host the WordPress Database. Enabling the Multi-Availability Zone feature helps a lot with availability. Plus, this service has an excellent feature for scalability: RDS instances can replicate among themselves.
One of the most basic services on the AWS arsenal, it’s a Domain Name System (DNS) of a very scalable and available nature. It allows users and companies to manage traffic and upcoming all-around requests.
Also called Elastic Load Balancing, this application distributes traffic load among the different available instances. It allows handling the scalable load across different availability zones or directly handling traffic within a single availability zone.
This application will be the very foundation of our scalable and highly available WordPress site. Auto-scaling automatically adjusts the site’s capacity to become more efficient, namely steady performance at a low cost. Thanks to this, the outside public will receive the least possible amount of instances, and whenever something goes wrong, auto-scaling will replace it with a healthy instance.
Cloudwatch is the AWS monitoring service, and it’ll track predefined or default metrics, including networking, and memory usage.
EFS or Elastic File System
Running on the AWS public cloud, it’s a cloud storage service dedicated to applications and workloads within the system. It replicates content faster, yes, but we might not use it that much when solely sharing WordPress files.
Once everything is set in place, this is what your traffic flow will look:
When setting up the services above, your site will be able to serve millions of visitors, all of whom will get the same quality. Whether you’re experiencing a surge in traffic or a particularly low moment, the site will be able to meet your needs. Here’s how it will look when your traffic increases:
Meanwhile, your AWS resources will look like this:
Now that you’re familiar with the AWS functions above, here’s what you should be crafting for the optimal site architecture:
Now you’ve built the proper architecture for a scalable WordPress site on Amazon Web Services! Here are a few good practices:
While it may sound a little complicated, Amazon Web Services makes it very easy to build the proper architecture to function with WordPress. It’s just a matter of knowing what you’re crafting.
At Bright Vessel, we’ve worked with AWS for a long time, and we have the tools and a team of experts to help you sail into this new adventure. Contact us for more information.