Multi-Cloud or Multiple Cloud?
In the post, What is Multi-Cloud?, we defined multi-cloud in the context of the “data-gravity” pain points multi-cloud solutions should aim to solve and we emphasized the difference between multi-cloud and multiple-cloud data architectures. As a reminder, in that post we defined data-gravity as a particularly painful variety of cloud vendor lock-in:
Data gravity is the phenomenon where the more data an organization collects, the more difficult it becomes to move that data to a new location or system. In the context of the cloud, as data accumulates in a cloud, it attracts more applications, services, and users to the same cloud. This self-reinforcing “gravitational pull” makes it increasingly challenging to make data available to applications and services in other clouds. As a result, organizations suffering from data gravity will find themselves locked into a particular technology or vendor, limiting their flexibility, agility, and ability to manage cloud vendor costs.
With the background established, we’ll turn attention to helping you answer the question: “Is my data architecture multi-cloud our multiple cloud? The most significant distinction between multiple cloud and multi-cloud deployment models stems from whether the solution is architected with application-first or data-first design principles.
A multiple cloud deployment starts with decisions regarding where to run applications, and which native and third-party cloud services to use. Invariably, application-first decisioning results in data being “distributed” to the locations/clouds in which applications and services run with each data set in a silo having its own “volume” of data-gravity.
By contrast, a data-first architecture starts with an assessment of the data required to enable applications and the full spectrum of data services used by the organization. With that understanding, decisioning can turn to where to “place” and how to manage data. This decisioning should aim to achieve three objectives:
- Maximizing the breadth of the application and cloud services to which data may be presented
- Minimizing operational costs, complexity
- Providing a platform for flexibility and agility for the future
In traditional application-centric architectures, these objectives are incongruent; and to a large degree, in explicit conflict given the paradigm of data following the application. But in a multi-cloud design, these objectives can be brought into harmony by placing data in a region with multiple cloud providers in a data store provided by a cloud-agnostic third-party.
The natural outcome of this data first approach to architecting for the cloud is significant flexibility to determine which cloud(s) in which each application can be optimally run from a price/performance standpoint.
In the spirit of a picture tells a thousand words, the diagrams below reflect the multiple cloud design that stems from application-first design principles contrasted with the multi-cloud design from data-first design principles.
In order to better distinguish between multiple cloud and multi-cloud design principles, below are a few questions worth considering:
- Do you frequently move, copy, or synchronize data between your on-premises environments and multiple public clouds or between multiple public clouds?
- Do you have duplicate copies of some or all of your data stored in multiple public clouds or your on premises environments?
- Are you experiencing difficulty making data available to the applications and services your internal data consumers are using in the public cloud?
- Do your cloud vendor selection decisions start with a decision regarding which cloud to put your application in (or with the selection of a specific cloud service), rather than with a decision regarding where to put your data?
- When you think about multi-cloud strategies do you first think about how to make your application portable and later about where your data is stored?
If your answers to the questions above lean toward “Yes,” you are likely relying on application-first design principles in your cloud deployments. Coincidentally, you are in all likelihood experiencing the pain points that stem from data-gravity, including the need to move and copy data across your on premises and cloud environments.
If your organization is experiencing the pain points associated with multiple cloud design principles, you may benefit from shifting to data-first design principles which leverage true multi-cloud data storage solutions. A true multi-cloud solution will enable your organization to escape data-gravity by presenting one copy of your data to applications and services in multiple public clouds simultaneously; accelerating your organization’s data-driven transformation and enabling you to optimize the decision regarding where each workload runs based on application-level price/performance considerations.
By Derek Pilling