A well tuned software toolchain and deployment pipeline saves every developer on your team between two and three hours a week. On a team of 12 developers, that’s almost an entire man-week of time saved every week (36 hours).
As a software developer, repeated computer tasks simply bore me. If it’s possible to make my fancy machines do the job for me, I want to do that. Software deployment is a smart use case of automation tools because it’s the worst possible case of a repeated task.
A manual deployment pipeline:
Limits how frequently your team will deploy
Limits how many people on your team are capable of reacting to a critical bug
Happens infrequently enough that you’re likely to forget a step
Happens frequently enough that it’s a big time sink
Requires constant communication about what steps are required to deploy
Depends on manual checks for deployment validation
Manual deployment is the worst kind of repeated task. A lot is on the line, it takes time, and it breeds overconfidence.
In contrast, an automated deployment pipeline:
Minimizes the dreaded context switch
Prevents unexpected downtime by ensuring tests pass before deploying
Allows everyone to share the responsibility of reacting to critical bugs
Serves as a canonical source of steps required to execute a deployment
Automatically validates deployment success
The gold standard for what an automated software pipeline should provide include these developer most loved features as well:
Continuous Integration to run and validate tests before code is merged
Test coverage and source code lint analysis tools, if you’re into that
Automatic deployment to staging or test environments
Automatic, sanitized production database dumps
Push button, zero downtime deployments
Depending on your software stack, setup time on these tools can be as short as a week. The earlier automation is introduced, the easier it is to implement and the more time it’ll save.
Luckily, a lot of the tooling required to set up these developer favorites is out there, waiting to be implemented for your stack. A dozen available CI providers and API driven cloud providers can make quick work of a deployment pipeline, if you’re willing to invest the time.
Robert Carpenter is a deployment engineer and cloud architect with Tumbler Lock consulting. He has 15 years of full stack experience with software startups and loves making developers more productive through automation.