The Principles Behind DevOps

Priyanka Naik 19/02/2018 5

The face of modern IT has been changing swiftly, as data centers transition from physical infrastructures to virtual infrastructures. 'Cloud' applications extensively use microservices (small chunks of independent functions), deploy via containers and communicate via APIs.

A key driver for this transition is the increasing need for rapid development and deployment of cloud-native applications, as businesses actively adopt digital strategies - either to disrupt their markets, or to simply remain competitive. This has led to a new practice of combined application development and IT delivery called DevOps.

DevOps (a portmanteau of "DEVelopment" and "OPerationS"), refers to a set of practices that encourages a handshake between software development and Operations. It aims at establishing a culture of buildingtesting and releasing software patches rapidly and reliably. 

So what specifically does DevOps entail? A key principle behind DevOps is - continuous delivery of software components (such as microservices), rather than sporadic releases of monolithic applications, and their continuous integration into the production systems as required. 

'Agile' Vs. 'DevOps': 'Agile' and 'DevOps' are often used interchangeably, which leads to a fallacy that both imply the same. While, both do share the same vision of improved IT performance via rapid development of independent components, DevOps also factors in the deployment phase, with 'Ops' teams in constant communication with their 'Dev' counterparts. DevOps can be considered a successor to Agile.

Roadmap to DevOps Transformation: Collaboration forms an important aspect while implementing DevOps, as cross-departmental exchanges are crucial to facilitate information transfer at every stage. Also, DevOps transformation must be driven by a top down form of executive ownership, in conjunction with its collaborative approach. Teams must learn to work together in order to ensure continuous delivery of better software, better quality and consistent customer experiences. 

DevOps in early stages: Initially, DevOps generally consists of a merged development and operations team working separately from the rest of the business. However, to reach the pinnacle - development, operations and the wider business should all work hand in hand towards achieving common goals. Rather than seeing DevOps as a simple process of placing these two teams together in yet another silo, DevOps should be an ongoing process that makes way for more and more integration.

Role setting: Developers and operations team should have a clear vision of their new roles and their desired behaviours. Earlier, developers could focus exclusively on writing code, but with DevOps, they’d be expected to dedicate efforts for testing and deployment as well. On the other hand, the operations team would be expected to learn new languages, tools and architectures, which would allow them to play a bigger role in the development process. 

Data-driven DevOps: It is crucial to set appropriate metrics to spot the root cause of problems and avoid the risk of blaming the other side. Having shared KPIs will enable benchmarking with peers and enhance a culture of collaboration. Some of the most important points to monitor would be - frequency of deployment, mean time for resolution, amount of time taken from development to production, etc.

Footnote: Inspired by the world of in-time manufacturing and 'greenfield' enterprises, DevOps is now steadily making inroads into the 'brownfield' enterprise market.

It's relatively early days for DevOps in the enterprise, and there are significant barriers to overcome. These include not only the technical issues like legacy application integration and test automation, but also factors like IT culture, budgets, skills and executive buy-in. But with gradual adoption, the world could come up with new models of seamless deliveries and a set of best practices.

Share this article

Leave your comments

Post comment as a guest

  • Shay Willie

    DevOps is great but not the solution to every development challenge

  • Jay Lee

    DevOps will open up endless opportunities

  • Ann Black

    The best way to ensure that DevOps is being implemented effectively is choosing the right team.

  • William Brown

    Thank you for the good explanation

  • Roy Montero

    Change has to be thought of as a good thing, or else the project could fail. You have mentioned very interesting points !!!