Drupal Extreme Scaling
Have you ever faced a web application project with extreme scalability and performance requirements? Lots of concurrent users? Availability close to 99.9%? A project where infrastructure desing and implementation becomes as relevant as the web application itself, even more?
Let's imagine something. Supose a platform, based on a multi-site Drupal install, and each user can have his/her own site. Not so complex, right? Supose now that we are talking about more than thirty thousand users. Now, it seems scary, uh? Don't panic until knowing the project target, which is one hundred thousands users on the next years. And, of course, we want a full migration from legacy platform, high availability, and a 500% improvement on server response times. And this is the project in which I have been working as DevOps on last year. And now the good news come. The dev team, formed by great professionals, could count on very important allies, like Drupal, Nginx, Docker, Ansible, MongoDB, Node.JS, Apache Mesos and Amazon Web Services (this one included all its buddies: EC2, S3, ElastiCache, DynamoDB, and Route53).
So, this session will describe the project, with some grade of detail, specially focusing on infrastructure, and will review the newfangled technologies used to make it possible. Additionally, the problems found during the implementation - and their solutions - will be described.
Spoiler alert: This project went live on firsts days of April 2015, so it's very fresh! It was an absolute success, on engineering, results and cost optimization levels.
Ezequiel Vázquez, "Zequi", is a freelance web engineer, strongly focused on Drupal and its ecosystem of tools, and specialized on IT security, performance, scalability and availability of complex systems. He has been speaker on last three DrupalCamp Spain editions, and usually collaborates with local meeting groups and local universities to talk mainly about web security and Drupal.