Tom Bradley of Rails Machine gave a talk on virtualization and how it can be used in a Ruby/Rails ecosystem…
Virtualization is a concept of splitting up servers on one physical box using virtual shared hardware… We all know what it is and how it can be helpful, maybe we can start to think about how to optimize it…
Shared Hardware: multiple core processors, lots of memory, lots of storage space, big network chunk… You want to ensure that there are dedicated resources that are predictable for the machine.
Why? Consolidate servers, isolate applications, replicate configurations, utilize ALL hardware, tune resource allocation…
His point of utilizing ALL the hardware is money smart… most of the time in a network environment you’ll have lots of CPU cycles and Memory that is there “just in case”.
Standard configurations of Rails stacks makes deployment easier and faster… standardized, repeatable deployment.
What is Rails Machine using?
40+ Hosting Servers -> 400+ Virtual Machines in 4 cabinets (30-40 on a 16GB physical machine and 6-14 on a 4GB physical machine)
No Going Back: powerful, flexible, low cost, rapid, security
Benefits for Rails? Development environments, memory isolation, resources for differences in traffic, protection against PHP/Java, multi-server scaling…
The idea boils down to creating one perfect image and using that over and over and make it simple… easy to deploy, just move the images and go…
Overall this talk was inspiring… when working with a very large Ruby on Rails application that has LOTS of hardware… there never seems to be hope… this gives me some hope.