You don’t need to read the DORA State of DevOps report to understand that cloud improves software delivery performance. But the report shows that teams that actually leverage all of cloud computing's essential characteristics are 23 times more likely to be high performers.
What are the essential characteristics?
1. On demand self-service
Provision computing resources without any human interaction
2. Broad network access
You get the network capability you need, regardless of the device you are using
3. Resource pooling
Physical and virtual resources are dynamically assigned or reassigned on demand
4. Rapid elasticity
Capabilities can be elasticity provisioned and released to rapidly scale outward and inward with demand
5. Measured Service
Everything is measured so that the system automatically can control and optimize resource use
But only 22 % that said they were using cloud infrastructure agreed that they met all of the characteristics.
4 ways to meet the characteristics
Even if you are using cloud computing you are not necessarily taking advantage of all the cloud characteristics that actually makes you save time and money. If you have to raise a ticket to access a critical resource to do what you were planning to, you are not using all the benefits of the cloud, and you are not doing it the right way.
There are different ways of meeting these characteristics. Platform as a Service, Infrastructure as code, Cloud Native applications and Open Source are all helpful components for you to reach your goal of using cloud the right way.
Platform as a Service
Platform as a service is one way to provide better service to developers. Examples of PaaS is Red Hat OpenShift, Cloud Foundry, Heroku, AWS Elastic Beanstalk, Azure App Service, Google App Engine.
Only 24% of the respondents reported that they are using PaaS. However, respondents that do most of their work on a PaaS are 1.5 times more likely to be in the elite performance group.
Infrastructure as Code
One of the key innovations of DevOps is infrastructure as code. To reproduce and change the state of our environments in an automated way in version control rather than configuring infrastructure manually with scripts.
This is a natural fit for cloud infrastructure, where resources can be provisioned and configured through APIs.
Respondents using infrastructure as code are 1.8 times more likely to be in the elite performance group.
Applications designed specifically for cloud systems are referred to as cloud native. Systems in the cloud are presumed to run on unreliable underlying infrastructure and must be designed to handle failures. This means cloud native applications must be resilient, able to respond dynamically to changes in workload, and easy to deploy and manage on-demand.
47 percent agreed of developers that were deploying to a cloud, agreed that the application or service they were working on was originally designed and architected to run in the cloud.
While not all high-performing teams run cloud native applications, teams that do are 1.8 times more likely to be in the elite performing group.
Open source software has become widely adopted the recent years. 58 percent of respondents agreed that their team made extensive use of open source components, libraries, and platforms, with over 50 percent agreeing that their team planned to expand use of open source software.
Elite performers are 1.75 times more likely to make extensive use of open source components, libraries, and platforms than low performers, and 1.5 times more likely to plan to expand their use of open source software.