DevOps – Cloud = No DevOps!

In the last post we looked at the DevOps tool chain which looks something like this:

devops-toolchain-v2

It is important to note when viewing the above visualization is that it does not depict “where” code is deployed – in particular what are the platform choices one needs to consider for successful DevOps. To answer this questions, its critical to gain an appreciation of why traditional IT infrastructure approaches and platforms are non-conducive to DevOps. Lets take a look once again, at the methodologies that IT has had to contend with for the most part in the past:

waterfall-v1-14dec2016          agile-v2-14dec2016

In both approaches an infrastructure provisioning cycle that is anywhere from a few weeks to several months (still the case with a majority of enterprise IT organizations) is acceptable. In the DevOps driven agile approach, with continuous deployment objectives into production (as depicted below), this type of an infrastructure provisioning approach is a clear fail.

devops-methodology-v6

In short, for DevOps to be successful, you have to platforms that development teams can self provision as and when needed, and that can scale when required – i.e. you need just in time infrastructure, or in other words, cloud, to do DevOps. In fact it wouldn’t be stretch to make the claim that:

Cloud without DevOps can deliver some substantial advantages, however DevOps without cloud is a non starter.

This being said we are not (yet) making an argument of what type of cloud architecture makes most sense – i.e. private, hybrid, or public, or IaaS vs. PaaS. Neither are we making a claim as to what the optimal unit of deployment for DevOps is – the code alone (think serverless, e.g. Amazon Lambda), code in a container (e.g. via Docker or via a PaaS based solutions viz. CloudFoundry), or maybe even a VM. As you can imagine the answer to these questions is non-trivial, and generally use case dependent. We will examine all of these options and their applicability in future posts.

Before we go there though, we will spend time looking at two more ingredients without which DevOps is a non-starter – the right Operating Model, and perhaps the most intangible and hard to implement of all, culture.

Advertisements
DevOps – Cloud = No DevOps!