A multi-cloud strategy offers the best possible scenario for ensuring business continuity and helping improve innovation
Business problems are not “one size fits all,” and neither are cloud architectures. Organizations are looking for specific solutions that deliver on their bespoke needs—a driver for many of them shifting from one cloud provider to working with multiple providers. In fact, 84% of organizations have a multi-cloud strategy. This offers them additional resilience and security when it comes to ensuring business continuity and protecting their business and customer data.
Having a multi-cloud strategy could mean many things. It could mean using different cloud data warehouse (CDW) providers such as Amazon Redshift and Snowflake. It might mean hosting operational data stores in AWS, but transferring and performing analytics on that data in Azure. Or, the underlying cloud platforms could differ, such as two different Snowflake instances—one on Google Cloud Platform and a second on Microsoft Azure. These different CDWs could be hosted in different parts of the world. Sometimes, having a multi-cloud strategy means all of these at once.
Common Mistakes
Organizations often lock themselves in (often inadvertently) to a single cloud vendor by choosing tools or technologies that are very difficult to make portable. It can be very tempting to go for the most simple, seamlessly integrated piece of technology that a cloud vendor has to offer, but if that limits your choice of vendor later and does not interoperate with other clouds, it can lead to regret.
While there is an uptick of adoption for multi-cloud strategies, it is still in the early days—especially for many organizations that are still coming to grips with moving on-premises workloads to the cloud. Expect a lot more in this area as more customers demand that clouds work better together and resist services that lock them in.
Another mistake organizations make is that they do not account for the complex challenges that come with more data and differing technologies. Integration between data sources and solutions will be tough since not all providers offer seamless connections with other tools. That is why it is so important that organizations use technology that is cloud-agnostic, saves on costs and seamlessly provides better transition between clouds.
Enterprises need to have the right technical expertise, technologies and tools in place or they run the risk of failure. As businesses increasingly move to a multi-cloud strategy, the specialized skills they need to turn data into value are changing at staggering speed. Managed tools that leverage the power of the cloud enable us to handle more varieties of data, in larger amounts, at greater speed and scale than ever before. But the platform and the tools aren’t the only things that have changed—the techniques and resources on data teams are also shifting.
A data team focused on hand-coding and retrofitting technologies for cloud migration is not necessarily one that is prepared for modernizing data architecture and implementing a multi-cloud strategy. The data team needs to include people with the ability to organize data for cost-effective analysis and reporting that leads to intelligent conclusions—that is, data engineers with cloud training and experience as well as the ability to understand the data itself.
How to Gain Control Over a Multi-Cloud Channel
Organizations adopt multi-cloud strategies for a multitude of reasons. They may be sensitive to cost, have preferred partners, have adopted different grassroots technology in different departments and so on. However, sometimes the strategy is about the capabilities that are available. Cloud computing is an innovative space. While core cloud platforms for the major clouds such as Amazon AWS, Microsoft Azure and Google Cloud Platform are very similar in functionality for their core services such as storage, compute and databases, when it comes to the more advanced services such as machine learning (ML), artificial intelligence (AI) and advanced analytics, there are real advantages to being able to work across multiple clouds. For example, you might find that the data warehouse platform that best suits your needs is on AWS but the best ML tool for processing that data and inferring meaning is on Google Cloud Platform.
To have a successful multi-cloud strategy, companies need to use cloud-agnostic tools and technology that works with more than one cloud data warehouse and are able to support all the different environments with as little friction as possible.
Enterprises will need to embrace the best of what cloud technology vendors have to offer as opposed to watering down their offerings for a lowest-common-denominator, works-everywhere-but-limits-functionality-approach.
With a multi-cloud approach, all the advantages of cloud remain but you avoid many of the pitfalls. You still have the cloud scaling and cloud pricing to keep costs down. However, there is danger in being limited to a single cloud vendor and their ecosystem. Particularly for companies that want to lead by innovation, especially innovation with data, where the accelerating pace of technical improvement continues across all the major cloud vendors. Maintaining the flexibility to work on the best cloud platform to solve a particular business problem or process will give them the competitive edge.
Working With Multi-Cloud Environments
Here are some tips for making multi-cloud environments more manageable:
In general, work with existing, open, and emerging standards wherever possible.
Use containers for compute—ideally on Docker or Kubernetes.
Cloud storage such as Amazon s3 or Azure Blob Store are usually quite simple and migration is manageable. However, stick to common open data standards such as AVRO, Parquet or even CSV.
Security is a place where cloud vendors would love to lock you into their technology and can be painful to move. Use a third-party security provider such as Auth0 or PingIdentity.
For more cloud-agnostic and future-proof configuration management, consider Terraform over Cloudformation and other templating systems.
Writing serverless functions can be a huge advantage in terms of simplifying management; however, it’s also a place where a cloud vendor can heavily lock you in. Think carefully and keep your logic in a widely supported language such as Python or Node (Javascript).
When running images avoid cloud vendor operating systems over popular third parties such as CentOS or Ubuntu.
Whenever you engineer software that interacts with cloud APIs, design the layers of abstraction from the start and think about how you could migrate to another cloud. Once an application has been written to operate in two clouds, adding support for the third and fourth becomes incrementally easier.
Choose tools that are built specifically for and also enhance the major cloud platform to ensure you have the right strategies aligned to the right platform. As mentioned above, different cloud providers do certain things better. Make sure to understand what tools work best in which cloud environment—or better yet, find solutions that are purpose-built for cloud data warehouses to maximize your ROI.
Implement tooling to track usage across clouds for budgeting and resource allocations and latency to identify architectural pain points that may need remediation.
Evaluate independent software vendors’ offerings that extend the capabilities and scope of what is available in a native cloud service provider offering.
Select a solution that extends the cloud object store to multiple clouds, as a default multi-cloud deployment tier, to allow for the greatest degree of flexibility.
While a multi-cloud strategy may seem overwhelming and difficult to manage at first, it ultimately offers the best possible scenario for ensuring business continuity. Having the right tools in place will ensure manageability while empowering you to lead in innovation, ensuring the best possible return for your investment.