Rails Deployment Options
Cloud 66 offers a range of deployment options for Rails applications, each offering different benefits and trade-offs.
- Serial Deployments — code is deployed to one server at a time. This is the slowest method and means two versions of your code will exist in production while the deployment process is running.
- Parallel Deployments — code is deployed to each server simultaneously. This is the fastest method but also the riskiest. It guarantees some downtime during deployment and, if the deployment fails, all servers will be affected.
- Rolling Deployments — servers are divided into two equally weighted sets. Each set gets deployed in parallel (all servers at the same time) one after the other. This is a good compromise between speed and safety, with no downtime, but it is only suited to accounts with at least 4 servers and a load balancer.
And there are also two types of Rollouts strategies available:
- Blue / Green Rollouts — you have the option to serve the latest or previous version of your code to visitors, and to quickly switch between them.
- Canary Rollouts —the latest version of your code will be visible to a subset of your visitors. Everyone else will see the previous version. After deploying you can adjust the rollout percentage as required.
Containerized Apps Deployment Options
- Parallel Deployments — rebuilds and deploys all your services to your cluster.
- Fast Deployments — deploys only the services that have changed.
- Link to docs: Rails - Choosing a deployment strategy.
- Link to docs: Rails - Managing rollout strategies (Blue/Green/Canary).
- Link to docs: Maestro - Deployment profiles.