DevOps is well known in companies such as Amazon, Etsy and Facebook. It is gaining traction in the enterprise, being employed in just about every industry imaginable. One common trait these companies have is the ability to recruit the equivalent of “The A-Team” to come in and help guide them through the cultural and technological changes necessary to achieve DevOps success.
Cultural change is a must. Frequently, people interested in DevOps think that DevOps is about technology alone. Yes, it plays an important part, but technology and cultural change are necessary for you to be successful.
Cultural change isn’t easy. It is hard in newer organizations such as Amazon or Facebook, and much, much harder in companies that have been around for a long time, which don’t specialize in technology and have years of ingrained culture.
A coalition of the willing. The best way to start with DevOps is by putting together a coalition of the willing. By organizing a small group of champions in different areas of a company, it is easier to demonstrate what can be achieved when silos are eliminated and people are working toward a set of common goals, taking shared responsibility for the outcomes of projects. Making DevOps work on a small scale is a very powerful tool when trying to sell DevOps to senior management.
If you are in the process of selling DevOps to upper management, it is important that the goals of the DevOps initiative are aligned with the organization’s business goals. The ability to accurately reflect the status of work in the system and trends over time is vital to demonstrating value to the business and continuously improving processes once they are in place. Unfortunately, gathering and reporting on data from multiple sources to illustrate value to different people in an organization is challenging, and it can be quite time-consuming to set up and maintain as tool chains evolve.
You’ll need automation. Even though a company can adapt to create an environment that is conducive to DevOps success, and as metrics are established so that the business value can easily be illustrated, it means little without automation. Without automation, there will still be manual processes, which are frequently error-prone, slow, lack traceability and are not repeatable. Also, manual processes result in work being stuck in a wait state instead of being executed, which leads to waste in the system. That isn’t to say that everything can or should be automated; frequently there are reasons for manual steps to exist.
Automation that is easy to use and maintain is a key component in a DevOps initiative. It is also one area where many organizations struggle.
You’ll need scalability. One of the challenges enterprises face when trying to adopt DevOps is coming up with solutions based on success stories championed by the DevOps community. The evangelists in the DevOps community usually work with skilled teams of engineers who understand dev and ops. Armed with a wide variety of tools (commonly homegrown and open source), ingenious solutions have been put together to achieve high levels of automation, enabling amazing throughput in those organizations. These solutions don’t scale to the larger business community.
The result of requiring such specialized staff is that other organizations trying to replicate the successes of DevOps visionaries frequently have difficulties adapting these solutions themselves. There simply aren’t enough people in the world with the knowledge to chain together ever-changing tool sets to achieve DevOps nirvana.
An A-Team-quality solution. Mixing open-source, home-grown and commercial software can be an effective way to achieve results quickly. Choosing commercial software that can act as “glue” to apply an overarching level of process, control and integration enables engineers to focus on tasks that are specific to their business.
There is a perceived lack of solutions that can provide the following abilities:
1. Managing automated and manual processes
2. Providing control across the path to production
3. Handling complex integrations between systems
The outcome of this perceived lack of available solutions is that existing tools are used for tasks they were not intended. While these get the job done, it comes at the cost of implementation time and maintaining solutions, which also give sub-optimal user experiences. In the longer term, this can prove to be quite an expensive hidden cost due to the amount of time staff need to spend maintaining these solutions.
By leveraging commercial software to add value to other solutions, it is possible to achieve the same or a higher level of control, automation and reporting that DevOps movement leaders have. It is a way for you to have A-Team-quality solutions without the cost of teams of several full-time employees specializing in maintaining custom solutions.
If you have any lingering doubts about the positive business outcomes possible with a successful DevOps initiative, Puppet Labs produced the 2013 State of DevOps Report. This survey found that the longer a company has practiced DevOps, the faster service can be restored when something goes wrong.
If your coalition of the willing can demonstrate success, the value of IT to the business, and the value of freeing skilled resources to work on tasks related to an organization’s core competencies, you will have taken a significant step toward building a solid case for investing time and energy into DevOps for your organization.
Jonathan Thorpe is a DevOps Evangelist for DevOps and continuous delivery at Serena Software.