[JA] Scalable deployments - How we deploy Rails app to 100+ hosts in a minute
If you're developing web apps, I guess you perform some deployments using tools like Capistrano.
And we think the existing tools are slow for huge applications and a lot of servers.
We serve cookpad.com, which is a huge Rails app, and the largest recipe site in Japan.
It is now backed more than 100 app servers.
We've used Capistrano with SSH and rsync, but it became a bottleneck, slower and slower,
as well as the number of server increases.
Our developer have wanted to focus on development, not an deployment.
Deployments should be done in short time, and scalable for future server increases.
Deployments should not steal a time from developers.
And there is more one problem: we automate scaling out/in of servers. We've had to lock deploying during
automated scaling out/in, to avoid deployed revision inconsistency. Developers should wait the completion of scaling in/out, so finally it makes duration of a deployment longer.
We can't block servers' scaling. This problem can be solved in process of deployment.
To solve these problems around deployment, we created a new tool – https://github.com/sorah/mamiya .
In this talk, speaker talks about how we had deployed Rails app at past, and its problems,
then introduce a new tool, that we use to deploy Rails app to more than 100 hosts in a minute.
(This talk's spoken language will be Japanese, but slides will be provided in English.)
Shota Fukumori (sora_h)
- Cookpad Inc.
- Job title
- Development Infrastructure Engineer
A Ruby committer, works for Cookpad Inc. http://sorah.jp/
- Tokyo, Japan