In the video titled "Large-Scaled Deploy Over 100 Servers in 3 Minutes," Hiroshi Shibata discusses the deployment strategies for a large infrastructure, specifically using the Ruby on Rails framework for their application minne, which operates over 200 servers in two data centers. The presentation is structured around converting mutable infrastructure to immutable infrastructure while highlighting methods for rapid deployment of Rails applications across multiple servers. Shibata outlines several key components and strategies used by his team:
- Immutable Infrastructure: The transition from mutable to immutable infrastructure is fundamental to reducing downtime and improving reliability. This approach avoids manual configuration, ensuring consistency across server deployments.
- Rapid Deployment Practices: Shibata introduces the 'pull deploy strategy' utilized by their team, which allows for quick and reliable updates to application code. By leveraging tools like Capistrano, Consul, and Stretcher, they can deploy Rails applications efficiently, minimizing deployment time to just three minutes.
- Blue-Green Deployment: This strategy is employed to reduce downtime by maintaining two identical environments (blue and green) and switching traffic between them during updates, leading to safer deployments. This practice increases the robustness of the production environment.
- Automation and Scaling: The video emphasizes the importance of automation in managing large-scale servers. Through the use of Docker and orchestration tools, they automate the creation of server images and the deployment processes, addressing issues related to scale and speed.
- Testing and Validation: Rigorous testing procedures are implemented to ensure that all server configurations and deployments are error-free. Shibata stresses the role of continuous integration and testing in supporting their deployment pipelines.
Shibata concludes by reiterating that through careful planning and automation, they have achieved the ability to deploy the same code to their servers within a span of three minutes, fundamentally transforming the efficiency and reliability of their deployment process. This talk serves as a valuable resource for developers and engineers looking to scale their operations effectively using modern deployment strategies.