Tag: extensibility

Some time ago I blogged about the possibility to link to vCloud Availability Portal directly from vCloud Director UI (here and here). This was done by inserting custom links into the vCloud Director Flex UI.

vCloud Director 9.x tenant HTML5 UI provides much richer possibilities to embed additional links, pages and full websites. My colleague Kelby Valenti wrote two whitepapers and one blog post how to do so.

The last module is the vCloud Availability 2.0 portal – the subject of this article:

It is also embedded using iframe.

I am attaching the source files so you can download and adapt them for your purposes. You will also need the SDK and I recommend deployment automation created by Kelby as described in his blog post listed above.

Some notes:

The actual link to the portal is in the src/main/vcav.component.ts file. In my case it is https://portal.proxy.cpsbu.local so replace it with the correct link for your environment.

For security reasons the vCloud Availability portal prohibits being rendered in browser frame by setting X-Frame-Options header to DENY. To work around this limitation I am replacing the header with X-Frame-Options: ALLOW-FROM <VCD-url> on the existing load balancer that is load balancing my two vCloud Availability Portal nodes as well as redirecting external port 443 to appliances’ port 8443. This is done with NSX Edge Gateway, SSL termination and the following application rule:

The link to the portal is also passing the vCloud Director session authentication token for Single Sign-On. Note that however in the current release (2.0.1) this functionality is broken.

Share this:

Like this:

Database-as-a-Service (DBaaS) is an additional service on top of IaaS offering that gives the tenant opportunity to easily provision databases for her VMs without the need to have DB Admin skills. Although database could be provided as a VM catalog template – it is not not that simple. When such template is deployed, the DB inside must be properly sized, licensed, configured and continuously managed (e.g. back-up). DBaaS solves this by abstracting all those tasks.

VMware vFabric Data Director (vFDD) is the component from VMware software stack that does all that was written above. This post will not go into too much detail how vFDD works, instead it will concentrate on the new capability of vCloud Director 5.5 to integrate with vFDD and to enable simple consumption of database services.

First of all we need vFDD installed and running. It comes as two VM virtual appliance that needs vSphere resources to manage and to deploy the databases into. The concept is very similar to vCloud Director and also the GUI looks very familiar.

It can be integrated with vCenter Single Sign-On and vCloud Director.

The vSphere resources (clusters, resource pools) can be completely independent from vCloud Director infrastructure. This simplifies licensing for MS SQL or Oracle as dedicated CPU sockets can be licensed only. We need to create database templates. vFDD supports Oracle (10gR2, 11gR2), MS SQL (2008/2012) MySQL (5.5) and VMware vFabric Postgres (9.1/9.2) databases. These templates are then used to provision database VMs as needed.

vCloud Director 5.5 has a new Service Extension menu. It is not visible by default and must be enabled with a vCloud API call. We can see that the Data Director service was properly integrated.

Each extension can provide multiple service offerings which must be associated by vCloud System Administrator with tenant’s Org VDC in order to be consumed by the end-users. In my case as I have created only Postgres DB template in vFDD I see only one service offering which I am going to associate with ACME Org VDC.

Now Organization Administrator will see new “Service Offering” tab in his Org VDC with the service offerings available to be consumed.

Each individual database service can be provisioned by the tenant from My Cloud – Services menu.

This takes a while as the DB virtual machine is cloned by vFDD, powered-on and configured. The provisioned DB can now be associated with a VM. This is just a logical association – it does not actually do anything to do application running inside the VM. The VM owner can see the service instance parameters (connection string, password, …) in vCloud Director GUI and can properly configure her application to access the database.

The service extension in vCloud Director is universal and could be used for association with other services besides Data Director. Cloud Foundry can provide RabbitMQ AMQP message bus services. I can see this to be used for other services such are NFS or backup.