Saturday, January 19, 2013

vCloud Director Components


People often ask me what is vCloud Director (VCD) and how vCloud works? While I was learning and working on vCloud although I found it to be an extremely wonderful and scalable product but sadly presented in a very complicated manner, something which is hard to digest for the beginners.

In this blog post, I have made an attempt to explain the concepts of vCloud and it's components in a much simpler manner.

Q: At the outset, what is vCloud?

Ans: vCloud is a Iaas type Cloud powered by a set of tools from VMware by which you can create:

  1. Your on-premise Infrastructure -As-A-Service (or Iaas) Private Cloud. Example of a private vCloud will be something like a company say, GE (General Electric) which has decided to build it's own Private Cloud and in turn all the department or COEs or Business Units of GE become it's customers ( or "Tenants" in Cloud term).

  1. Or you can build Amazon or Rackspace like "Public Cloud" built with the help of vCloud too. The greatest example of Public vCloud would be probably Vmware's Public Cloud itself where it extends the Public vCloud facility with the help of different partners across the globe. e.g: CSC, Singtel, HCL, Colt, AT&T etc.

  1. Now you may ask, what about Hybrid Cloud? Can I make a Hybrid Cloud through VCD? Well, that's possible too! (with the help of a vCloud component called "vCloud Connector").

Here I am not going to define what is Cloud and how Cloud works. I assume you know it already. If not, I encourage you to go for Cloud Foundation self-study courses like "EXIN Cloud Computing Certification" or Rackspace's "RackU Certification". and if you need more information on that feel free to drop me a line.

Next question, what are the different components of vCloud?

Ans:

         A) VMWare vSphere (version 5.1 : I will go with the latest version of vSphere)  comprising of:

  1. ESXi Servers or Physical Hosts which will provide the required compute resources like CPU, Memory and Network (Network Ports and Connectivity at the base vSphere layer)
  1. vCenter Server: Acting as a VMM tool or Management console for the ESXi and hold other components or virtual appliances.
  1. Storage: Depending upon your infrastructure, it may be Fiber Channel or FCOE or iSCSI SAN or NFS. Storage is presented to the Cloud layer to the tenants through vSphere and vCloud software. We will talk about this later.
  1. Network: This consists of your Standard Virtual Switches, Distributed Virtual Switches and any Cisco Nexus 1000V switch if you have. Only the port-groups or ports are presented to the vCloud layer. We have another tool/software for advanced networking requirements like Router, NAT device, Firewall called "vShield Edge"

(N.B: I can include vShield Endpoint and vShield Edge here, but I will not do so to keep simplicity to the readers. Although they stay at the vSphere layer, for ease of understanding I have kept them aside from vSphere Layer)

vSphere suite will provide the basic vSphere Virtualization layer absolutely must for any Cloud setup. This layer decouples physical resources like memory, CPU, Network, Storage etc. from the underlying Hardware layer. This is also the layer where one creates resource pools which is again an aggregation of the physical resources from different physical hosts. These resource pools will later be shared between Tenants, Organization VDCs and vApps . (If you wonder what these terms are, I would say don't try to burn your head in these now. We will talk about them eventually)

B) vCloud Director Software: 

This will provide the Cloud Layer (upper layer which sits on top of vSphere Layer). It will help us with the creation of different core Cloud components like Provider and Organization vDCs, vApps etc. For now you can imagine a vCloud as a group of servers sharing a common database. Every vCloud Director Servers runs a set of services which is called as "vCloud Director Cell". These group of vCloud Servers will eventually connect to multiple vCenter or a single vCenter Server (depending on the complexity of your VCD setup) .

A vCloud Direct Server is nothing but a RHEL6 VM or can be a Physical Machine  and vCloud component is installed on top it. I will talk about the installation and configuration later in details.

Note: a single vCloud Director Server can be mapped to only one cell and single database whereas a single database is shared between the multiple VCD Servers to maintain common information for the vCloud Cells in a VCD group)

vCloud Director will also provide us with a Web Portal or Web Console through which Cloud Administrators will connect to it and configure further.

vCloud Director also puts the "vCloud Agent" software in every ESXi that it connected through the vCenter Server.

There is also another NFS Server that vCloud Director connects to which will store the common configuration for all the vCloud Servers in a multi-vCloud Director Cluster Setup.

Apart from this vCloud Director connects to LDAP services (like Microsoft Active Directory or Open-source's OpenLDAP), SMTP too.

  1. vShield Manager  (and vShield Edge) : This is a virtual appliance (downloaded from Vmware site) which provides the network services to the Cloud Layer. Note one vCenter Server can connect to only one vShield Manager and also a vShield Edge.



Diagram1. (Courtesy: Vmware Corp.)

As you can see in this picture, a vCloud Director Cluster (bordered in dotted lines, Green color area) consists of multiple  vCloud Director Servers. Each vCloud Director Server (showed in Blue Line Box) consists of a vCloud instance what is called "vCloud Cell". All these servers in turn are connected to one single vCloud Director Database to store common cell information.

Now look at this Diagram2. below: (Diagram2. is in fact the extension of Diagram1.)

Diagram2. (Courtesy: VMWare Corp.)

Here what it explains is that the group of vCloud Director Servers are connected to a bunch of vCenter Servers on the vSphere layer which in turn are connected to their respective ESXi Host Servers. Like every vCloud Director, vCenter has it's own Database which you install and configure when you are setting up your vCenter Server during vSphere Installation/Configuration (or you connect to an embedded DB in case of say vCenter Appliance).  Also, as I have mentioned previously every vCenter Server also connects to vShield Manager. vShield Manager holds a very important role in the vCloud Family and no wonder it deserves a separate blog post exclusively.

Until this point what we saw is that our Cloud or what we call vCloud in VMWare World :) is ready to be deployed. You immediately come up with a question: But what about charging the customers? Is it done by vCloud itself?

NO! For that we have something called "Vmware Chargeback Manager". Yes, by now you figured out that it is another appliance which can be downloaded and installed .  Chargeback Manager will create the usage reports, do billing etc.

Did we miss something else too or we are good to go?

Well, there's another optional component named "vCloud Connector" which will enable your Private On-Premise Cloud to be connected to other Public Clouds (at this moment those have to be vClouds as well, if I am not wrong) making it a Hybrid Cloud. Think about a situation, you have set up a Private Cloud in your company and set up the workloads. Eventually it needs growth and you find it a cheaper and easier to move workloads to a Public vCloud provided by any of the vCloud Partners of Vmware or vice versa. There comes VCD Connector to your rescue.  See the diagram below.


Diagram3 (Courtesy: Vmware's Official Blog)






I hope by now we have a basic idea about the different building blocks of VCD. To sum it up let's refer to this architecture diagram:













Now that we have some basic idea about VCD, we will go further in-depth in the coming posts, Stay Tuned...


3 comments:

  1. If you were to set this up from scratch, and you had spare infrastructure, how long does it take to get a clound working (without chargeback)?

    ReplyDelete
    Replies
    1. If you have vSphere environment ready, it should not take you more than 4-5 hours :)

      Delete
    2. But then if you don't have vSphere environment ready, then it would take you almost another extra 4 hours considering you have all hardware, storage, networking in place

      Delete