The first-aid DevOps toolkit: What does it contain?
We set out to define DevOps but we learned that one cannot and should not put a label on this ever-changing movement. Greg Bledsoe, managing consultant at Accenture claims that his own understanding of DevOps has evolved considerably while Jason Bloomberg, the president of Intellyx, believes that at the core of this movement lies empathy.
Helen Beal, head of DevOps at Ranger4 says that DevOps is not just one person’s job but there are some gaps that must be filled before we talk about who does what. This leads us to the following questions: what should a first-aid DevOps toolkit contain?
In the first part of this interview series, we asked four DevOps influencers about the essence of DevOps and the most relevant trends in this popular movement. Now it’s time to bring all the DevOps tools under one roof and create a first-aid DevOps toolkit. Plus, we talk about the benefits of the cloud in a DevOps context.
4 answers: As more and more organizations decide to adopt DevOps, they need guidance and the right tools. In your view, what are the most suitable tools that should be part of a ready-to-use “DevOps kit”?
Mike Kail: Before a set of tools can be recommended, the organization needs to outline what the current state of Development and IT is, and what is the desired state. Once that is established, then choose the set of tools that align best with those goals and provide the greatest level of automation and measurement.
Eric Vanderburg: DevOps needs an infrastructure that can support rapid development and deployment. I would say the essential toolkit includes a code repository, a project management tool, a change management application, and a ticketing system.
Every person in the DevOps team needs to be on the same page. The project management tool helps with this. The code repository helps with code versioning and release management. This way everyone can work on the most recent branch of code submitted. An automated testing environment is also helpful with speeding up development and getting products to market faster.
Next, the change management application allows for a controlled implementation of changes and ensures that adequate review of changes has been accomplished. Lastly, a ticketing system tracks end user issues and their resolution. When these items relate back to application issues, new releases can solve the underlying issues.
Greg Bledsoe: The best tools are ideas.
Everyone should be paying attention to the thought leadership that is helping define the movement going forward, and should have already read all the books that provide seminal work and best practices — everything from Extreme Programming from the late 1990’s through Lean Enterprise, and of course, all the ones with DevOps in the title! I’m not aware of a bad book on DevOps yet! Maybe I’ll even contribute something to try and help move the ball down the field myself in the next year or so, and hopefully it won’t be the first bad one!
You’ve got to bring in cross-disciplinary ideas as well, like the ideas from “Immunity to Change” which is research on why people don’t do the important things they know they should do, even when the consequences of neglect can be devastating, like early death.
In terms of the technical tools, there are platform as a service tools out there now that can provide a jump-start and accelerators to your DevOps journey by allowing you to quickly experiment with a wider variety of tools, platforms, and technology stacks. This experimentation is far more important than particular tools, and there are a number to choose from. Everything from Kubernetes, to Mesosphere, to Accenture’s own adaptable open source platform, ADOP. If you aren’t aware of it, ADOP is a quick way to swap components in and out while creating platforms on demand. it deserves a look!
Jason Bloomberg: DevOps is not about the tools, so listing tools would be the wrong way to answer this question. There’s no question, however, that DevOps is a software-empowered movement. Leveraging better automation and software-defined capabilities to ‘shift left’ the entire software lifecycle is an integral part of the DevOps vision.
What is the role of the cloud in a DevOps context? What benefits does it bring?
Mike Kail: Cloud infrastructure, by definition, is elastic and programmatic. That allows for a high degree of automation and agility, which is directly aligned with the core tenets of the DevOps definition.
Eric Vanderburg: The cloud can be used for both collaboration for the development/operations team and the deployment to the customer. This can be used for rapid deployment of each new iteration. With a cloud, the support can be done anywhere, anytime, which makes it much more efficient than provisioning individual systems. The cloud can also be used to quickly set up test or QA environments and allows for rapid deployment of products or rapid growth.
Today, cloud computing architectural principles are essential to DevOps success.
Greg Bledsoe: The idea of Cloud, or virtualizing hardware into resources that can be provisioned on demand, is an essential one to really getting the most out of lean and DevOps methodologies. Smartly executing the right combination of public, private, and hybrid cloud is a key component to a successful infrastructure that enables next-gen IT management.
Jason Bloomberg: To achieve the software-defined, ‘shift left’ vision for DevOps, it’s essential for the operational environment to be fully abstracted and model driven. The cloud showed us that this was possible, and led the way. Today, cloud computing architectural principles – whether or not a particular instance actually gets deployed in the cloud – are essential to DevOps success.
In the final part of the interview series, our four DevOps heroes weigh in on the combination between containers and DevOps and the anti-patterns of DevOps. They will also offer us tips on how we can eliminate obstacles to DevOps adoption. Stay tuned!