Docker announced a collaboration with Amazon Web Services (AWS) to simplify the lives of developers by allowing them to focus on application development, streamlining the process of deploying and managing containers in AWS from their local development environment.
"DevOps isn't about automation, just as astronomy isn't about telescopes." C. Little
We've all heard the jaw-dropping stats on just how much DevOps speeds up software delivery. For instance, the latest State of DevOps report shows that high-performing IT organizations deploy 200 times more frequently than low performers. When we read about how IT departments transform their release velocity with DevOps, the increases in teamwork are emphasized. But the truth is that without the spine of Application Release Automation (ARA), DevOps teams would not be able to flex their collective muscle.
The human element is more romantic: Barriers between the long-divided Dev and Ops teams are broken down, everyone becomes best friends and sexy new collaborative methodologies are put in place. While this sounds great, believe me this isn't sufficient to produce the increases in productivity we read about. Only computers can achieve this level of efficiency.
Although collaboration it is a key component, in my opinion the most important element of DevOps is a short, automated deployment lifecycle that allows incremental releases at high velocity. Each stage of the lifecycle uses its own automation tools, which are then orchestrated end to end using ARA.
Lessons from the DevOps Summit
Having just returned from the London DevOps Enterprise Summit, I can tell you that DevOps thought leaders vary in which element of DevOps they consider most important. Some emphasize culture but others, such as Benjamin Wootton from Contino in his talk Lessons from 50 DevOps Transformations says: merely saying we need to develop a DevOps culture is "wooly and inactionable." CIOs he has spoken to want to know what action they can take tomorrow.
ARA represents both a philosophy and a plan of action. Enterprises can start using it tomorrow, a decision that will go a long way toward creating a defined methodology that brings Dev and Ops into contact by working with a unifying, collaborative tool.
ARA also provokes IT staff to question what comes before and goes after their specialized section of the deployment pipeline, to learn about other disciplines. Encouraging staff to think of where and how they can automate processes across the lifecycle will increase release velocity and increase the spread of knowledge across the department.
Tribal knowledge from specialists at each stage of the process is aggregated to produce a repeatable, automated loop serving as a template for every release. This removes guesswork and time-consuming ad hoc decision making, transforming software delivery from a bespoke workshop to a high performing production line. As the success of DevOps teams is measured by velocity, the latter option is always preferable.
The ARA Production Line
The original Ford production line performed better than individual car makers as it defined a repeatable loop of action. Each member of staff was specialized and knew what they had to do and when. They also knew what to expect from the previous man along the line, so their jobs were more predictable and therefore efficient. Nowadays, men program robots to carry out the same defined actions at vastly increased speed.
While a traditional production line focuses on making as many of the same product as possible, modern software engineering is about making many modifications to one product as quickly as possible. The ability to change the nature of these modifications and the speed at which they can be completed is known as business agility. Therefore, the faster the release cycle is, the quicker innovative business decisions can be realized and put into the hands of end users.
Wootton also talked about the need for a formalized DevOps framework, like an ITIL for DevOps. While we are some way away from this, I believe ARA gives a much needed template of process for DevOps teams. While we read about how to make the perfect DevOps adoption, we know that in reality DevOps transitions are ad hoc or trial and error. A deployment pipeline brings a semblance of order to the chaos, a method to the madness.
The State of Your DevOps
Once this order has been achieved and everyone knows their roles, the production line starts to bear fruit and release velocity increases exponentially. A tight deployment pipeline allows the short release cycles and collaboration that are the foundation of successful DevOps. While ARA can survive without DevOps, DevOps needs ARA to function.
Maybe next year your company could feature in the State of DevOps. How well your IT department exploits DevOps methodologies and ARA and will be the difference between featuring as one of the low performing companies being left behind, or one of the unicorns releasing at pace and leaving the competition in your wake.
Dr. Chris Boorman is CMO of Automic Software.