Today I got an email from something in a Wordpress instance. I run it on a small VPS cloud provider, and it is super easy to spin up, and relatively inexpensive to operate. I am a fan of AWS, but have always held off moving this particular instance over because it didn't really seem necessary.
To fix the minor error would take a few minutes. I decided to add an hour to the time, and change my methodology. I build a Docker deployment for Wordpress with NGINX to ease the rebuild and this lets me make changes in testing very easily. I already use AWS S3 to run a CDN and to cache uploads, so the file system is pretty portable. The end result is that I copied my Wordpress folder to an Amazon Linux AMI, built the Docker deployment in the init script, and all was completed in about an hour.
Why Did Amazon Make Think This was Worth it?
Moving the site to AWS will be slightly more expense for the day-to-day hosting. What does change is the future of what I can do with the website. Now that I am in AWS, I can do the following:
- Deploy a certificate for a full HTTPS site (Free with Certificate Manager)
- Deploy an Elastic Load Balancer to point to my instance using HTTPS
- Build an image (AMI) from my running instance to deploy a second one for failover/load
- Store the Docker image inside AWS for secure access
- Create auto-scaling options for the site using native infrastructure
This website has gone from 30$ per month and being a single point of failure to now costing 40$ per month plus some minimal per-request costs which will add up to about 5$ per month if traffic is consistent.
DDoS protection is turned on by default because of AWS Shield, and I can also use the same core build to create an containerized, auto-scaling deployment using the Elastic Container Service (ECS) next. VPC security protects my instances with SSH keys and network firewall rules which are deny-default requiring me to open them up to have remote access if needed.
Because all of these little extras, it drew me to re-platform this website on AWS. It also makes me look towards an entire CI/CD framework using the same infrastructure for future sites.
Customer-Centric = Solving Problems You Didn't Know You Had
Amazon did something very right here. They solved a number of issues that I had not anticipated I was really having. Once the door was open to look at re-platforming, I could make the jump with relative ease. It also made future deployments become an AWS-first approach when I'm deciding on potential platforms. It isn't that AWS is the only answer, but they gave me a large toolkit of services with close to the same costs as my "simple" VPS.
Should you look at all options when deploying to cloud or on-premises? Of course! But look at more than just the single use-case you have when you do. You may find that the platform you're looking at could be solving problems that you didn't know that you had.