Guest post by Scott Johnston, PuppetLabs.
DevOps is about bringing formerly siloed organizations — development and operations — closer together. This involves more than just better communications: it also entails adopting a common toolset to speed up software delivery processes and enable effective collaboration between developers and operations staff.
Forrester recently published a list of seven DevOps habits, some of which require the adoption of a DevOps toolchain:
- Get developers and IT operations people talking to one another.
- Prioritize work according to the needs of the business.
- Automate build, test and release processes to reduce errors and enable scaling.
- Simplify and standardize the development and production environments.
- Instill a culture of systems engineering across both development and operations.
- Implement feedback and feed-forward loops between dev and IT ops.
- Put developers on the front line of support.
DevOps is a combination of culture and tools, and this list encompasses both. Under culture, we can put improving communication between developers and sysadmins. This is a cornerstone of successful DevOps adoption. Other cultural changes apply to each team. Sysadmins often have a “just get it done” pragmatic viewpoint, so for them, the shift to a systems-engineering approach is key to moving forward with DevOps. Likewise, developers sometimes take an idealistic approach to what they’re building, so for them, adopting a business-centric perspective is an important change. Putting developers on the front line of support not only encourages them to take greater responsibility for deployment, it also provides them with valuable feedback on how their software behaves in production.
The tooling part of DevOps includes automating processes via a shared DevOps toolchain. Tools for configuration management, continuous integration and version control (among others), enable improvements in software delivery velocity and quality. Forrester’s report notes that automation must extend throughout the cloud so that the underlying infrastructure is flexible enough to handle not only the routine build process, but also testing the system at scale for large installations.
While you are building your DevOps-ready computing environment, Forrester recommends the habit of simplifying and standardizing wherever possible. It may be easier to bring up a new private or public cloud than to wedge your cloud design into your existing legacy systems. A declarative language for system specification (such as Puppet) makes a big difference in simplifying systems management. It provides a uniform interface to a variety of systems and packages, and can ensure that your production and development systems are kept tightly in sync for software releases.
Building a DevOps toolchain is not an instantaneous process, and you can't simply pull DevOps culture out of a box. But when you take a thoughtful and incremental approach, DevOps becomes a powerful combination of culture and tools that elevates your business to a level of agility and quality that competitors find hard to beat. Adopting the seven habits of highly effective teams will get you there.
Reprinted with permission from PuppetLabs'.