Moving WordPress to Amazon Web Services resulted in increased reliability and decreased operational costs for an entrepreneurial organization last year.
WordPress is a popular content management system for the Web. It is flexible and customizable, but it took the Young Entrepreneur Council (YEC), based in Boston, multiple tries to get the supporting infrastructure stable and performing well. YEC uses WordPress to run its external websites as well as some internal applications.
YEC deployed WordPress on Amazon Web Services (AWS) nine months ago when an attempted deployment at a hosting provider did not go as planned.
“This was our first attempt to scale WordPress and it failed miserably,” said Robert Calise, CTO for YEC, in a presentation at an AWS Meetup in Boston last month. “We had seven really powerful servers, and our big bulky slow WordPress installation just crushed them.”
One of the reasons was the way YEC and the hosting provider had tried to deal with a common, thorny problem in the WordPress world — session persistence when scaling across multiple servers.
“The way that PHP and WordPress handle sessions natively, if you’re accessing our website, you’re accessing one server,” Calise said in a follow-up interview. “If we were using the native session handler, that means your session information, your login session, any other information, would be on that one server.”
Thus, if anything happened to that server, it would log end users out and drop all the information about the session. To overcome this, YEC and the hosting provider it was working with attached multiple WordPress application servers to a single NFS mount on a separate file server.
“All of this was on wonderfully slow magnetic storage and there was lots of disk I/O contention and we had lots of nasty downtime,” Calise said during his presentation. “At one point a storage controller failed in the data center and we ended up with 24 hours of downtime.”
This incident sent YEC looking for a new way to deploy WordPress.
Original Article by Beth PariseauÂ