The original thinking behind DevOps emerged from within the IT practitioner community, largely in direct response to the frustrations with traditional IT delivery methods previously discussed. The ideas quickly gained traction among so-called ‘born on the web’ businesses, and since then DevOps has become instrumental in enabling many cloud service providers and mobile developers to roll out functionality on a continuous basis while maintaining a high degree of quality and operational integrity.
DevOps adoption has until recently, however, been comparatively slow in mainstream large enterprise IT departments, despite the obvious need arising from digital business dynamics. Apart from inertia associated with the use of traditional methods, the way in which DevOps has grown up has often jarred with the historical enterprise emphasis on control and stability. The DevOps philosophy of cross functional integration has then frequently conflicted with deeply-ingrained lines of demarcation between teams.
These cultural impediments have arguably been aggravated by perceptions of the ‘DevOps movement.’ When enthusiasts get together at conferences, for example, their passion and evangelism can sometimes be misinterpreted as elitism and purism. It’s easy to get the impression that to ‘do DevOps properly’ you need to shun all commercial software in favour of open source, and forget everything you thought you knew about IT delivery because it has all been superseded. Those working in a complex legacy-dependent environment can find this off-putting.
The reality is that DevOps is completely relevant to and compatible with the requirements of enterprise IT, and indeed many blue-chip corporates, ranging from large retailers like Tesco, to major telcos such as Swisscom, have adopted it at a strategic level as we shall see later. In order to succeed, however, the enterprise must move some way towards the more revolutionary ideas and principles that underpin DevOps. Equally, though, some of the practical aspects of the DevOps approach need to be adjusted, extended or strengthened to deal with the needs of a highly complex, large-scale environment, respecting the fact that applications vary considerably in their risk profile and their ‘need for speed’ from a deployment perspective
When you drill into what this means in practice, just like any other major transformational activity, DevOps is about people, processes and technology.