#121: State of DevOps 2021 - What it says about Cloud

The State of DevOps report provides excellent insight through rigorous analysis of its wide reaching survey.

The research provides evidence-based guidance to help focus on the capabilities that drive performance.

One of those is Cloud computing.

Why you might be interesting in this episode:

  • The correlation found between Cloud computing and great software development
  • The measures they uses
  • The insights found into the prevalence of multi-cloud and the reasons for it

Or listen at:

Published: Wed, 16 Feb 2022 16:34:25 GMT



Hello, and welcome back to the Better ROI from software development podcast.

In the last episode, I summarised the State of DevOps 2021 report. The report provided some guidance on capabilities to help you drive performance. One of those was Cloud, and that's what I want to talk about in this episode.

So why might this episode be of interest to you?

Well, you might be interested in the correlation of what this survey found between Cloud and great software development.

You might be interested in the measures that they used.

And you might be interested into the insights they found into the prevalence of Multi-Cloud and the reasons behind it.

In this episode, I'll give you a brief recap of DevOps and the State of DevOps report, which I talked about in episode 120. I'll give you a brief recap of Cloud computing, which I covered in episode 9. I'll talk about how the survey asked respondents about their Cloud use and the key results. I'll talk about what the survey established about Multi-Cloud use. And of course, I'll provide my own thoughts on the subject as we go through.

Let's start with the recap; DevOps, like so many technological terms, is very overloaded, it can mean different things to different people. For me, however, I like to stick with a Microsoft definition:.

"A compound of development (Dev) and operations (Ops), DevOps is the union of people, process, and technology to continually provide value to customers."

It's a marriage of traditionally opposing forces - innovation and change from your development team - while stability and limiting change from your operations team.

And it helps focus on the business outcomes that need a mix of the two.

The State of DevOps report is in its seventh year of reporting on over thirty two thousand professionals worldwide. It's produced by the DORA tema - DevOps Research and Assessment. It's the longest running, academically rigorous research investigation of its kind.

The report, for me provides clear evidence of the benefits of DevOps and its practises.

However, I would stress that many of the practises it talks about are universal. So even if you're not officially doing DevOps, I see it providing benefit.

One of the practises covered in the latest edition of the report is Cloud.

Cloud computing is an important change to how we buy our computing and data storage. Whereas traditionally it has been a capital expenditure with long lead times to produce and set up, Cloud has commoditized this, making it an operational expense with considerably shorter set up times.

It provides the flexibility for us to try things quickly, to experiment, to adapt, to be agile.

And we also gained by standing on the shoulders of giants. Cloud providers like Amazon, Microsoft and Google invest heavily in their services, driving down costs, increasing reliability, increasing security, rapidly innovating with new services available to anyone with a credit card.

So how does the report measure cloud?

Cloud, like so many technical terms, can mean different things to different people. The report uses the NIST definition Cloud Computing - NIST being the National Institute of Standards and Technologies. And in that NIST defined five key characteristics of Cloud Computing: on demand self-service, broad network access, resource pooling, rapid elasticity and measured service.

Against each of those five characteristics, the survey and report showed a dramatic increase in usage since the 2019 report.

Let's step through each one of them in turn;

On demand self service. This is defined as:

"Consumers can provision computing resources as needed, automatically, without any human interaction required on the part of the provider."

This is the ability for us to just log into a website, provide our credit card details and switch on a service. This provides us a speed to be able to experiment and try. We avoid the trap of paralysis by analysis or bureaucracy often found with the traditional CAPEX purchases.

73% of respondents said that they used this. This is an increase of 16% from the 2019 report.

Broad network access. This is defined as:.

"Capabilities are widely available and can be accessed through multiple clients such as mobile phones, tablets, laptops, and workstations."

This makes it easy for us to make our systems available to our customers. In most cases, the cloud providers give us much better connectivity to our customer than we are able to provide. Cloud providers will have geographic presences all over the world, almost certainly closer to your customer than you can be. Our systems and data can be closer to the customer using making it faster, helping also data governance.

The report said that 74% of respondents said they were using this an increase of 14% from 2019.

Resource pooling. This is defined as:.

"Provider resources are pooled in a multi-tenant model, with physical and virtual resources dynamically assigned and reassigned on-demand. The customer generally has no direct control over the exact location of the provided resources, but can specify location at a higher level of abstraction, such as country, state, or data center."

And this is how the cloud providers are giving us economies of scale. Whereas we had historically commissioned our own data centre and having to foot the bill for power comms etc., being able to share that resource across many customers allows for those costs to be shared and thus reduced.

73% of respondents said they were using this resource pooling, which was a 15% increase from 2019.

Rapid elasticity. Defined as:

"Capabilities can be elastically provisioned and released to rapidly scale outward or inward with demand.  Consumer capabilities available for provisioning appear to be unlimited and can be appropriated in any quantity at any time."

