Hello and welcome to our blog, today we will be going over why you should run WordPress in AWS vs using a shared hosting provider. We will review the benefits as well as the potential difficulties that come with leveraging AWS for your blog or woo commerce store.
High Level Overview (Pros vs Cons)
Lets get started with a simple list of some of the clear benefits of running WordPress in AWS, or rather using AWS for WordPress hosting. We will elaborate a bit more after the high level overview below.
- Full control over your hosting environment.
- Dedicated resources for your website.
- More secure environment.
- Better website performance.
- Easy integration with other AWS services.
- Potential to “auto-scale” in load balanced environments.
Now that we provided a quick glance at the pros are above, lets talk list some of the potential cons that come with running WordPress in AWS.
- More costly than shared web hosting in most cases.
- Requires more technical knowledge to build and maintain the infrastructure such as servers.
- Auto scaling requires additional considerations (most blogs won’t need auto scaling though).
With the cons listed above, keep in mind that an AWS managed service provider can take care of the technical considerations as well as potentially reduce the AWS cost through measures such as reserved instances and instance savings plans. This allows you to focus on growing your site without needing any technical knowledge yourself.
Expanding on running WordPress in AWS
So with the high level overview out of the way, lets dig a bit more into the positive aspects of using AWS for WordPress hosting. (By the way, our website is running WordPress in AWS!)
WordPress Security & Performance
One of the greatest benefits of running WordPress in AWS is the massive increase in performance as well as security compared to any shared web host. But what makes the performance so much better you might ask? It comes down to how shared hosting works, typically shared web hosts cram as many customers as possible onto each web server while limiting individual site’s resources such as memory and script execution times. As you can likely imagine, most shared web servers are also not optimized for a specific script such as WordPress, due to different clients having different needs.
As if this weren’t bad enough, there are also security considerations in this scenario. When one customer is breached, all customers are potentially breached as the sites live on the same web server. This is why shared hosting is generally considered an absolute no-go for online stores or any website that handles sensitive information.
With AWS you will have what is called an EC2 Instance, which for the purpose of this guide can be easiest explained as being a virtual private server. This basically translates to your website running on a private server with dedicated resources such as CPU, disk, and memory. Beyond this though, you also have access to make changes to the actual underlying servers and services, allowing you to tweak your web server for optimal performance. Generally speaking your website will almost always perform better on dedicated resources. Your security is also greatly increased as you are no longer sharing a server with other clients, assuming your infrastructure and server are setup following best practices.
Integration With Other AWS Services
AWS currently offers over 170 different cloud services, some of which can have a tremendous impact on your site’s features and performance. Having your WordPress site running in AWS EC2 means you can use IAM role based authentication to easily connect services such as S3 (storage as well as potentially serving media) and Cloud Front (AWS’s content delivery network which delivers your media from whichever global location is closest to your visitors).
These are just a couple of quick examples, there are countless other integrations that are possible as well such as AWS Elasticache (memory based caching), or AWS RDS (separate database server). Something important to remember here is that each AWS service has its own additional costs.
Looking for AWS WordPress Hosting? We offer a low cost AWS WordPress hosting service that takes care of all the technical details, cost optimization, and provides monitoring/alerting. If you are interested, you can take a look at our AWS WordPress Hosting service!
Auto-scaling and Load Balancing
Last but not least, one of the optional benefits of leveraging AWS is the possibility to auto-scale your hosting environment behind a load balancer. The simplest explanation of what a load balancer does for you is it distributes incoming visitors/traffic among multiple servers). What this basically translates to is running only the resources you need when you need it. An example scenario would be if you receive low traffic in the mornings, you might run 2 web servers, while auto scaling up to 6 servers in the middle of the day when traffic is much higher. This can all increase costs considerably so this is something we don’t generally recommend auto scaling and load balancing for smaller websites.
Generally this would be something you will deploy under the following scenarios:
- You have a lot of traffic.
- You need high availability (servers are distributed among multiple data center locations).
- You want self healing (servers are automatically replaced when they become non-responsive).
There are some technical considerations when running WordPress in AWS with auto-scaling, for example the servers can be replaced at any moment meaning any data uploaded to the instance is also gone when this occurs. This means you will be required to offload your media to S3 or another file storage service, luckily this can be done via WordPress plugin once the infrastructure is setup. You will also need to keep your database on another server, typically this involves an RDS instance.
Summing Things Up
Now that we have taken a look at the benefits and possible hurdles of getting your WordPress into AWS, you can make an informed decision on whether you would like to get your site into the cloud. If you happen to have any questions or concerns, please feel free to comment below and we will be happy to help!