DevOps Basics - Part 3

Posted on Dec 23, 2022

The 3 dimensions of Enterprise DevOps

For DevOps at enterprise level, there are 3 dimensions that need to be considered. These are:

  • Technology
  • People and Process
  • Ecosystem

Technology

In this dimension, you need to cover things like:

  • Test Automation
  • Cloud Technologies
  • Breaking up of Monolihtic applications and architectures

The Speed at which one can deliver value is dependent on the agility and how nimble the architecture is. If you have to deploy a huge monolithic application, it will take a lot of time to deploy and offer minimal flexibility. In that case, you need to break up the application or decouple your architecture into smaller components and deploy them independently. This will allow you to deploy faster and also offer more flexibility as you can just deploy the buisness rules first.

People and Process

In the people dimension, you need an evolving organization structure that works for your organization. Simply adopting the organization structure from a different organization won’t help as you have different set of people with different mindsets and skillsets. You need to evolve your organization structure to suit your organization. You also need to have a culture of continuous learning and improvement. This will help you to keep up with the changing times and also help you to adapt to the changing needs of the business.

The same is true for your processes. Finding the leanest way to achieve the same outcome with a new process should be the goal. For eg: Ask if your deployment is reliable, can be validated quickly and if reversing changes is easy. If the answer is no, then you need to find a better way to deploy. In this way an approval for deployment can be replaced with a simple notification, saving a lot of time.

Ecosystem

The ecosystem is the third dimension of DevOps. In this dimension, you need to consider the following:

  • Technology Vendor

For DevOps to be successful the technologies that you’d use must be cloud enabled, have APIs that offer high level of automation and are able to be expressed in code, that can be stored in a configuration management system.

Unfortunately many technologies aren’t there yet, and there are very few one stop shops that you can use. As such you’ll be depending on an array of tech vendors working with you. Undrestanding and managing the ecosystem of vendors and their capabilities is a key part of DevOps success.

  • Service Providers

The second most important part of successful DevOps transformation are service providers. How will you align the incentives to increase DevOps maturity and work with these vendors to remove blockers along the way? Some organizations choose a path to set standrads for all of their vendors. Others are less prescriptive and use a strong Key Performance Indicator (KPI) based approach to evaluate progress. The major DevOps KPIs are:

  • Deployment cycle time
  • Mean time to recover
  • Deployment failure rate

These can be used to have meaningful discussions on the basis of real data. But there is no one true way to measure at the enterprise level. KPIs should be chosen on what matters to you or your organization and where your biggest bottlenecks are.

Up Next - DevOps Basics - Part 4

Previous - DevOps Basics - Part 2