Deployment as a Feature*
Too often the deployment of software is treated as a necessary evil. When you design your deployments as a feature of your system, the productivity gains will surprise you.
The results of the software engineering process are expected to be deployed somewhere even if just to your local machine. As systems grow, so does the complexity of deploying them. Thinking about your deployment as a user rather than an operator will allow you to build a process that streamlines how you get from design to production. Rather than treating this as burdensome punctuation to your hard work, when deployment is thought of as a feature, it becomes a tool for increased productivity.
By the end of this talk, how you deploy software will take on new value and you’ll come to prioritize it like you would any other customer facing feature. We’ll take a walk through the evolution of a build process as it moved from afterthought, to burden, later to a requirement and finally to a feature. With stories from the front line, we’ll discuss decisions and considerations to make to create an enjoyable deployment pipeline.
After a bombshell stint on the public speaking circuit of my high school, I have continued to speak to various open-source oriented audiences including ApacheCon and the Sakai Conference. When I think I have a neat idea, I like to present to coworkers and meetups to see how crazy it is. I regularly lead sessions on technology, process, and architecture to anyone willing to listen.
This is an expansion of a talk given recently to the PDX DevOps group.
By day, I am a Cloud Mechanic for Cloudability. I like to pick fights with computers, and I’m a bit of a pet hoarder. I love a good joke.
Open source evangelist. Education advocate. Portlander.