Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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 technologies such as bootsnap to solve this problem. In addition to them, I propose new strategy - "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. RubyKaigi 2019 https://rubykaigi.org/2019/presentations/udzura.html#apr19
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this presentation from RubyKaigi 2019, Uchio Kondo addresses the challenges of long bootstrap times in Ruby on Rails applications, particularly in complex or legacy systems. He emphasizes that slow bootstrapping can hinder efficient autoscaling in environments like Kubernetes. Kondo introduces a solution that involves utilizing a technology called CRIU (Checkpoint and Restore In Userspace), which allows developers to create process dumps that can significantly reduce the time required to start applications. Key points discussed in the presentation include: - **Challenges with Bootstrap Times**: Ruby on Rails applications, especially monolithic or legacy ones, often take excessive time to bootstrap. - **Introduction of Bootsnap**: Kondo mentions existing solutions like Bootsnap that can help improve boot times. - **CRIU Overview**: He explains CRIU as a tool that performs process dumps 'ahead of time', enabling faster boot from an image. In his case, he reduced boot time from 2,500ms to 1,200ms using this method. - **Wide Applicability**: CRIU is effective not just for Ruby on Rails, but also for other frameworks such as Hanami and scripting languages like Python and Node.js. - **Efficiency in Migrations**: Kondo outlines how CRIU helps in migrating applications efficiently without needing to restart containers, thereby preserving service availability during deployment. - **Specific Examples**: He highlights the slow startup time of Jenkins and how CRIU can mitigate such delays, demonstrating improved efficiency in migrating apps and enhancing overall performance. - **Concluding Insights**: Kondo concludes by underscoring CRIU's transformative potential for speeding up application boot processes, ultimately enhancing user experience and allowing developers to maintain focus on feature development without the burden of long deployment downtimes. He invites questions and engagement from the audience, indicating his openness to further discussion on using CRIU or Ruby on Rails solutions.
Suggest modifications
Cancel