What's the relationship between DevOps and Continuous Delivery?

Let’s start by having a look at the following two comments by Gartner analyst Nathan Wilson, in an interview with ZDNet.

NW: "DevOps does not have a consistent definition within the industry and the definition is changing because of different impacts. But initially we defined DevOps as applying agile techniques to operations and getting development and operations to actually work together.”

So DevOps equals bringing Agile into production?

NW: “That was classically the way we talked about it and then a few years ago a major vendor developed a continuous deployment tool and they re-defined DevOps. They saw it as instant deployment – where a developer would check something in and then it would be in deployment within an hour. So that got labelled DevOps.”

So DevOps IS continuous deployment?

Gartner recently stated that DevOps is not a market, but a “Tool-Centric philosophy that supports a Continuous Delivery value chain”.

So DevOps is the philosophy behind Continuous Delivery – a tool-centric philosophy?

Continuous Delivery is the method that promotes the adoption of an automated deployment pipeline to release software reliably and quickly into production. Its goal is to establish an optimised end-to-end process, enhance the development to production cycles, lower the risk of release problems and provide a quicker time to market. It is, of course, implemented with the usage of tools.

Things are starting to connect, right?

Continuous Delivery (CD) and DevOps possess a shared background in agile methods and Lean Thinking: small and quick changes with focused value to the end customer. They are well communicated and collaborated internally, thus helping achieve quick time to market, with reduced risk. (Sounds great, doesn’t it? )

The combination of ‘softer’ or flexible philosophical concepts that go hand in hand with a very practical set of continuous delivery best practices, means that we are talking about similar, but not identical things.

DevOps aim is “aligning development and operations roles and processes in the context of shared business objectives“, and organising them into principles and practices.

DevOps is about the culture. About creating better collaboration between development and operations. About building a well-defined processes. About being agile.

You can probably embrace and practice the DevOps philosophy without implementing CD. I’m not quite sure if that would be efficient, it will likely be hard to maintain, and it will definitely be very hard to improve on – but it can technically be done.

You can implement CD without overall organisational DevOps adoption. Without the overall cultural change – by starting small with one team or one project. But your success will be limited.

To truly succeed, you need to embrace both.

One way to achieve cultural change is to start small. Create some really great success stories in one or a few of your projects – by picking the right people to lead it – and it will take a life of its own. People will say ‘Hey, this works’ – and very quickly, everyone will want to become more agile and have better processes.

Once you start making this cultural change, and by fine tuning and improving your CD process, you will achieve improved and safer processes organization-wide. In a recent survey, 66 per cent of companies stated that they are implementing Continuous Delivery. This is not a fashion trend. This is not hype.

DevOps and Continuous Delivery are the future.

Yaniv Yehuda is the Co-Founder and CTO of DBmaestro, an Enterprise Software Development Company focusing on database development and deployment technologies. Yaniv is also the Co-Founder and the head of development for Extreme Technology, an IT service provider for the Israeli market. Yaniv was a captain in Mamram, the Israel Defense Forces computer centers where he served as a software engineering manager.

You can find out more about DevOps by downloading the ebook In Database Automation we Trust.