Wednesday, 3 April 2013

DevOps – The harmony of Dev and Ops

An Enterprise IT operating model is usually controlled and implemented via senior levels of management.  Unfortunately this usually causes a disjoint level of understanding as to what happens on the ground  promoting a “healthy” functional divide.  ITIL and other frameworks continue to stifle an organisations ability to adapt and react to business change and promote relatively old methods and mechanisms of operation.  It is difficult to mould ITIL into the new world of continuous delivery, automated testing and feature flagging.

Over the last decade Agile software development methodologies have drastically changed the customer satisfaction experiences during the development process.  No longer are customers expected to provide immense levels of details up front and no-longer is it acceptable for the business to isolate themselves from software delivery.  The IT industry is empirically learning from the mistakes of the past, addressing those mistakes, learning, improving and evolving.

It is with this evolution we now see the continuation of change into the IT operating world.  In 2008 a concept, “Dev Infrastructure” was conceived.  This conception brings a new set of business opportunities and capabilities to an organisation.  A new breed of IT operating principles known as DevOps.

DevOps is one of the most difficult things to articulate, DevOps is (currently) undefined and has several meanings to many people.  I believe DevOps is best described as an organisational culture.  The culture which enables co-location and co-operation between development and operational functions.  It is a fundamental merger of practices and principles between the previously delineated worlds.  No longer is it acceptable for manual deployments, manual fixes and manual intervention, we now have the capability to deliver code-controlled infrastructure, deployment and configuration.  Gone are the days of zero code capabilities in operations, we should now seek to ensure repitition of operational activities…. This is the DevOps way.

All too often we find ourselves in a situation where Developers are not part of the operational team, this often leads to large amounts of documentation and a blame culture.  DevOps aims to address this state of affairs by aligning the 2 disciplines, promoting “Up-Skilling” of existing operational staff and ensuring IT services are delivered in a safer operationally controlled way.  More and more we hear about the concept of “Dog-Fooding” IT to our internal teams, this is no more relevant than “Dog-Fooding” the failures back to developers.  Discipline and quality is important in software development and developers need to “Up their game” to support operational teams.

Developers also need to understand and appreciate the discipline and rigour that ITIL change and release management process brings to an organisation.  Some of the most valuable elements of ITIL are the service-management and continuous improvement principles.  To sustain any development output requires an understanding of the value of ITIL continuation and customer focused management.  DevOps culture will never be an easy journey, but it can be embraced in an ITIL organisation, by using collaborative and assured change methods.  ITIL organisations will also need to adapt to automation change mechanisms, reduce the manual overheads and “log and flog” incident culture.  Manual incident resolution should look to harness DevOps to lean out and streamline 1st and 2nd line call-outs.

I believe that with good service-management and great development discipline, Dev and Ops can merge to obtain the upmost respect and valued discipline from the 2 evolving sectors.  DevOps is an exciting movement which is radically gaining traction in the IT market, I hope to see many an exciting project stem from the automation disciplines evolving from the DevOps methods.

As with every IT change over the last 10 years the success of anything generally relies on the people involved.  DevOps is not a silver bullet, but with the right people, process and tools DevOps culture will ensure a slicker and radically leaner organisation.

For more information on DevOps tools, please see http://www.opscode.com/chef/ or https://puppetlabs.com/.