One of the things I’ve been working closely on the last couple of years now is the CMP (Cloud Management Platform) market. CMP is a big buzz words these days which many vendors claim they have one way or another, or that they have some form of automation layer that can handle it.
Now the term itself ill come back to a little bit later, but the concept behind it is pretty simple, having a service catalogue and management capabilities across multiple cloud providers (Both IaaS, PaaS and SaaS) and also be able to abstract away the complexity of each cloud provider (both public and private) in a unified sense, sounds simple? Another way to think about it is that a CMP layer or platform itself doesn’t host any services it is basically an broker service which utilizies the other cloud providers to actually provide the service (this could be Google, Amazon, Microsoft or others)
As a reference to this article to Gartner: https://blogs.gartner.com/marco-meinardi/2018/01/22/upcoming-research-cloud-management-platforms/ and also research done at WhatMatrix: https://www.whatmatrix.com/comparison/Cloud-Management-Platforms a CMP platform consists of many different services to provide an offering.
Gartner themselves have an IT Glossary where an CMP are explained as the following:
Cloud management platforms are integrated products that provide for the management of public, private and hybrid cloud environments. The minimum requirements to be included in this category are products that incorporate self-service interfaces, provision system images, enable metering and billing, and provide for some degree of workload optimization through established policies. More-advanced offerings may also integrate with external enterprise management systems, include service catalogs, support the configuration of storage and network resources, allow for enhanced resource management via service governors and provide advanced monitoring for improved “guest” performance and availability.
Looking at this we can see that Gartner’s definition is based upon IaaS workloads where you have system images, workload optimization including network and storage capabilities. Now this term might have been accurate enough before, but now in 2019 where we are moving towards microservices, more SaaS usage and PaaS usage the CMP term from Gartner is losing its true meaning.
The problem with current CMP Vendors
Looking at the different vendors today in the market as well (preferably) from the ones listed in WhatMatrix.com comparison most of the vendors are purely focused on IaaS and some on Container based workloads, such as Morpehus and Cloudbolt, but missing out on the other parts of what a Cloud Provider has to offer. Meaning that customers will be missing out on much of the capabilities that a cloud provider has to offer, if is bound to what is available in the CMP platform, what if a customer wants to setup a Azure SQL or Google BigQuery database? or order some Office 365 licenses or a AWS Fargate cluster? Still these CMP providers provide a simple service catalogue and blueprints that can work across multple cloud vendors, but that is what they are focusing on, a better definitation would be to call it an IaaS based CMP.
Now VMware also provide CMP-like capabilities with their vRealize suite where they have built-in integration with most Cloud Providers, where they also have been focusing on an IaaS perspective, but again provide a lot of possibilities to create custom services against the different vendors but of course tightly integration with vSphere. Also other large vendors such as Service Now is also moving into the CMP market from an ITSM perspective.
All vendors have one thing in common, having one portal/product/platform to trying an solve all the issues, but still locking down customers to a service catalogue to work across multiple cloud providers.
What will future CMP Foundations look like?
Some of the products in the CMP space are still quite monolithic and not that extensible, making it difficult to integrate with other products. My approach is that product should solve the things that its good at, if a product is lacking something they should partner up with someone to provide that capability. Some vendors are good at this, others are not and should start at building up their ecosystem. I belive that future CMP platforms will be cut down to different microservices that will be used to handle one part of the ecosystem and will only provide a foundation. The Foundation or ecosystem of tools that you use to provide other capabilities that the foundation does not provide and have integration with other tools in the ecosystem that will be used to provide the value chain.
Looking at the open-source community today against public cloud, we have tools like Chef, Puppet, Terraform, Ansible that will be the main engine in many projects to handle IaC which should be part of any CMP DNA and not try to fix this on their own.
Having API integration and dynamic workflows that can trigger against any cloud provider is essential to allow MSP and Enterprises to create their own service catalogue based upon demands, but still be able to grasp what a service is and maintain the state of the services deployed.
Monitoring integration with each cloud provider to have the overview of cost usage, resources and alerting if for instance there is something with the underlying platform. Most customers are today already having issues with cost management in cloud providers and there are many tools already in the market to handle this type of issues.
Providing an open API interface to allow for eacy integration with the CMP platform itself, and having Identity access that is integrated with all providers for allow easy onboarding / access.
Threat PaaS and IaaS equally, most CMP platforms need more focus on PaaS level, not directly with management but more from a monitoring or service concept.
Now a Cloud management Platform will never be perfect, and will never be able to 100% provide all capabilities across all the different cloud providers with all the SaaS/PaaS/IaaS offerings, since all cloud providers themselves are different ecosystems. Which means that as a customer you will be missing out on something or lacking some functionality if you are implemeting a CMP framework. My biggest advise is to focus on building a toolset that allows for easily reuse of skills and knowledge across multiple cloud providers and picking out tools that can provide what you actually need in terms of capabilities.