Mar 2021

What’s multi-cloud? And why should developers care?

Most developers don’t care about multi-cloud. But they should.

Whether developers know it or not, their companies likely already have a multi-cloud environment.

Multi-cloud is a strategy where a business selects different services from different cloud providers because some are better for certain tasks than others. So company X could use cloud A for infrastructure, cloud B for app dev and testing, and cloud C for data localization in a region.

While traditionally considered multi-cloud, this setup really only scratches the surface of what’s possible today. That’s because clouds A, B, and C are isolated from each other from a workflow perspective and there’s little or no data sharing across them. That’s where the real payoff is for developers.

Data sharing has been tough

It’s just been too difficult for developers to build and deploy across clouds. Data sharing has been almost impossible, which is why most developers haven’t jumped at the opportunity. If they have chosen to do it, it hasn’t been easy. It’s meant:

To migrate or duplicate any data from one cloud provider to another, developers have had to create and maintain bespoke processes.

If one cloud region goes down, jumping over to another is not seamless and results in slower experiences for all.

It’s difficult to secure, monitor, maintain, and govern across clouds.

The barriers between clouds have always been high. Devs have had to rewrite the majority of their application code for a second cloud, and even then they still had siloed data sets.

It’s true that portability for the application tier is getting easier. Kubernetes, orchestration solutions such as Terraform, and monitoring solutions like Datadog have made multi-cloud more manageable. But even in a world where stateless applications can be consistently managed across clouds, having both the data and operations management keep up has been a beast.

Advantages of “true” data sharing

Imagine if you could take modern applications like these one step further and deploy a single data layer across AWS and Google Cloud, or Google Cloud and Azure, or across all of the “big three” at the same time. All without the deployment and interoperability hassles.

That would give developers the flexibility to choose the best tools and cloud services for the apps they are building. In other words, use AWS Lambda, Google Cloud’s AI Platform, and Microsoft’s Azure DevOps Services within a unified console.

Multi-cloud clusters let developers deploy data and apps across all of the different clouds at the same time, or seamlessly migrate from one cloud to the other without downtime. Here’s why you might want to do that:

  • Pick and mix the best tools across clouds
  • Expand apps globally with high availability and low latency
  • Satisfy local data sovereignty requirements
  • Benefit from portability

Many developer teams are already using single-cloud clusters; multi-cloud clusters are what’s new. A single-cloud cluster enables continuous backups, automated data tiering, and workload isolation. Multi-cloud clusters on MongoDB Atlas do all that, plus data sharing and resiliency across clouds.

The secret ‘data sharing’ weapon

With multi-cloud clusters, there’s a tight organization between the various cloud platforms, so you can use the app-building tools you want and shift workloads as you see fit. And you can do that without adding data management complexity.

Maybe you don’t need to run workloads across multiple public clouds right now — not everyone does. But with multi-cloud clusters, you can rest easier knowing that cross-cloud migration is now a simple option if you need it. It’s only a matter of time before most devs do.

Login to post comments