Capacity Planning and Allocation Models in vCloud Director

Capacity planning for vCloud is extremely important. It is quite complicated if you follow me on this post especially if we are moving from vSphere stack. Let me explain how it is different than vSphere capacity planning and then I aim to explain the ways to make it simple. Capacity planning is the basic foundation of various service offering and QoS you as a service provider.

Let’s look at vSphere side first, sizing in vSphere at broad level can be put as

  • Find Total CPU, Memory capacity requirement
  • Size the host
  • Put some headroom for any peaks/abnormal utilization
  • Select number of host a cluster can tolerate
  • Size the cluster

    Pretty much we get good consolidation ratio and over-subscription as well. This 100% works, here you don’t have to worry about about how many VMs will be powered ON as CPU & Memory consumption is not always considered to do capacity planning. It is active memory, peaks and overall utilization. vSphere resource pools are hardly used for any CPU and memory for allocating limits and reservations. They are used for prioritizing workloads. But this is what changes here in vCloud. When organization vDC is created, Resources pool gets created (behind the scenes), they get reservations and limits set via allocation model and which in turn limits the total capacity available for new VMs/Resource Pools.

    vCloud Capacity Planning and Allocation Model

    Resource allocation model is selected while creating organization vDC. It cannot be changed once selected. So resource allocation model selection has significant impact on sizing on vCloud in terms what kind of VM sizing we can offer.

    Ok now, when you’ve created organization vDC, behind the scene resource pool is created in the vSphere cluster. This resource pool’s CPU and memory reservation and limit is selected based on your allocation model. The vSphere cluster where these resource pool’s are created is associated with Provider vDC. If you have been with me so far, you would have understood it is allocation model which further influences the capacity distribution of Provider vDC. It is like pie is created out of Provider vDC resource as you keep creating organization vDC and how this pie is to be consumed is influenced by Allocation model. So selection of allocation model has significant impact on vCloud offering.

    There are two ways you can do sizing of vCloud compute resource.

  • By standardizing offering
  • Driven by Customer Requirement (rarely suitable for cloud business model)

    Case:01 Standardized Offering

    In this case we go ahead and choose what would be service offering for our customer and can carve out Organization vDC accordingly. For discussion sake we choose only two allocation model for simplification.

    We select Pay as you Go allocation model and plan to reserve 50% of the Provider vDC capacity for it. Please let me remind you, we are planning. We are not carving out this into organization & organization vDC. As organization cannot be created until and unless we know who is the customer.We will only do it when we have a client and provision organization vDC with PAYG model only if he is asking for it. To explain in a simple way, we can offer services to the client based on what we have planned. “We have 50% of the capacity reserved for PAYG model, please tell us if you have use cases for PAYG and if yes, how much you wish to buy from it”. We can offer standard offering influenced by two parameters of PAYG as explained in previous post

    1. CPU Speed
    2. CPU resource Guaranteed
    3. And CPU and Memory quota parameters will serve how much percentage of 50% customer needs.

      Similar thing you can do for reservation pool model. It is complete block of resources (CPU, memory) dedicated to the customer. Here customer has full freedom how to carve out the block.

      Case:02 Customer’s custom requirement

      Customer comes to you and request you that they need 50% resources to be reserved for PAYG model as they have lot of transient workload. Remaining 50% should be allocated to dedicate business units as mentioned below

      1. HR (6.25%)
      2. Marketing (25 %)
      3. Sales (18.75%)

      Customer has freedom to use this resource the way he wants. He can internally standarize VM offering in terms of CPU, Speed. This standarization can be enforced by using catalogs. There is a relation between allocation model, catalog and VM sizing. This relationship I explain in next post.

      Below is the block level view of how the organization would look based on customer’s requirement

      CapacityPlanning

      Provider vDC is divided into 4 organization vDC as per customer’s requirement

      image

      Idea here is you can split Provider vDC into organization vDC.

      Conclusion

      1. Capacity planning is influenced by allocation model
      2. Allocation model further influences VM sizing
      3. It is strongly recommended to plan allocation model per Provider vDC. It will give good insight as how the resource will be consumed, how much resources will be available and also help you tackle over subscription
      4. If provider vDC is going to have all three allocation models, it is going to make thing bit complicated the way resources are going to be used and when the capacity will needs to replenished
      5. In my opinion plan in advance, simply do not start filling Provider vDC with organization vDC with any allocation model
      Advertisements

      One thought on “Capacity Planning and Allocation Models in vCloud Director

      Leave a Reply

      Fill in your details below or click an icon to log in:

      WordPress.com Logo

      You are commenting using your WordPress.com account. Log Out / Change )

      Twitter picture

      You are commenting using your Twitter account. Log Out / Change )

      Facebook photo

      You are commenting using your Facebook account. Log Out / Change )

      Google+ photo

      You are commenting using your Google+ account. Log Out / Change )

      Connecting to %s