Scaling UMW Blogs in the Cloud

UMW Blogs AWS Diagram

Stolen from Tim Owens

UMW Blogs is in it’s eighth year, which is like 56 years old in web time. And like all us aging technologies, middle age can be a bitch when it comes to performance. But thanks to Tim Owens and the magic of load balancing, the golden years of the very best university publishing platform are proving as active and fulfilling as those heady days of wasted youth.

Above is a diagram of the six EC2 instances Tim setup to make this happen. He installed the open source Haproxy load balancer  on one instance  (the upper most in the above diagram) to route traffic to any one of four servers running the core WordPress files (wp-1 – wp-4 are all cloned and dynamically replicated). This way if one instance has too many sessions open it is automatically directs the next session to one of the other three instances with the least open sessions. The final EC2 instance at the bottom of the diagram, NFS,  is network file storage which has the themes and plugins.

The coolest thing is all of these servers are relatively small, roughly $16-18 a month each, but have made UMW Blogs lightening fast. The database is a huge mass of thousands of tables that’s being pulled from. Tim is thinking through how we replicate that for failover purposes, which may mean moving from a SharDB setup to HyperDB, but I am getting outside my element here.

Finally, all of the uploaded media for UMW Blogs goes to Amazon’s S3 and is served through their content delivery network CloudFront. In effect, all of UMW Blogs is now officially in the cloud, and it could end up cutting our server costs by as much as half. It’s really cool to think an old gold, ragtag project like UMW Blogs is the first homegrown tech project we’ve transitioned to the cloud.

Now let me be clear, at this point there are numerous services at UMW that are in the cloud. In fact, given the pervasive “buy over build” mentality of most IT departments it would be a red flag if that wasn’t the case. But in typical DTLT fashion, we launched UMW Blogs into the cloud through experimenting, tinkering, abusing the definition of “pilot,” and encouraging people to build expertise.

The only reason I can blog about any of this right now is because Tim sat me down and schooled me on what he’s doing, why, and how it works. That’s an environment I want to work in. I want to be in a position where people are showing me things I can only dream of.

There’s More in heaven and earth, Horatio, than you can dream of in your LMS.

This entry was posted in AWS, UMW Blogs and tagged , . Bookmark the permalink.

2 Responses to Scaling UMW Blogs in the Cloud

  1. Scott says:

    Envious :/ We have similar setup but on campus infrastructure…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.