# Cloud management

Cloud management is the management of cloud computing products and services.
Public clouds are managed by public cloud service providers, which include the public cloud environment’s servers, storage, networking and data center operations. Users may also opt to manage their public cloud services with a third-party cloud management tool.
Users of public cloud services can generally select from three basic cloud provisioning categories:
* User self-provisioning: Customers purchase cloud services directly from the provider, typically through a web form or console interface. The customer pays on a per-transaction basis.
* Advanced provisioning: Customers contract in advance a predetermined amount of resources, which are prepared in advance of service. The customer pays a flat fee or a monthly fee.
* Dynamic provisioning: The provider allocates resources when the customer needs them, then decommissions them when they are no longer needed. The customer is charged on a pay-per-use basis.
Managing a private cloud requires software tools to help create a virtualized pool of compute resources, provide a self-service portal for end users and handle security, resource allocation, tracking and billing. Management tools for private clouds tend to be service driven, as opposed to resource driven, because cloud environments are typically highly virtualized and organized in terms of portable workloads.
In hybrid cloud environments, compute, network and storage resources must be managed across multiple domains, so a good management strategy should start by defining what needs to be managed, and where and how to do it. Policies to help govern these domains should include configuration and installation of images, access control, and budgeting and reporting. Access control often includes the use of Single sign-on (SSO), in which a user logs in once and gains access to all systems without being prompted to log in again at each of them.

## Characteristics of Cloud Management

Cloud management combines software and technologies in a design for managing cloud environments. Software developers have responded to the management challenges of cloud computing with a variety of cloud management platforms and tools. These tools include native tools offered by public cloud providers as well as third-party tools designed to provide consistent functionality across multiple cloud providers. Administrators must balance the competing requirements of efficient consistency across different cloud platforms with access to different native functionality within individual cloud platforms. The growing acceptance of public cloud and increased multicloud usage is driving the need for consistent cross-platform management. Rapid adoption of cloud services is introducing a new set of management challenges for those technical professionals responsible for managing IT systems and services.
Cloud-management platforms and tools should have the ability to provide minimum functionality in the following categories. Functionality can be both natively provided or orchestrated via third-party integration.
* Provisioning and orchestration: create, modify, and delete resources as well as orchestrate workflows and management of workloads
* Automation: Enable cloud consumption and deployment of app services via infrastructure-as-code and other DevOps concepts
* Security and compliance: manage role-based access of cloud services and enforce security configurations
* Service request: collect and fulfill requests from users to access and deploy cloud resources.
* Monitoring and logging: collect performance and availability metrics as well as automate incident management and log aggregation
* Inventory and classification: discover and maintain pre-existing brownfield cloud resources plus monitor and manage changes
* Cost management and optimization: track and rightsize cloud spend and align capacity and performance to actual demand
* Migration, backup, and DR: enable data protection, disaster recovery, and data mobility via snapshots and/or data replication
Organizations may group these criteria into key use cases including Cloud Brokerage, DevOps Automation, Governance, and Day-2 Life Cycle Operations.
Enterprises with large-scale cloud implementations may require more robust cloud management tools which include specific characteristics, such as the ability to manage multiple platforms from a single point of reference, or intelligent analytics to automate processes like application lifecycle management. High-end cloud management tools should also have the ability to handle system failures automatically with capabilities such as self-monitoring, an explicit notification mechanism, and include failover and self-healing capabilities.

## Multi-Cloud and Hybrid Cloud Management Challenges

Legacy management infrastructures, which are based on the concept of dedicated system relationships and architecture constructs, are not well suited to cloud environments where instances are continually launched and decommissioned. Instead, the dynamic nature of cloud computing requires monitoring and management tools that are adaptable, extensible and customizable.
Cloud computing presents a number of management challenges. Companies using public clouds do not have ownership of the equipment hosting the cloud environment, and because the environment is not contained within their own networks, public cloud customers do not have full visibility or control. Users of public cloud services must also integrate with an architecture defined by the cloud provider, using its specific parameters for working with cloud components. Integration includes tying into the cloud APIs for configuring IP addresses, subnets, firewalls and data service functions for storage. Because control of these functions is based on the cloud provider’s infrastructure and services, public cloud users must integrate with the cloud infrastructure management.
Capacity management is a challenge for both public and private cloud environments because end users have the ability to deploy applications using self-service portals. Applications of all sizes may appear in the environment, consume an unpredictable amount of resources, then disappear at any time. A possible solution is profiling the applications impact on computational resources. As result, the performance models allow the prediction of how resource utilization changes according to application patterns. Thus, resources can be dynamically scaled to meet the expected demand. This is critical to cloud providers that need to provision resources quickly to meet a growing demand by their applications.
Charge-back—or, pricing resource use on a granular basis—is a challenge for both public and private cloud environments. Charge-back is a challenge for public cloud service providers because they must price their services competitively while still creating profit. Users of public cloud services may find charge-back challenging because it is difficult for IT groups to assess actual resource costs on a granular basis due to overlapping resources within an organization that may be paid for by an individual business unit, such as electrical power. For private cloud operators, charge-back is fairly straightforward, but the challenge lies in guessing how to allocate resources as closely as possible to actual resource usage to achieve the greatest operational efficiency. Exceeding budgets can be a risk.
Hybrid cloud environments, which combine public and private cloud services, sometimes with traditional infrastructure elements, present their own set of management challenges. These include security concerns if sensitive data lands on public cloud servers, budget concerns around overuse of storage or bandwidth and proliferation of mismanaged images. Managing the information flow in a hybrid cloud environment is also a significant challenge. On-premises clouds must share information with applications hosted off-premises by public cloud providers, and this information may change constantly. Hybrid cloud environments also typically include a complex mix of policies, permissions and limits that must be managed consistently across both public and private clouds.

