Cloud provisioning is the allocation of a cloud provider's resources and services to a customer.
Cloud provisioning is a key feature of the cloud computing model, relating to how a customer procures cloud services and resources from a cloud provider. The growing catalog of cloud services that customers can provision includes infrastructure as a service (IaaS), software as a service (SaaS) and platform as a service (PaaS) in public or private cloud environments.
Types of cloud provisioning
The cloud provisioning process can be conducted using one of three delivery models. Each delivery model differs depending on the kinds of resources or services an organization purchases, how and when the cloud provider delivers those resources or services, and how the customer pays for them. The three models are advanced provisioning, dynamic provisioning and user self-provisioning.
With advanced provisioning, the customer signs a formal contract of service with the cloud provider. The provider then prepares the agreed-upon resources or services for the customer and delivers them. The customer is charged a flat fee or is billed on a monthly basis.
With dynamic provisioning, cloud resources are deployed flexibly to match a customer's fluctuating demands. Cloud deployments typically scale up to accommodate spikes in usage and scale down when demands decrease. The customer is billed on a pay-per-use basis. When dynamic provisioning is used to create a hybrid cloud environment, it is sometimes referred to as cloud bursting.
This article is part of
With user self-provisioning, also called cloud self-service, the customer buys resources from the cloud provider through a web interface or portal. This usually involves creating a user account and paying for resources with a credit card. Those resources are then quickly spun up and made available for use -- within hours, if not minutes. Examples of this type of cloud provisioning include an employee purchasing cloud-based productivity applications via the Microsoft 365 suite or G Suite.
Why cloud provisioning matters
Cloud provisioning offers organizations numerous benefits that aren't available with traditional provisioning approaches.
A commonly cited benefit is scalability. In the traditional IT provisioning model, an organization makes large investments in its on-premises infrastructure. This requires extensive preparation and forecasting of infrastructure needs, as the on-premises infrastructure is often set up to last for several years. In the cloud provisioning model, however, organizations can simply scale up and scale down their cloud resources based on short-term usage requirements.
Organizations can also benefit from cloud provisioning's speed. For example, an organization's developers can quickly spin up an array of workloads on demand, removing the need for an IT administrator who provisions and manages compute resources.
Another benefit of cloud provisioning is the potential cost savings. While traditional on-premises technology can exact large upfront investments from an organization, many cloud providers allow customers to pay for only what they consume. However, the attractive economics presented by cloud services can present its own challenges, which organizations should address in a cloud management strategy.
Challenges of cloud provisioning
Cloud provisioning presents several challenges to organizations.
Complex management and monitoring. Organizations may need to rely on multiple provisioning tools to customize how they use cloud resources. Many enterprises also deploy workloads on more than one cloud platform, which makes it even more challenging to have a central console to view everything.
Resource and service dependencies. Applications and workloads in the cloud often tap into basic cloud infrastructure resources, such as compute, networking and storage. Beyond those, public cloud providers' big selling point is in higher-level ancillary services, such as serverless functions, machine learning and big data capabilities. However, those services may carry dependencies that might not be obvious, which can lead to unexpected overuse and surprise costs.
Policy enforcement. A self-service provisioning model helps streamline how users request and manage cloud resources but requires strict rules to ensure they don't provision resources they shouldn't. Recognize that different groups of users require different levels of access and frequency -- a DevOps team may deploy multiple daily updates, while line-of-business users might use self-service provisioning on a quarterly basis. Set up rules that govern who can provision which types of resources, for what duration and with what budgetary controls, including a chargeback system.
Adherence to policies also creates consistency in cloud provisioning. For example, specify related steps such as backup, monitoring and integration with a configuration management database -- even agreed-upon naming conventions when a resource is provisioned to ensure consistency for management and monitoring.
Cost controls. Beyond provisioning policies, automated monitoring and alerts about usage and pricing thresholds are essential. Be aware that these might not be real-time warnings; in fact, an alert about an approaching budget overrun for a cloud service could arrive hours or days after the fact.
Cloud provisioning tools and software
Organizations can manually provision whatever resources and services they need, but public cloud providers offer tools to provision multiple resources and services:
- AWS CloudFormation
- Microsoft Azure Resource Manager
- Google Cloud Deployment Manager
- IBM Cloud Orchestrator
Alternatively, third-party tools for cloud resource provisioning include the following:
- Snow (formerly Embotics) Commander
- Morpheus Data
- Flexera (formerly RightScale)
- CloudSphere (formerly HyperGrid and iQuate)
Some organizations further automate the provisioning process as part of a broader cloud management strategy through orchestration and configuration management tools, such as HashiCorp's Terraform, Red Hat Ansible, Chef and Puppet.