Cloud

WordPress

WordPress is the most popular Content Management System for websites. In January 2015, Wordpress was used by more than 23.3% of the top 10 million websites (wikipedia).

Unfortunately, when you download Wordpress, it's not designed to run properly on Cloud providers because it never adopted newer methodologies. Wordpress doesn't scale easily, it lacks native support for a Content Distribution Network, and upgrades aren't always seamless and often involve downtime.

Deploy like a boss

Today, you shouldn't be deploying software on-premise or on the cloud that isn't following a methodology to avoid software erosion. Luckily, someone in the community already has redesigned WordPress, to enable newer development tools, easier deployment and an also an improved folder structure. It's called bedrock and can be found on Github.

Unfortunately, it still isn't stateless and it lacks native support for a Content Distribution network. Using this install, we would still have problems to horizontally scale our WordPress install. There is definitely room for improvement.

1-click deploy

At in4it, we created a DevOps platform to easily provision services in the cloud. The next step is to add popular applications that can be deployed in a few clicks, which also scale out of the box, are reliable and resilient.

We therefore forked bedrock and made a few changes to make WordPress stateless, including support for a CDN. When stateless, WordPress can be deployed on 1 or more instances at the same time. The result can be found on our github. The architecture diagram now looks like this:

WordPress Architecture Diagram

You can also deploy this scalable version of WordPress that includes a CDN in a few steps through our DevOps Platform. Check the video below to see how we deploy WordPress + S3 + CloudFront + Stateless:

Advantages

This version of WordPress will allow you to:

  • Easily deploy WordPress through our platform or through GIT
  • Horizontally scale WordPress when traffic is high
  • Enable Green/Blue Deployments
  • Roll-back code changes
  • CDN: S3 and CloudFront support
  • PHP Composite support allows you to do security upgrades by redeploying the app
  • Better resiliency: instances can be relaunched when health check fails
  • Improved Disaster Recovery: replicate database, then just redeploy application layer for DR

Reach out

Did you like this article? Tell us what you think, we want to hear your feedback and suggestions.

About the Author

Ward has been a system administrator for more than a decade and has been working as a Consultant and Trainer for the last few years. Besides DevOps he is also into the latest Big Data technologies. Originally Belgian, currently enjoying life in London.