Rubyist, containers enthusiast, system programming novice. One of the writers of books "Perfect Ruby" / "Perfect Ruby on Rails" (both in Japanese). He lives in Fukuoka - the "coast" city of "west" Japan, works at GMO Pepabo, Inc. as R&D/Dev Productivity Engineer, and holds Fukuoka.rb local meetup. He also is a organizer of RailsGirls Fukuoka #1 and Fukuoka RubyKaigi 02.
The fastest way to bootstrap Ruby on Rails
Ruby on Rails applications sometimes take too long time in bootstrapping, especially when the application is complicated, monolithic or "legacy" one. This inhibits Kubernetes or other orchestrators to do smooth autoscaling. There are tecnologies such as bootsnap to solve this problem. In addition to them, I propose new storategy - "checkpoint and restore". I used CRIU(Checkpoint and Restore In Userspace) in Linux environment to make "ahead of time" process dump, and boot the application from image to reduce the bootstrap time. In my case, observed bootstrap time is reduced from about 2,500ms to 1,200ms. I will describe what the CRIU is in the first place, use cases where CRIU is effective and some problems using CRIU.