Jan 28, 2020, Forbes Technology Council
Nati Shalom, Forbes Councils Member
POST WRITTEN BY Nati Shalom, CTO at Cloudify; constantly addressing and solving industry pain points, steering technical direction of the company.
Companies everywhere are quickly shifting data and core applications to the cloud and are realizing that singular cloud solutions simply won’t cut it when it comes to serving future needs. This, in turn, leads to an expanded multicloud strategy catering to different essential elements of IT operations.
According to a recent Forrester Consulting report, 86% of organizations claim their strategy is multicloud, yet cloud infrastructure has evolved quite substantially over the past year from focusing on delivering core compute, storage and network services to, well, everything in between, from network and edge services to private cloud.
With cloud infrastructure evolving at such a rapid pace, it becomes more and more difficult to simply migrate from old to new. Multicloud is now mostly a reality forced on organizations due to the rapid growth of infrastructure — a single cloud approach is both unrealistic and naive. Larger organizations are turning to multicloud due to mergers and acquisitions, shadow IT, cost and flexibility.
A bold example that enforces the need for this new approach comes from a leading bank that was using VMware for its private cloud but is now starting to move workloads to Azure with an end goal of moving the most part of their workload. As it started this migration journey, internal requests started flooding in from business units to use big data services and Google BigQuery. As a result, it now also plans to add support for Google.
Another example comes from a large SaaS company that started working with AWS. As it started to experience major growth, it acquired startups that were running on GCP and is now finding itself working with both.
In both examples, it is safe to say that these organizations did not choose multicloud, but rather, multicloud chose them, and they are both now trying to maintain some degree of consistency in the way they manage and run applications in such an environment.
The Current Approaches To Multicloud
There are three main approaches to multicloud today: using a cloud management platform (CMP), infrastructure as code and cloud-native abstraction using Kubernetes.
• Cloud Management Platform: With a CMP in place, larger companies are effectively creating an abstraction of the cloud infrastructure, providing a common management or API layer to access their multicloud resources.
In my opinion, CMP was a good approach in the days when the cloud was limited to compute, storage and network infrastructures. However, I recommend that business owners today consider the challenge that users cannot effectively utilize specific services and features of each cloud.
• Infrastructure As Code: Using infrastructure as code is indeed different. Instead of hiding the differences between each cloud infrastructure, it exposes the underlying cloud resources, simplifying multicloud complexity by treating cloud resources as yet another part of the application code. This allows users to leverage the same collaboration, version control and governance framework that are used to manage their code to exercise some degree of control over their infrastructure.
This approach is far more popular than using a CMP and widely adopted by many companies. However, be mindful, as it still forces the user to deal with all the separate elements of cloud infrastructure projects.
• Cloud-Native Abstractions: With a cloud-native approach, Kubernetes provides an application platform, dictating the packaging and delivery of applications. This approach does a commendable job of abstracting many of the underlying components from the application developer. The structure, which relies on containers, allows dynamic security at the enterprise edge.
However, it also requires significant time to adopt this architecture across the entire organization, and it still does not abstract all cloud services. Most enterprises are building their multicloud approach around Kubernetes and infrastructure as code but still need to add a lot of custom integration framework that will connect all their tools together.
Moving forward, it is becoming more and more obvious that multicloud is very much here to stay, but it is also evolving at a rapid pace. Without the right strategy in place, users could be welcoming an era of unnecessary complications, wasted resources and inefficient use of cloud services. It is time to think differently when dealing with this migration; it’s time to go higher — specifically, toward the continuous integration/continuous deployment (CI/CD) pipeline.
The CI/CD pipeline, best described as the process pathway through which a single unit of production-ready software can be delivered, provides a decent amount of freedom when constructing and can be fully automated, with each run fully logged and visible to the entire team.
Building a multicloud strategy centered around specific CI/CD automation rather than trying to deal with every possible multicloud use case is a healthy way forward. In the context of CI/CD, multicloud allows every development team to use the same pipeline across multiple clouds. Each workload per pipeline could indeed be written for a specific cloud. Automating the CI/CD as a higher power could allow users to integrate with the likes of Kubernetes, Azure ARM, AWS Cloud Formation and Ansible, creating a whole new environment as a service (EaaS). Stay tuned for my next update, which will explore why this new environment might already have arrived and its impact on the industry as a whole.