Disclaimer: the content of this blog is not an official whitepaper or a CVD, some of which are based on my own view and findings. .
One of the critical aspects of adopting hybrid or a MultiCloud architecture, is to have well defined, flexible CloudOps model, to support continuous operations and continuous improvement. The ultimate goal of the Cisco Multicloud architecture (driven by intent based networking), is to provide a platform that is constantly learning, adapting, protecting across the different enterprise places in the network as well as multiple cloud providers’ platforms. As illustrated in the framework below, it is all about accurately and continuously capturing the intent of the applications, users, and the business, and then making sure that the outlined intent is always applied across the MultiCloud application environments using a cloud-agnostic approach with an end to end unified policy.
Also, you might be aware of that Cisco is partnering with key Cloud providers such as the partnership with Google Cloud for seamless Cloud and On-prem deployment.
Also, AWS and Cisco are collaborating to bring an integrated and validated solution to simplify containerized applications.
Before we discuss Cisco’s approach and why Cisco today is capable to provide a true “MultiCloud” solution, let’s first review why do we need such a solution today and in the future?
Today, many enterprise organizations are moving rapidly toward becoming data-driven enterprises. According to a research conducted by MIT, companies that are implementing data-driven decision-making practices were able to achieve ~4% higher productivity and ~6% higher profits than conventional businesses. As we are moving into the digital era and connected ‘things’ with IoT; people, devices, buildings, cities, etc., are becoming sources of data to be analyzed that all ultimately should support the data-driven decision-making.
Technically with the everything around data and connected devices, today it’s like we are building a global nervous system for our plant, by connecting ‘things’ in our world using the Internet. Consequently, like your own nervous system, these ‘things’ require main nervous system to store and process such data characterized with ‘high velocity, large volume, and variety’ also known as big data.
In other words, with ‘big data’ organizations need to be able to rapidly process a large amount of data generated by different sources. Ingesting, storing, preparing and processing big data with ‘volume, velocity, and variety’ is beyond the capabilities of classical computing architecture. Therefore, big data is relying on distributed computing architecture like the ones offered by Spark, Hadoop (On-Prem or Cloud based) or Google cloud dataflow. In which, both storage and processing of data are distributed across several physical or virtual computing and storage systems.
In addition, in the digital age, applications are more important than before, because today almost everything can be done through applications specifically, mobile applications.
Also, these applications can be a source of data to be processed by the organizations to support their data-driven decision-making strategy.
According to IDC “In the context of digital transformation, applications are the new face of business. Applications generate revenue, drive the business, and increasingly differentiate organizations from their competitors.”
Therefore, the availability and performance of applications should be key architectural attributes when designing any technology solution for today’s organizations.
On the other hand, considering the required amount of storage, compute power to perform the processing of data sourced from users’ data, IoT sensors, web or mobile APPs etc as well as the cost of deploying a secondary (Active or DR) data center for optimal applications’ availability may not always be justifiably to the business, due to the possible high CAPEX, in which the CIO or IT team needs to come up with alternatives (without compromising the applications availability and performance requirements). Therefore, today hybrid cloud computing (Public Cloud + On-Prem) architecture, is becoming more like the industry model in several regions, to address different use case scenarios including the ones discussed above such as DR as Service, stream/Batch processing of Big data and IoT collected traffic as well as AI in addition to other platform or software-as-a-service capabilities offered by cloud providers.
However, these architectures “Hybrid and MultiCloud Architecture” come with a few technical and non-technical challenges, such as, compliance, organization’s applications and data governance, security, connectivity options, technical expertise, ability to deploy applications across different clouds private and public etc.
So how the IT teams of today’s enterprises can address the following challenges, taking into considerations that applications availability and performance must not be compromised:
In other words, if the enterprise applications cannot be provisioned, governed and controlled effectively, the complexity and cost of the hybrid architecture and service portfolio can overweigh its value.
What does MultiCloud mean?
First of all, you need to distinguish here between a hybrid cloud and MultiCloud, as they are sometimes used interchangeably, however, they are not referring to the exact same architecture.
MultiCloud refer to the use of multiple cloud services from different cloud providers, and typically these cloud providers they do not have any building or ready to use orchestration capability among them.
For instance, an organization may use MultiCloud approach to accomplish different tasks for different services, applications or departments like one cloud may offer more cost effective and higher performance for data archiving while another cloud provider may offer better performance and capabilities for collecting Petabyte of streaming data to process etc.
On the other hand, commonly a private and public resources in a hybrid cloud can be orchestrated, but the complexity raises when there are multiple cloud platforms in use.
Someone might argue; why do we really need to utilize more than one cloud provider? in fact, there are several drivers for this approach. For instance, not all Cloud providers have the same strengths as well as not all of them offer same costing model. In other words, there is nothing can stop any organization from utilizing more than one cloud provider platform, if there is a valid business justification. And we know technically, there is no single cloud provider can do everything optimally and at the best price for today’s large organizations.
Being able to run applications in an optimal environment is what every enterprise is looking for. If an organization believes the cloud platform in use, isn’t enough for a certain function(s), there’s no reason not to utilize an additional platform that is more capable to do so.
However, operating MultiCloud environments, brings several challenges as mentioned earlier in this article. Besides, as highlight earlier, one of the critical aspects of adopting hybrid or a MultiCloud architecture, is to have well defined, flexible CloudOps model, to support continuous operations and continuous improvement. This approach, can support the ability to run cloud-based systems without the need to take all of the applications offline (the zero downtime objective).
Nevertheless, continuous operations are achieved by affective use of CloudOps procedures and practices, but, with the use of MultiCloud platforms, how would you be able to consciously add, change and optimize applications in an efficient and safe manner, while each platform has different environment specific parameters, APIs and components. In addition, there’s never going to be a single application stack to deal with. Practically it’s going to be tens, and sometimes could be hundreds of applications that large enterprises leverage with such architecture for the business problems or needs they are looking to address.
That’s why organizations need to have a well-defined enterprise cloud strategy to be able to identify what is the desired end goal or state, then it can be mapped into the required applications, services, etc. along with the approach(s) to migrate, provision and operate such model.
Keep in mind that migrating applications and data to the cloud is one of the most critical and complicated tasks that modern IT can perform. Such migration may entitle some legacy applications architecture refactoring. As highlighted before, the key starting point is to identify the desired targeted state before going into the migration process that almost always consist of:
The above process should be used for the data considerations as well along with compliances and security considerations.
When calculating the TCO, it is important to consider the TCO and business impact during the migration or transitional phase which might lead to an unexpected increased cost, due to longer time to provision, build and operate the new cloud based model.
In other words, still, the complexity of provisioning and operating hybrid and specifically Multicloud model is a big concern!
How does Cisco’s approach can help to mitigate or overcome such concern?
Why Cisco MultiCloud
Cisco MultiCloud solution, offers a cloud neutral approach to closing these gaps to provide cloud intelligence across the different clouds in use, bringing consistency to the enterprise application experience, IT operations and workflow, and supported by application-aware, transport independent and cloud ready SDWAN Fabric.
In addition, what also, distinguish Cisco’s Multicloud solution and approach, is that Cisco does not have a public Cloud business, and that’s why Cisco is able to offer a “cloud neutral approach” that is more flexible than what some IT vendors might trying to achieve, by extending their proprietary environments at the host or hypervisor level that possibility going to create some limits on the cloud providers’ offerings, in terms of cloud solutions’ scale and elasticity.
In fact, although enterprise applications rely on leveraging storage, data and networking, that can be based on server-less technology, container-based technology, and other component-based technology, it doesn’t really matter, as we know technologies are keep changing over time, but what is matter is the ability to abstract the undelaying technology components into an application or binding it into an application stack that ultimately map to a business service, solution or capability, and this what the Cisco MultiCloud is focusing on.
In other words, Cisco’s MultiCloud Solution approach is capable to offer application aware connectivity, security and visibility from the transport to the OS process and application level, along with the ability to offer orchestration, governance control (e.g. budget and usage control across multiple cloud environments for different teams like Dev, Test and Production) and mange workloads (applications) in an agnostic manner. This will ultimately enable today’s organizations and IT teams to have the flexibility to select multiple cloud providers that’s meet their needs as well as migrate applications stacks smoothly among them
There are two primary components of the Cisco Cloud Center: the Cisco CloudCenter Manager and the Cisco CloudCenter Orchestrator
One of the key elements of the Cisco MultiCloud management system is the ability to build an application profile that is cloud-independent, with this profile, one Cisco CloudCenter platform can be used to deploy and manage any modeled application in any data center or cloud environment.
This cloud agnostic application profile coupled with its cloud-specific orchestrator abstracts the application from the cloud, interprets the needs of the application, and translates these needs to the targeted cloud provider specific services and APIs. Obviously, this will eliminate the need for cloud specific scripting and configurations as well as helps today organizations from being cloud locked-in.
Moreover, although cloud providers creating and offering tools for Kubernetes, for example there are Kubernetes offerings by GCP, AWS, Azure, Alibaba, etc. in which applications’ developers might be able to move workloads among these different cloud platforms using a standardized Kubernetes YAML file, still, there are other ‘environment-specific’ parameters required to be configured and provisioned as well such as, storage, networking and security configurations and these typically differ among the different cloud providers. With the Cisco CloudCenter, this become a possibility, for having the container along with the ‘environment-specific parameters’ to be portable and cloud-agnostic to a reasonable extent. (Cisco CloudCenter keeps containers portable among Kubernetes environments, also, CloudCenter takes a step further, by allowing developers who are not interested to learn or use ‘kubectl commands’ to specify key parameters described in the familiar CloudCenter modeling tool, and then the Cisco CloudCenter will auto-generates the YAML file for use in Kubernetes along with the required cloud provider specific parameters).
When it comes to the connectivity, Cisco SDWAN is capable to provide application aware routing over any transport from the Cisco On-Prem SDDC (ACI) to the branch edge as well as to any public cloud. In which organizations and specifically data center operators can define the SLAs of their mission critical applications and the SDWAN Controllers will take care of selecting the optimal path that meets the defined SLA.
Last but not least, with the Cisco integrated Internet based-networking organizations can maintain a unified policy across the different places in the network (Campus, WAN, DC and extend it to the multi-Cloud) powered by the integrated control and data planes of Cisco SDN solutions ( SD-Access, SD-WAN, SD-DC)
Refer to the previous blog “WAN Routing in the Cloud Era (Cisco SD-WAN)” and the SDWAN design sessions on the Cisco Learning Network for more insight.
Furthermore, the Cisco Cloud-ready application aware routing is not only limited for IaaS or PaaS, but it also helps enterprises to define application SLAs for SaaS applications when more than one path is available as illustrated below.
References & Further reading