by Abay Radhakrishnan
Transition and transformation are happening at a rapid pace in the IT industry in terms of moving workloads and applications from on-premises to public clouds, in addition to standing up cloud-native solutions. The emerging areas of Artificial Intelligence (AI), Machine Learning (ML), Blockchains and Big Data solutions are choosing Hyperscale Cloud as their native choice both due to the capabilities of the cloud to meet their needs, as well as the availability of specialized services and solutions in cloud platforms.
Agnostic solutions become the current need, in that the Cloud Management Platforms (CMP) and Cloud Management Tools (CMT) continue to both enhance and emerge in the market for a variety of reasons, including:
- Cross-platform flexibility, providing the ability to operate and integrate systems running in on-premises and in one or more cloud platforms (AWS, Azure, GCP, OpenStack, IBM, Alibaba)
- Clients using multi-cloud environments and multi-vendors for supporting certain capabilities, going through transition or transformation to Cloud
- Portability for strategic reasons like managing disaster recovery from one cloud provider to another or from a public cloud to on-premises
- Avoiding being locked into a single cloud supplier or location
- Leveraging the most consistent and efficient cloud native functions or services from different platforms.
CMPs continue to emerge to meet these needs:
- Managing the Cloud resources and services that are distributed across multiple cloud platforms
- Supporting Public Cloud, Hybrid environments and Private clouds
- Providing a broad range of in-depth functions in a consistent manner.
The majority of the cloud product providers focus on three public cloud companies: Amazon (AWS), Microsoft Azure and Google GCP, while VMWare vSphere and OpenStack are targeted for virtual private clouds.
Typically, these are the major target areas addressed by the CMPs:
- Provisioning resources: Avail cloud resources and manage the creation, updating and deletion of resources; orchestrate workflows depending on the life cycle of the resources; handle multiple resources; and build manifests supporting infrastructure as code and self-service IT. CMP tools usually handle these using API, broker services and cloud-platform-native services such as AWS CloudFormation, Microsoft Azure Resource Manager and Google Cloud Deployment Manager.
- Cloud migration: Migrate the workloads from on-premises to public clouds, or from one cloud to another.
- Automation and scheduling: Provide a high degree of automation to simplify cloud resources management by leveraging APIs, the cloud platform's native serverless function platform as a service (fPaaS) service, ability to schedule the jobs, start and shut down resources and the associated notifications.
- User interfaces: Portal and robust user interfaces are simple and intuitive enough to manage multiple clouds by facilitating the tasks required to collect and fulﬁll service requests, ranging from provisioning to user group management and access controls.
- Configuration management: Manage the cloud inventory and track the changes, including version management tasks.
- Monitoring: Manage metrics including usage, availability and performance, informative dashboards, analyze data in both real-time and batch and to automate incident management.
- Usage: Discover and maintain cloud resources that are in use as well efficiently manage the usage.
- Cost management and resource optimization: Track and optimize spend on an ongoing basis as well as to align resource capacity to actual workload demand.
- D/R and backup: Automated and scheduled backups, replicate data to migrate workload, implement business continuity (BC) or disaster recovery (DR) architectures and data protection.
- Security: Manage and secure access to cloud services, maintain policies, ensure compliance and identity access management activities.
- Packaging and Deployment, CI/CD, Release management: Activities that manage the effective delivery and maintenance of cloud resources to the end users.
- SLA tracking and measurements: Keeping record of the prescribed SLAs by the cloud providers and having mechanisms to track and measure cloud services to highlight the SLA short comings. This is usually done by using the cloud APIs, metrics or by using independent mechanisms.
- Governance: Ability to govern operations, budget vs. cost, manage and secure cloud resources using automation, compliance management on single cloud or hybrid cloud environments and handle audits.
Some examples of the CMPs include RightScale CMP, CloudCheckr CMP, CloudHealth CMP and CloudEndure.
CMTs are software offerings that perform a particular aspect of cloud management with a narrower focus than a CMP, concentrating on speciﬁc cloud platforms or functionality. CMTs focus on specific areas such as Account Management, Security, Cost Management, Provisioning and Monitoring. These tools must provide Web UI, API support, User documentation, Cloud services and Version support.
Some examples of the Cloud Management Tools include:
- Native tools such as AWS CloudFormation, Azure Resource Manager or GCP Deployment Manager
- Third-party tools such as Datadog, DivvyCloud, Dome9 or Terraform.
Many open source projects and products continue to emerge to meet the cloud neutrality objectives. Cloud Foundry (CF) is one such cloud application platform contributed and commercialized by many vendors like Pivotal CF, IBM Cloud foundry, SUSE CAP, SAP Cloud platform, AtoS and Huwaei. Cloud Foundry is collection of frameworks that provides abstraction for applications supporting containers, many languages, serverless with functions as a service, brokered services, IaaS compute processes decouple applications from infrastructure and overall serves as the single platform the users can interact to manage their cloud needs. CF supports major public cloud providers (AWS, Azure, GCP, Alibaba) and private clouds.
There are many use cases including websites and applications, CI/CD enablement, event streaming, multi-media processing and hybrid-cloud applications being architected as serverless applications. The goals are to accelerate velocity, allow for automatic scaling, increase availability, and create a pay-per-usage model to take advantage of not needing to set up infrastructure. To meet the cloud neutrality objectives there are tools evolving in this space as well, for example serverless framework is open source, provider agnostic tool that helps in development and deployment of serverless application to all the major cloud providers.
While the multi-cloud management goals seem to be straightforward, there are challenges:
- Keeping up with the full features of the supported cloud platforms and their services APIs, new functions as the cloud platform continues to innovate and evolve faster.
- Since the intention of the CMPs is to keep up with the core functions, essential and common functions across the supported platforms to allow the organizations to manage the cloud resources, there could be known gaps.
- Potential performance differences as the native tools could be more advanced and tuned in managing the clouds.
- Conducting proof of concept on the software and minimally using the cloud specific APIs or services can bridge the gaps and overcome the challenges.
Organizations adopting cloud must consider a multi-cloud management strategy that can meet their organizational, functional and cloud requirements. They can do this by adopting CMPs or CMTs that can complement their cloud native tools and meet their cloud neutrality objectives. While the CMPs and CMTs are important, consider partnering with managed service providers who are experienced in cloud services and use one or more tools to efficiently manage cloud adoption and transformation process. It’s all about support, and the pros can make it much easier so you can focus on your overall business success.