## Cloud Management Platforms (CMP)

CMPs provide a means for a cloud service customer to manage the deployment and operation of applications and associated datasets across multiple cloud service infrastructures, including both on-premises cloud infrastructure and public cloud service provider infrastructure. In other words, CMPs provide management capabilities for hybrid cloud and multi-cloud environments.
A cloud management platform (CMP) provides broad cloud management functionality atop both public cloud provider platforms and private cloud platforms. CMPs manage cloud services and resources that are distributed across multiple cloud platforms. The value of CMPs stands in delivering the maximum level of consistency between platforms without compromising depth of functionality. Unfortunately, the meaning of the term "cloud management platform" (CMP) has evolved over the past decade so that the precise meaning of this term is often unclear in discussions of management strategy. One vendor using this term may mean something completely different from another. Selecting the right management approach for cloud services is therefore a complex task. Providers and vendors can further confuse the evaluation by highlighting only their strengths and avoiding their weaknesses. Furthermore, each provider and vendor focuses on solving different aspects of cloud management, making it difficult to compare solutions.
A minimum viable CMP must be able to provide support for all technology stack layers and orchestrate capabilities across them (IaaS, PaaS, SaaS, etc.) It must include a cloud-agnostic tool to support portability/migration to and across hybrid clouds. An integration framework will take advantage of existing automation tools used internally and combine these with new CMP features. The ability to provide native container support across virtual technologies is a prerequisite, and CMPs are now either container ‘native’ (architected using containers) or being reengineered to support containers. Along with standard OS deployments, a CMP’s blueprinting function will enable administrators to create and provide image-based solutions and customized configurations. Integration with other IT assets and databases (CMDB) and role-based access control and governance are key.
As a consolidated control plane for IT operations, one of the primary roles of a CMP is the integration of existing application lifecycle tools, hypervisors, and cloud platforms. Given that charter, CMPs must integrate with internal and external systems to manage multi-cloud services. The ability to support both published APIs and provide for customization, if needed, is a critical capability.
Key areas of integration include:
* On-premises private cloud - Where the cloud environment exists within the customer organization. Platforms such as VMWare and OpenStack as well as integrated systems such as those from Nutanix, HPE, and others should be integrated to manage private cloud resources. Capabilities should also include integration with container orchestrators such as Kubernetes.
* CSP hosted private cloud – Sometimes called dedicated or managed cloud. Private hosted cloud resources are managed via APIs made available by the private cloud provider, in much the same way as public cloud resources and often include additional staffing to fully manage day to day operations.
* Public cloud service – The CMP must integrate with required public cloud services such as Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM Cloud, Oracle, etc to enable management of resources residing in public cloud services. Integration can be achieved by use of the public APIs of the target cloud service, or by an agent running within the public cloud service environment.
* IT Service Management – It is typical for CMPs to rely on existing enterprise management systems to provide capabilities such as incident management, configuration management, asset management, and financial management.
* Service Automation – Organizations may consider CMP integration with existing automation tools to simplify resource management. Integration with configuration management tools such as Chef and Puppet, and deployment tools such as Terraform are key considerations.

## Cloud Services Brokerages

Like any other brokerage firm, a Cloud Services Brokerage (CSB) manages cloud services for clients. Gartner explains that CSBs play an intermediary role in the cloud computing management process. Since there are many Datacenters hosting the provided applications, the role of a service broker becomes very important in choosing the most suitable data center to serve the received request. Cloud services brokerages consolidate cloud services from one or more sources and allow customers to access these services through one portal.