If we find that our new website is doing much better than we expected, we can double or triple our capacity in minutes. If we find that our new website is a failure, we can shrink our capacity or even switch it all off. Again, we have the agility to suit our needs at the time, rather than relying on an expensive and normally incorrect capacity planning process that we may have carried out six months ago.

The report showed 77% of respondents using this rapid elasticity, which is an 18% increase from 2019.

Measured service. This is defined as:.

"Cloud systems automatically control and optimize resource use by leveraging a metering capability at a level of abstraction appropriate to the type of service, such as storage, processing, bandwidth, and active user accounts. Resource usage can be monitored, controlled, and reported for transparency."

We get charged for what we use, not for what we don't. This is very similar to most consumer products - electric, water - these are metered products generally, where you're only paying for what you use. So if we scale those failing services down or switch them off, we have a lower bill.

Now, I always caution clients against going to the cloud with a primary view that it can be a cost saving. I find that that is the wrong approach. Overfocus on costs will generally limit any flexibility provided by providing a myopic overfocus. Focus on the flexibility and additional capabilities that Cloud provides you in a cost effective manner.

78% of respondents are using measured services, which is a 16% increase from 2019.

The report found that those in the elite performer category were three and a half times more likely to have met all of these NIST Cloud characteristics.

And this doesn't surprise me. I find it difficult to imagine obtaining anything like the flexibility and agility provided by Cloud when running in a local data centre. It would simply be too cost prohibitive.

Let's move on to Hybrid and Multi-Cloud.

The report took a specific look at the effects of Hybrid and Multi-Cloud.

Hybrid is where an organisation will be using the cloud along with its own data centres, potentially on premise. Unless the organisation is a start up, I find it likely that most will have some historical local data centre usage, even if only a small on premise setup. It is certainly, in my mind, common to find most organisation will associate with that Hybrid definition.

Multi-Cloud is where an organisation is using multiple Cloud providers. Again, with any business of any size, I would expect to see some level of that.

Interesting, the report claimed that only 21% of respondents claimed to not be using cloud. Now, I suspect this was because they answered the reports based on their primary application. I would suspect they would still be using Cloud in some form elsewhere in their organisation.

Diving deeper into the motivation behind Multi-Cloud, the report specifically asked the primary reason for using multiple providers. The largest response of 26% was to leverage unique benefits of each provider. This could be only that provider provides that specific service, or potentially that provider has better coverage in certain geographical locations.

22% of the respondents said the primary reason was availability. I assume this because of geographical differences and offerings between the providers.

17% said disaster recovery. 13% said legal compliance. 8% said negotiation tactic or procurement requirement. And 6% said lack of trust in one provider.

I'm personally a little worried about those last two.

Historically, there has been suggestion you have to use more than one provider to avoid vendor lock in. I worry a little that if that's the primary motivation between Multi-Cloud, then maybe that's an expensive tactic.

Building for Multi-Cloud is another level of complexity for an organisation. I'd personally be very cautious on Multi-Cloud without the capabilities to manage them correctly.

These are growing, complex fields. As such, the need for the correct capabilities to keep them secure managed an operation need to be in place.

Cloud is a growing field, and will continue to be so. I personally hold two certificates for the Microsoft Azure cloud, one for development and one for infrastructure. And I need to re-certify that every year - and this is because of how much those services change.

Now I've studied and worked with Microsoft Azure for over 10 years, but I still need to restudy the differences between the last time I took the exam.

I also listen to a weekly podcast specifically devoted to Microsoft Azure your every single week - there are new services, new functionality, new capability being released. Trying to keep on top of all of that and keep it in mind is a difficult task.

And the same is true for any of the other cloud providers. Similar to Azure, I've worked with AWS for a similar period of time - and again, they're constantly ramping and adding new functionality, new capability, more services, and these are coming out weekly.

Thus, for an inexperienced team, it's easy to experience sprawl and unmanaged mess of different Cloud providers and services.

As with all things, with great power comes great responsibility. Care really must be taken to maintain the ability to secure and manage those systems correctly.

Thus, my caution about jumping into Multi-Cloud too early or without those capabilities as part of your team.

In this episode, I've given a brief recap of DevOps, the State of DevOps report and Cloud Computing.

I've summarised the State of DevOps report results based on the five characteristics that NIST defined as cloud computing:.

  • On demand self service up by 16%.
  • Broad network access up by 14%.
  • Resource pooling up by 15%.
  • Rapid elasticity up by 18%.
  • And measured service up by 16%.

I've summarised Hybrid and Multi-Cloud, along with why respondents said they were using Multi-Cloud.

And finally, I've provided my own warnings over the danger of using Multi-Cloud unprepared - the dangers of that sprawl becoming a real problem for you and your teams being able to manage the systems you maintain.

In the next episode, I'm going to look at what the report says about quality internal documentation.

Thank you for taking the time to listen to this podcast. I look forward to speaking to you again next week.