Scaling Ruby applications with Mesos and Docker
About Rocky Jaiswal & Michal Olah
Scaling Ruby applications is hard. While PaaS solutions like Heroku provide such benefits the costs may be quite high. Most of us our looking for the flexibility of our own bare-metal servers with the scalability of a PaaS.
Docker meanwhile has also provided a great way to isolate or containerize our application. While Docker is great for distribution and deployment, we wonder can we also use it to scale our applications, i.e bringing containers up/down on demand.
Apache Mesos is one such technology we can leverage to add scale to our infrastructure. Instead of dealing with multiple machines we deal with our cluster as a single unit. We allocate resources from this single unit to Docker containers, making it very easy to add/remove resources.
In this talk, we will see a live demo of a Mesos cluster and what it takes to set it up. We will also Dockerize a simple JRuby service and add / scale it to our Mesos setup. We will also learn the advantages and pitfalls of this setup.