Archive

Archive for November, 2014

How to start DevOps in your organization – the right way

November 16, 2014 Leave a comment

The topic of DevOps has reached a point where any discussion about any improvement – whether accelerating engineering velocity, improving quality, or maintaining exceptional availability and performance – will quickly reach a conclusion that DevOps is required.

The truth – very few organizations implemented DevOps.  But why?

Before defining DevOps and making suggestions that any organization can begin implementing immediately, it’s important to become students of history for a few moments.

In 2013, Amazon.com annual revenues reached $75B.   This level of activity will keep any CTO busy, especially Werner Vogels.   How does he do it?

In 2006, Werner was interviewed by ACM.    It doesn’t mention DevOps.   DevOps was coined as a term   3 years later as DevOps Days conference,  or The Conference that brings development and operations together.

Even before DevOps became an industry accepted term, Werner said what I believe is the most important foundation of DevOps, or the basic truth:  “You build it.  You run it”.

It’s often difficult to take a basic truth and then create an implementation of this basic truth in a complex organization, where for example PCI-DSS compliance requires segregation of duties.

I heard many times that DevOps is a culture and Engineering and Operations have to work together to implement DevOps culture.

DevOps is not a culture by itself.   It’s the biggest mistake companies make when declaring that DevOps is just a culture and trying to implement it.  “Something” has to exist and operate effectively for DevOps culture to be born and sustained.

An organization with zero team members has no culture.  There is no one present to even plant the seeds for any culture to be felt and appreciated by other team members joining the organization.

DevOps is … (a definition for large, complex organizations trying to implement DevOps)

1. Is a team with a leader who understands both the needs of Engineering and Operations with executive support from all other organizations
2. Is a team with the right budget
3. Is a t
eam of specialists with one mission:  to support a continuous delivery model by …
a.  Building a maintaining a platform where engineers can build, test, and deploy their components a manner which is identical to production environment – before deploying to production environment
b.  Building and maintaining an integrated set of tools to enable engineers to perform 3.a effectively
c.  Providing support to engineers to move to this model
d.  Reminding and encouraging everyone to believe in the value of “You build it.  You run it”

What are the signs that your large, complex organization is not ready for DevOps?

Believing that DevOps is just a culture without an empowered team, led by the right leader, and with the right budget.

Unable to discuss how to fund DevOps.

Unable to agree about the reporting structure for the DevOps team in an organization which never had DevOps in the past

Deploying code through multiple, segregated environments instead of increasing focus on automated deployment, automated verification, and automated simulation of critical business activities in order to deploy as many times per day as needed.

Taking segregation of duties to such an extreme that engineers do not have access to logs in the production environment.

Unable to create the compensation structure which will attract the very best and the very brightest DevOps practitioners.

Unwilling to recognize that even if all of the above are in place, taking one step backwards in order to take 3 steps forward is often a necessary, difficult decision.

DevOps is not easy. It becomes easier when “You build it. You run it” becomes the overarching basic truth which drives everything else.

Advertisements
Categories: Software Engineering Tags: