Posts filed under: Automated Deployment

Automated Deployment

This page contains posts by Jayme related to using technology to perform tasks normally done by humans when delivering software. Automated deployment is a simple concept, but it overlaps with several other popular topics to create confusion.

At its core, deploying a product or service through automation can be as simple as a process that runs once a night to copy files into a file system directory somewhere. In a more sophisticated scenario, it can be an orchestrated set of steps that makes changes to hundreds of computing nodes in a cloud environment such as Windows Azure or Amazon Web Services.

Automated deployment is closely related to Continuous Delivery. The deployment pipeline, the primary innovation in that practice, requires automated deployment to deliver software assets into various environments designated for inspecting the quality of a release before it gets to customers.

Automated deployment is also closely related to the DevOps Movement. When developers and operations personnel work together, they frequently use automation to modify infrastructure upon which software products and services run.

The goal of developing any software should be to provide functionality useful to the majority of its users. While doing business analysis or writing user stories for a feature of a project (especially those that are an attempted re-design of...
I saw Martin Fowler speak in Austin a couple years ago and one part of his talk was on continuous integration, and specifically the downsides of feature branching. Feature branching is essentially where a main “trunk” of source for a...