Should containers be part of the DevOps genome?
DNA and virus molecules image via Shutterstock
Can containers enhance your company’s DevOps transformation? Is containerization part of the future of DevOps? What are the biggest anti-patterns of DevOps? To answer these questions we need help from four of the world’s biggest DevOps influencers.
How does the DevOps virus spread?
We set out to define DevOps and we learned that even though some people call DevOps a cultural movement and others think it is a magic bullet, it is actually a catalyst for collaboration between the roles of technology developers and IT operations. With the help of four of the world’s biggest DevOps influencers, we pinpointed what the first-aid DevOps toolkit should contain and we learned that experimentation is much more important than particular tools.
But what does the future of DevOps look like and how does this virus spread? How important is containerization in a DevOps context and how can containers enhance your company’s DevOps transformation?
It’s time to wrap up this expert checklist but not before we extract all the “juice” out of our DevOps discussion.
First, we asked the DevOps influencers about the essence of DevOps and the most relevant trends in this popular movement. Then we tried to bring all the DevOps tools under one roof and create a first-aid DevOps toolkit. Now it’s time to bring out the big guns.
4 answers: If containers are revolutionizing IT infrastructure and DevOps is transforming the modern IT landscape, would you say that they go well together?
The DevOps Heroes
Mike Kail: I would say that container technology is a subset of cloud infrastructure and they are enabling new application architecture patterns and increasing developer agility. IT leaders who are undergoing a “DevOps transformation” should certainly research how containers enhance their overall strategy.
I think containerization is a big part of the future of DevOps
Eric Vanderburg: DevOps can use containers in many of its solutions. Containers can be thought of as single units that collaborate to make a final product. This way the DevOps job of supporting the containers can be singled out to an exact container with each container fulfilling a certain function. In this way, it is much easier to discern which container needs maintenance. This improves efficiency, which is one of the primary goals of DevOps
Greg Bledsoe: I don’t think containers would exist without DevOps creating demand for the continuing virtualization of infrastructure and the rapid movement of code through environments. What is fascinating to me is that containers are an extension of ideas we old grey-bearded sysadmins have been doing for a long time with chroot and remapping of uids so root inside a chroot isn’t real root on the host.
DevOps does not combine the roles of a Developer and Operations into a single job
Then someone had the genius idea to systematize the ability to take these sorts of jailed environments and move them quickly around in a predictably immutable way and abstract out the details of the network and environment. I always know an idea is genius when I immediately know I should have already thought of that! Needless to say, I’m a huge fan of containerization and think it is a big part of the future of DevOps, though DevOps won’t stop here. We’re going to see serverless architecture go mainstream, and unikernels become something we’re talking about in the next couple of years.
Jason Bloomberg: They certainly can go together, but this question belies a bottom-up mentality that is contrary to the DevOps way of thinking. The choice of infrastructure should be abstracted and dynamic, driven more by business policy and agility requirements than by technical choices.
What are the anti-patterns of DevOps?
Mike Kail: The top ones for me are “DevOps is not a job title”, “DevOps is a process”, and “DevOps is a panacea.”
Eric Vanderburg: Anti-patters remove undesirable assumptions and artifacts from the DevOps culture and belief system. DevOps does not combine the roles of a Developer and Operations into a single job. It instead aims to strive for better collaboration between two roles within the same collaborative team. When developers start doing the job of system administrators or vice versa, anti-patterns bring corrective structure to the team. This ensures that both developers and administrators have the same goal instead of being in opposition to each other while still performing distinct tasks within the team.
Greg Bledsoe: My good friend and co-worker Keith Peas is putting a lot of time into identifying DevOps design patterns and anti-patterns. The main ones I’m seeing out there in the real world are to have people with DevOps in their job title, or a DevOps team separate from the rest of the pre-existing teams.
When you do this you are operating under the misunderstanding that DevOps isn’t for everyone in the organization, which cancels out the collaborative culture development and creates just one more silo everyone has to throw things over the wall to and wait for something to come in return — this is pretty much the opposite of DevOps and just creates one more wasteful silo to go along with the others.
Jason Bloomberg: The most dangerous anti-pattern is to think that DevOps is just about dev and ops!
Do you have any tips on how we can eliminate obstacles to DevOps adoption?
Mike Kail: The first is to lead by example from the top. If the CIO isn’t driving the culture of change, then any adoption of change will fail. Outline the strategic objectives that map directly to business outcomes. Don’t drive adoption just for the sake of adoption. Give everyone a clear mission, communicate that mission often, and continuously measure progress.
The first step to DevOps adoption is to get developers to start using an agile development approach.
Eric Vanderburg: The first step to DevOps adoption is to get developers to start using an agile development approach rather than a traditional approach. This is essentially a prerequisite for DevOps and many companies have already taken this step. Next comes coordination and integration of the teams.
There needs to be an establishment of new norms, goals, and expectations. Some groups may need to undertake team-building exercises to better work together and there may be some cultural changes as well as development and operations teams may have developed their own unique cultures.
Greg Bledsoe: Persistence and positivity can move mountains over time. The ideas are viral. Share books and talks, point out the easy ways you could gain efficiencies with the ideas, “What if instead of reporting back and forth through org structure, we just walked down the hall and worked on it together? What if we just got in the same room and didn’t leave until it was solved?”
In most organizations, there are innumerable situations where these kinds of simple questions are extremely powerful and illuminating. Most of all, don’t give up. Keep making the case and over time you move the bar.
Jason Bloomberg: Spread what I call the ‘DevOps virus.’ Once the software development organization works out the kinks, they should actively evangelize the approach to the rest of the organization.
Take a look at the first two parts of our DevOps expert checklist: