105 – Multi-cloud benefits, challenges and adoption


A-journey-in-your-multi-Cloud-adoption 105 - Multi-cloud benefits, challenges and adoption

The journey started from the cloud to arriving on the multi-cloud. Nowadays, every IT department in an organization is heading towards the multi-cloud era. Let’s first get our heads clear,

  • What is multi-cloud?
  • What is a hybrid cloud?

As we are hearing, these two terms are sometimes interchangeable.

So multi-cloud is where an organization uses the cloud services from two or more cloud providers, such as the Oracle Cloud, AWS, Azure, and Google Cloud.

A hybrid cloud is where the organization uses on-premises services, or “private cloud,” and a few from any of the cloud providers – public clouds, such as the Oracle Cloud, AWS, Azure, and Google Cloud.

Distributed cloud: organizations want to have their own decision and choice for the cloud resources that they want to have. It could be multiple public clouds, or even an Oracle cloud@customer, an AWS outpost, etc. The point is that services will be like a public cloud and managed, and governed by the public cloud vendor.

Now the first question that comes to mind is, why multi-cloud? A few areas to think of…

  • Vendor lock-in (in other words -multiple cloud vendors lock in😊)
  • Data center availability – this is also linked to the compliance requirement that you need to have an in-country data center
  • Utilize the best services from the cloud vendor, who specializes in certain services.
  • Low latency requirements for certain applications and that vendor doesn’t have a data center in that region.
  • Price optimization
  • By accident, they opted for multi-cloud (within organizations, the different departments opted for different cloud vendors).
  • Resilience (I need to have a backup site with other cloud providers)

The multi-cloud strategy brings several benefits to organizations, however, implementing a multi-cloud also brings challenges, few to mention:

  • Compatibility
  • Increased complexity
  • Security
  • Interconnection between different cloud providers
  • The learning curve for the IT teams (to learn about different cloud providers)
  • Cost estimation and reporting.
  • Cloud management
  • Multi-cloud architecture

Architecting the enterprise architecture in the era of multi-cloud

The biggest shift I see for enterprise architects is to architect the solution in an era where multi-cloud is the reality and, increasingly, it’s becoming the new norm. It is bringing challenges and opportunities for the organizations.

A few of the opportunities to mention are:

As I am working in the capacity of a cloud architect with different organizations, it is becoming normal that I should be aware of all the basic terms of different cloud vendors. so that I can talk about and understand the limitations of the different cloud vendors. What are the key challenges? and how am I going to get into them? This is another pressure on me to learn and remember about different cloud vendors’ services and how they call them.

Let’s start with the basic example and how it is a challenge for the IT organization and for the architects to be conversant with all the basic terms of different cloud providers.

We need to have the basic network setup on the cloud to start using it, different cloud vendors are calling it differently.

Cloud Service Mapping: what different cloud vendors call Networking :

  • Oracle = Virtual Cloud Network (VCN)
  • AWS = Amazon Virtual Private Cloud (VPC)
  • Azure = Virtual Network
  • Google = Virtual Private Cloud

The site-to-site connection between the on-premise network and the cloud network, which is usually established with the IPSec connection, is also being labelled differently.

  • Oracle = Site to site Virtual Private Network – IPSec VPN
  • AWS = AWS VPN
  • Azure = VPN Gateway
  • Google = Cloud VPN

With this basic example, you can imagine how hard it is to keep refreshing the knowledge. There is no doubt about it that the basic concepts remain the same across different cloud providers.

What are the common areas that come to mind to master the multi-cloud:

  • How to address the compatibility and interoperability across different cloud services
  • How do maintain and monitor the cost of different cloud providers?
  • How will multiple cloud providers connect?
  • How to manage the different cloud providers Each provider has its own console.
  • Security, including authentication, single sign-on, etc.
  • How to address the operational challenges in the broader term
  • How is resilience (disaster recovery) managed?

If we will go further in-depth and try to see, how organizations are targeting these areas. One of the most common approaches is to use the

Cloud management platforms, can help to manage the different cloud providers. This could be by adding an additional layer on top of the native capabilities of different cloud providers. Some specialized third-party cloud management platforms use their own toolkit by utilizing the native APIs of the providers.

Another area is to focus on the ‘Infrastructure as a Code’. With the IaC, all the deployments, provisioning, and life cycles are managed. It is a great help as it is not specific to any cloud provider and all the common toolkits are available from all the cloud providers.

