Open In App

Resource Allocation Methods in Cloud Computing

Last Updated : 30 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisites: Cloud Computing

The allocation of resources and services from a cloud provider to a customer is known as resource provisioning in cloud computing, sometimes called cloud provisioning. Resource provisioning is the process of choosing, deploying, and managing software (like load balancers and database server management systems) and hardware resources (including CPU, storage, and networks) to assure application performance.

To effectively utilize the resources without going against SLA and achieving the QoS requirements, Static Provisioning/Dynamic Provisioning and Static/Dynamic Allocation of resources must be established based on the application needs. Resource over and under-provisioning must be prevented. Power usage is another significant restriction. Care should be taken to reduce power consumption, dissipation, and VM placement. There should be techniques to avoid excess power consumption.

Therefore, the ultimate objective of a cloud user is to rent resources at the lowest possible cost, while the objective of a cloud service provider is to maximize profit by effectively distributing resources.

Importance of Cloud Provisioning:

  • Scalability: Being able to actively scale up and down with flux in demand for resources is one of the major points of cloud computing
  • Speed: Users can quickly spin up multiple machines as per their usage without the need for an IT Administrator
  • Savings: Pay as you go model allows for enormous cost savings for users, it is facilitated by provisioning or removing resources according to the demand

Challenges of Cloud Provisioning:

  • Complex management: Cloud providers have to use various different tools and techniques to actively monitor the usage of resources
  • Policy enforcement: Organisations have to ensure that users are not able to access the resources they shouldn’t.
  • Cost: Due to automated provisioning costs may go very high if attention isn’t paid to placing proper checks in place. Alerts about reaching the cost threshold are required.

Tools for Cloud Provisioning:

  • Google Cloud Deployment Manager
  • IBM Cloud Orchestrator
  • AWS CloudFormation
  • Microsoft Azure Resource Manager

Types of Cloud Provisioning:

  • Static Provisioning or Advance Provisioning: Static provisioning can be used successfully for applications with known and typically constant demands or workloads. In this instance, the cloud provider allows the customer with a set number of resources. The client can thereafter utilize these resources as required. The client is in charge of making sure the resources aren’t overutilized. This is an excellent choice for applications with stable and predictable needs or workloads. For instance, a customer might want to use a database server with a set quantity of CPU, RAM, and storage.
    When a consumer contracts with a service provider for services, the supplier makes the necessary preparations before the service can begin. Either a one-time cost or a monthly fee is applied to the client.
    Resources are pre-allocated to customers by cloud service providers. This means that before consuming resources, a cloud user must select how much capacity they need in a static sense. Static provisioning may result in issues with over or under-provisioning.
  • Dynamic provisioning or On-demand provisioning: With dynamic provisioning, the provider adds resources as needed and subtracts them as they are no longer required. It follows a pay-per-use model, i.e. the clients are billed only for the exact resources they use. Consumers must pay for each use of the resources that the cloud service provider allots to them as needed and when necessary. The pay-as-you-go model is another name for this. “Dynamic provisioning” techniques allow VMs to be moved on-the-fly to new computing nodes within the cloud, in situations where demand by applications may change or vary. This is a suitable choice for programs with erratic and shifting demands or workloads. For instance, a customer might want to use a web server with a configurable quantity of CPU, memory, and storage. In this scenario, the client can utilize the resources as required and only pay for what is really used. The client is in charge of ensuring that the resources are not oversubscribed; otherwise, fees can skyrocket.
  • Self-service provisioning or user self-provisioning: In user self-provisioning, sometimes referred to as cloud self-service, the customer uses a web form to acquire resources from the cloud provider, sets up a customer account, and pays with a credit card. Shortly after, resources are made accessible for consumer use.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads