Deploying a VM with vCAC’s Advanced Service Designer (part I/II)
One of the new components in vCloud Automation Center 6.0 is the Advanced Service Designer. The Advanced Service Designer (ASD) enables you to offer XaaS or ‘Anything-as-a-Service’ to the vCloud Automation Center (vCAC) users. The ASD allows you to define new, customized services, next to the existing IaaS services that are available by default. This article explains what the ASD is, how you can use it, and includes an example where a virtual machine is deployed using the ASD.
Part II of this post is available here.
The vCAC Advanced Service Designer Explained
The Advanced Service Designer allow you to configure:
- Service Blueprints – This is the actual service that is offered to the end user;
- Custom Resources – The definition of the item to be provided. You will first need to define this custom resource before you can publish the Service Blueprints.
- Resource Actions – Defines which actions are allowed to be performed on the custom resource. You can also create a resource action and link it to an existing IAAS virtual machine (choose the IaaS VC VirtualMachine resource type for this).
vCAC 6.0 is tightly integrated with vCenter Orchestrator; the ASD uses vCO to deploy and use the provided custom services. Depending on which objects you want to deploy, you have to configure ASD endpoints; for example, a connection to the vCenter server or Active Directory infrastructure.
After you have configured the connection, vCO will publish objects to the ASD. The ASD can now execute vCO workflows. A vCO object is published to the vCAC interface using the Custom Resource and Service Blueprints options. A user can request a Custom Resource which will kick off a vCO workflow to deploy the item. After the item is deployed, it will be displayed in the user’s portal.
The next figure, taken from the Advanced Service Design PDF, depicts the logical relationships between vCO, the ASD, and the vCAC portal:
As an example, let’s deploy a virtual machine directly to vCenter using the ASD.
Step 1: Create a Custom Resource
The first step is to create a ‘VC:VirtualMachine’ custom resource. Choose Advanced Services>Custom Resource and add a new Custom Resource. Choose VC:VirtualMachine for the inventory and think of a descriptive name. The details form lets you customize the way in which this object is displayed in the vCAC interface. You can keep the default layout for this example.
Note: It is assumed you’ve already configured the vCenter Server endpoint for the Advanced Service Designer. The vCO server (I prefer the embedded vCO version) should also be up and running.
Step 2: Create the Service Blueprint
In this example we’re creating a new virtual machine; for this we can create a brand new VM or clone an existing VM. Let’s go for the latter option. Choose the “Clone virtual machine, no customization” workflow here.
In the next step you can enter a name for the new service. The name for this new service (in this example) is “CentOS 6.5″, because we’re going to deploy a CentOS 6.5 template.
The Blueprint Form allows you to customize the new service blueprint. By default, all input parameters for the workflow are customizable by the user, but this is not always something you want. In this example I want to pre-select a specific virtual machine/template as the source for the workflow and I also want to point at a specific datastore and resource pool.
Configure the VM that will act as the source/template by clicking the pencil icon, selecting the constraints tab and choosing the vm under ‘value’. Also set the visibility to ‘no’.
The same kind of procedure can be used for the datastore and pool options to pre-select which datastore and cluster is used. I’d rather not use the host option here, because this will only select one host. Use the pool option instead.
The last step of the wizard allows you to link the resulting object to a predefined object – this is the custom resource (vCenter Virtual Machine) created earlier.
Step 3: Publish the Service Blueprint
The last step is to publish the blueprint. This is achieved through the Administration->Catalog Management option:
- Don’t forget to publish the new service blueprint first: Advanced Service Desinger->Service Blueprints->Action->Publish;
- Create a new service or use an existing service to add the new Service Blueprint (the catalog item) to;
- Add the new Service Blueprint to the service and activate the service;
- Create a new entitlement, set the status to “active” and add the service created at step 2 to the entitlement. Also entitle a Business Group and some users to use this new service.
If everything has gone right, the new service will pop up in vCAC’s portal:
The new service can now be requested. vCAC together with vCenter Orcestrator will deploy the virtual machine and add the item to the inventory under the Items tab.
Part II of this article explains how to add actions to new resources.
For further reading I would recommend two PDFs:
- Advanced Service Designer Configuration with vCAC 6.0 and vCO 5.5
- Advanced Service Design with vCAC 6.0
Also check out my other articles on vCloud Automation Center.