Blog July 3, 2019

DevOps and Multi-Cloud Environments: The Trick to Getting the Most Out of Both

If you are in an enterprise organization, chances are good that your IT teams have adopted either a DevOps approach or a multi-cloud environment, but not both. But both are needed to truly fulfill the potential of the other.

The idea of having DevOps as an important part of an enterprise’s IT is not new. The term has been around for roughly 10 years, and most enterprises are at least considering a DevOps approach to applications and infrastructure.

Likewise, a good 85% of companies are already operating in multi-cloud environments, and 98% of companies are predicting they will be operating in a multi-cloud environment within three years.

But the overlap—that is, companies with DevOps operating in multi-cloud environments—is not nearly as widespread. Of companies already operating in multi-cloud environments, only 39% have implemented DevOps tools and processes. And of those moving into multi-cloud, only about 61% are doing so with the benefit of DevOps.

DevOps and multi-cloud easily go hand-in-hand. If you are creating or revising your multi-cloud strategy, this is the perfect time to consider wider adoption of a DevOps approach. On the other hand, if you already use a DevOps approach, you will be able to get much more out of it by adopting a multi-cloud environment.

First, What is DevOps?

Previously, we defined DevOps this  :

“DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.”

Much of DevOps depends on automation to build, test, and release applications, services, and infrastructure more quickly and reliably. But it also requires a culture within IT that is willing to work across silos and use an approach to development that is different from what has been used for the past two decades.

Making DevOps Part of Your Multi-Cloud Strategy

DevOps recognizes and tries to reconcile the tension between two traditional areas of IT:

Development teams need to move fast to develop applications and services, deploy changes, and roll out production. This often requires agile development methods, with a near-constant stream of testing and deployment activities.

Operational teams, on the other hand, want stability. They need to make sure that both endpoints and data centers are up and running, not to mention secure.

There are a great many benefits to using multiple cloud environments, not the least of which is that it can make agile deployment of applications and services that much easier while maintaining the stability of the environment. But as the number of platforms increases, so does the complexity of the environment.

A DevOps approach would be to standardize and automate as much of the testing and deployment as possible, with monitoring and adjustment through a single pane of glass. This helps organizations take full advantage of the benefits that a multi-cloud environment has to offer.

How Multi-Cloud is Changing Existing DevOps

That said, enterprise-sized companies with existing DevOps teams are feeling new pressures as they move to multi-cloud environments. For example, there is more pressure to create cloud-native applications and to make everything more scalable. Continuous integration and continuous release are no longer long-term dreams, but practical necessities.

The move to multi-cloud can also mean adopting new tools for reliably deploying code to, and across, cloud environments. The ideal tools should allow the organization to deploy multiple targets while taking advantage of the strengths of each particular platform.

Finally, there are new issues when it comes to security and compliance across multiple cloud platforms. While standards remain the same for the entire enterprise, the tools and approach may need to vary with each platform. This can require a dedicated compliance team by itself.

So is it a mistake to burden DevOps teams with multi-cloud, then? Not at all. Using multiple cloud environments actually gives DevOps more flexibility and speed, not less. It also has the benefits of:

  • Preventing downtime if there is a failure in any one cloud environment
  • Distributing workloads to optimize performance
  • Moving and scaling as needed
  • Ensuring access to a wide array of data analytics tools, performance monitoring tools, and reports

Getting Started with DevOps and Multi-Cloud

Supposing that you want both DevOps and a multi-cloud environment as part of your digital transformation strategy—what then? Is it just a matter of pursuing two independent transformation projects?

As the above makes clear, pursuing both independently is a bad idea. Each should be adopted in light of the benefits of the other if you want to ensure optimum performance.

For example, enterprises should make the following steps part of their overall DevOps/multi-cloud strategy:

  1. Assess the extent to which DevOps can leverage various cloud platforms for virtualization, containerization, and serverless application environments.
  2. Consider adopting IaC (infrastructure as code), and ensure that the IaC tools you adopt support a continuous integration/continuous release model.
  3. Make sure that part of DevOps’ automation processes include provisioning target platform resources in the various cloud environments.
  4. If your DevOps teams don’t have the talent in-house to know how to navigate multi-cloud environments, consider bringing on a partner to help with the transition. (Or, if you don’t have a DevOps team, make sure you have a Managed Services Provider with DevOps experience on its team, like we do here at Connectria.)
  5. Keep monitoring and compliance top-of-mind at all times. Make sure you have the tools to make this happen.

For this last item, we recommend TRiA, our multi-cloud management platform. DevOps can easily use TRiA to manage diverse clouds, including AWS, Azure, VMware, UNIX, IBM iSeries, and other cloud environments, using a single dashboard.

For further reading, try these:

Our article “What is DevOps and why should you care?

Our ideas on how you can “Optimize Your Cloud Investment

Our answer to the question, “Should You Migrate Mission-Critical Workloads to the Public Cloud?

You can also read up on the services we provide for application support and development.

 

Related Resources

 
TRiA Helps Codify Cloud Governance
In my last post, I talked about the difference between cloud management and cloud governance. In a nutshell, cloud governance defines the structure within which…
 
Which Cloud Management Model Should You Adopt?
While cloud adoption has soared in the past few years—96% of companies use the cloud in one way or another, and 80% of enterprises have…
 
Elastic Compute v. Reserved Instances
If you’re looking at spinning up resources in an AWS or Azure cloud, you’ve probably come across two important terms: Elastic Compute and Reserved Instances.…