The third area is where we can use ‘cloud native’ capabilities like Kubernetes to control the architecture, which is not specific to any cloud providers.

The next question that comes to mind is about the deployment patterns. What are the common ways to deploy different applications and databases across different cloud providers?

  • It could be an application on cloud provider 1 & a database on cloud provider 2.
  • divide the application to multiple cloud providers (a few nodes to cloud provider 1 and other nodes to cloud provider 2).
  • The database can also have a distributed architecture. Is it supported or even required?
  • Applications/database on the cloud provider 1 and disaster recovery site on cloud provider 2
  • Another option in multi-cloud is to use x services from cloud provider 1 and y services from cloud provider 2.

Multi cloud management platform:

The key question also comes to mind, how will I manage the multi-cloud deployments? As each cloud provider has its own management console, is there any consolidated platform which can give me access to all the deployments across the clouds?

What is expected from these cloud management platforms? Are they able to answer/give visibility to the following components:

  • Automation and orchestration, how it can support infra provisioning, configuration management, etc.
  • Security: can include IAM/SSO encryption, endpoint security,
  • Governance & Compliance: are they able to provide what I need to fulfill my regulatory and compliance requirements? For example, risk assessment, threat analysis, audits, different cloud services, and resource management/governance
  • Monitoring: how these platforms can help to monitor the performance of different components like storage, networks, compute, etc.
  • Cost management: the most essential component, as different cloud providers have different matrices, is how I will be able to monitor the cloud resources, utilization, and cost, and how I can chargeback, and bill internal organizations, and users.
  • Orchestration could be another area to see if it can be available in the cloud management tool.

7 multi-cloud management platforms, as per Gartner’s 2020 Magic Quadrant

  • CloudBolt
  • Flexera
  • HyperGrid
  • Morpheus Data
  • Scalr
  • Snow Software-Embotics
  • VMware

The connection between different cloud providers:

It is a fundamental question to think about and get an answer to before moving on to the multi-cloud strategy. The possible scenarios are:

  • Do different cloud providers have a direct connection between their data center?
  • A third-party service presence that provides the connection.

As long as these 2 basic conditions are met, the foundation for the multi-cloud journey is ready and anyone can embark on it.

How the connection/network is established to support the multi-cloud adoption?

What is required? And who is providing such a network across different cloud providers?

A few of the points to consider, are how the data flows, whether is it cloud to cloud or from on-premise to cloud and vice-versa

Every cloud provider has its own virtual routers like

  • OCI Virtual Cloud Network (VCN)
  • ASW Virtual Private Cloud (VPC)
  • Azure Virtual Network
  • Google Cloud VPC

Some of the pointers for the networking scenarios:

  • connecting multiple public clouds to your data center
  • Cloud-to-cloud connections, with different cloud providers
  • Several cloud applications with cross-cloud workflows
  • On-premise sites are spread in different places and then connect with multiple cloud providers.

There could be several patterns and different cloud providers have published some material to support these areas.

Coming back to the topic of networking across different cloud providers is the center of cloud adoption and architecting the right strategy to go for multi-cloud.

Let’s take a look at the native capabilities of different cloud providers which are required to be used during multi-cloud deployments.

9 Multi-Cloud Networking Software (MCNS) – Cloud Networking software enables the design and operations of networks across cloud providers

  • Alkira
  • Arrcus
  • Arista
  • Aviatrix
  • Cohesive Networks
  • Cisco
  • F5
  • Prosimo
  • VMware

Cloud Adoption framework of Oracle, Google Cloud, AWS, IBM Cloud, and Alibaba Cloud.

You’ll Learn:

The journey to Multi-cloud:

  • Fundamentals of multi-cloud
  • What are the benefits, and challenges of multi-cloud?
  • the common patterns of deployments
  • what are the common cloud management platforms
  • what are the common cloud networking providers

Resources:

To share your thoughts:

  • Leave a comment in the section below on this post
  • Do you want to suggest any new topic I should cover in future Podcast
  • Join us in the Mastermind tribe
  • Share this on Twitter, and Facebook, If you enjoyed this episode and we together are learning new technologies.

To help out this initiative:

  • Leave a candid review for the OTechTalks Podcast on iTunes! Your ratings and reviews will help the session on iTunes.
  • Subscribe to the Podcast on iTunes to get the next sessions