This is a guest post from @patrickdebois
Great men have blogged before me. What else can I possibly add? That was my feeling when I set out to write this post. As some of you might have noticed in the past, I always like to start with a good metaphor. It gets me thinking in new ways about problems. I hope this article will get you thinking about devops in yet another dimension.
The world we live in
Coincidently, while writing this blogpost, I came across an old book called FlatLand by Edwin Abbott. Flatland is an entertaining story about how two dimensional figures (like triangles, squares, etc) discover the third dimension of height. The first part of the book describes the current world they live in. Here are some phrases that highlight similarities with our current world of IT:
In Flatland, one of the primary goals in life is that children will have more sides then their parents. They have this urgency to improve themselves in many ways.
Our field is continuously improving itself. The emergence of virtualization, cloud, nosql, configuration management, and infrastructure as code are all signs of technological improvements. I would catalog them under the term Agile Infrastructure.
To avoid collisions between different shapes there are three laws on how to enter the buildings.
We need processes in place to avoid disaster. In traditional operations environments this would be ITIL. For better and for worse. I find it interesting that ITIL v3 focuses much more on continuous improvement and starts taking an interest in Lean Thinking. This evolution I put under Agile Operations or Agile System Administration.
The more sides you have, the less sharp your edges are and the less dangerous you become: triangles are considered soldiers, spheres are considered the balanced ones
It’s obvious the more you know about different fields, the better you can estimate the impact on other things. I’m not promoting the idea that we need only generalists. We need both, but the broader a specialist’s background, the better judgement he can make. Collaborative decisions are based on a much larger pool of knowledge and experience then any single individual’s.
Among the better educated class, it is known that no circle is really a circle, but only a polygon with a very large number of very small sides
Nobody is perfect. Although some people find it hard to admit. That rock-star sysadmin may be great, but he has his blind spots. Spots you can only overcome when you collaborate with others.
The Doctrine of the priests: Attend to your configuration. Stop the belief that conduct depends upon will, effort, training, encouragement, praise or anything else but Configuration
The danger of every framework or set of best practices is that people get too fundamentalistic about them. They will only get you that far, if you skip the human aspects in it. For me, this is one of the areas where most ITIL implementations fall short, and why I like the agile manifesto that puts people first.
Discovering other worlds
I tend to visualize the development team living in one plane of space and the operations team living in another plane. The priests of each land have gone through extreme lengths in the past to separate the two worlds from each other: to avoid further conflicts, to create new empires, for the sake of simplicity.
In a company, the planes of devs and ops intersect at the deployment phase. The larger your intersection between these two worlds, the higher your throughput is. By doing frequent deployments, you get better at interacting with each other. Continuous deployment is a technical emergence of that fact. But this not what we are after:
Devops to me is the discovery of another dimension: what if you could travel freely between both worlds? If you could visit the other plane without being punished? You would be able to see the impact of the work in one world upon the other. It allows you to optimize the whole instead of the individual parts.
When you can get this overview, it’s clear that you need to align the different world planes in the same direction. Imagine bringing the two worlds infinitesimally close together to minimize the extra energy needed for crossing over from one world to the other and maximizing the throughput. “Avoid waste” comes into mind here.
Even with the two planes aligned parallel and very close together, you have no guarantee that your business will succeed. Every new dimension needs direction: and the direction for devops is to align both parts with the business instead of technological orientation or individual plane optimization. I know every methodology takes pride in being customer focused and business oriented. But, from experience, I found that results from methodologies in each world can very well conflict with each other. It is this balance we are seeking to achieve by increasing our toolset, our collaboration. They are a means to this end.
Where in the world is devops now?
I’m a big fan of the Agile way of thinking. When I organized the first devopsdays, the gap I wanted to close was to integrate operations and the system administrators into Agile methodologies. I found it strange that a culture so open, had no particular interest in expanding beyond traditional development boundaries. They already did a great job aligning their world view with the business. Instead of inventing our own set of methodologies, I would say we need to integrate with Agile more. Each world has it’s differences but an integrated approach makes more sense in my opinion.
Determining what this integration would look like is easier said then done: we did a great job on creating the awareness of the problem. But, as for a structured solution, we are still only collecting the bits and pieces. In my opinion, this is currently the pain-point of devops: as the French say there is a difference between le savoir faire and le faire savoir. Knowing how to do something doesn’t necessarily mean you can teach it to someone else.
The good part about the term devops (for better or for worse) is that it got some traction, the stories on how people are collaborating in these fields are now getting published with a common label. I really value for instance the devopscafe podcast run by John Willis and Damon Edwards: it does a great job in getting the stories out into the open. People can listen to live examples and experiment with the different ideas in their own context. Another good example is this series on ‘state of the devops’, for encouraging people to share their experiences.(Thank you Matthias and Dan!)
Once these stories are out in the open, we can start working on finding patterns of things that work and don’t work. These patterns or good practices documents are by far a more solid base to build on than just saying ‘be awesome, be professional, be nice’. This pragmatic approach will allow the transition from the savoir faire to the savoir être of devops. From behavior to culture.
Therefore, I think devops is indeed a romance of many dimensions: In that it could be both the technical evolution we are seeing, the way of collaborating together and aligning with business. The more dimensions you try to tackle, the harder it will be. And the more you are working on the human level, the fluffier it will become. But the more dimensions you play, the higher your impact will be and the more rewarding it will be. On your devops quest you will continue to explore these and other new dimensions and integrate them into your world view.
About the author
Patrick invented the term “devops” and started the first devopsdays in Belgium.