Continuous Deployment

I have read and seen a few presentations where the team works in a continuous deployment mentality. I find it very fascinating because I am in situation where it would be of great benefit to me to have this environment.

This is the latest presentation I have look at:
http://www.infoq.com/presentations/Continuous-Deployment-50-Times-a-Day

First reason for this CD environement: no QA team. I am responsible for product/service and I am alone in taking care of it. I have no one to check if what I am doing is good and not breaking any existing features. To achieve the level of comfort needed for continuous deployment you need to have testable code and that is my achille’s heal on this project. There was a bit of code written for a few tests but I added afew features and modified many things without modifying the test code or adding any. I need to change my mentality to get a lot more tests in there so that I can feel at ease when modifying code or adding features.

Next reason is the speed to deploy to your customer the features and change they need. When it takes week to deliver a change people become impatient and they lose respect or trust for your abilities to help them. With the current change management process we have, it takes at least a week to deliver the smallest change. This is a setup for failure and no one can feel comfortable in it. If I implement CD correctly then deploying new code should be this regular activity that no one cares to track. It is simply normal operations.

Since I love numbers, I picked up on the statistical analysis that they do to confirm that the new deployment is good. They look at the number of errors but also the number of request on each page to see if there is a significant differences. This is interesting and is very viable when you have a good amount of traffic. In my case the traffic is small enough that the smallest anomaly will create a significant statistical difference. I will have to think and read more about how to address this one so it gives me good KPIs.

The funny fact that excited me is the automation. It is funny to my project because my main goal with my project is to automate what we do to help us be more efficient. So CD is about automatind the deployment on my automation tool. I love irony.

 

Advertisements

Published by

m5c

Java developper that loves photography and good coffee

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s