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.
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.