Setting up a deployment process on the cloud means a variety of choices. Most likely, you’re prepared to make some tradeoffs. But, getting a view across these potential tradeoffs can be difficult. Here are six popular deployments and advice for making the best choice for your organization’s needs.
Let’s assume you want a deployment for a small startup with fewer than 20 developers, each needing to host a webapp that’s gaining traction and for which rapid growth is expected. Its requirements are as follows:
- Autoscaling support to handle expected surges in demand.
- Maximizing developer efficiency by automating tedious tasks and improving dev flow.
- Encouraging mature processes for building a stable foundation as the codebase grows.
- Maintaining flexibility and agility to handle hotfixes of a relatively immature codebase.
- Counting on a few sources to fail, because any of them can cause deployment failure—imagine GitHub failing or a required plugin becoming unavailable.
Narrowing the focus a bit more, let’s assume the codebase is using Ruby on Rails, as is often the case. Let's now discuss 6 deployment methods, their pros and cons. Check out the slide deck below: