Lately, I have been spending a lot of time with VMware vCloud Director and testing a beta version for use in a public cloud scenario. While I cant yet to share details of the beta version, I did want to talk about the current release and why you might find yourself considering hosting a server or two at a vCloud provider.
What is VMware vCloud you ask? Well simply put: vCloud is what you get when you marry the virtualization capabilities of VMware vSphere and the multi-tenant (or user) management capabilities of vCloud Director along with some other VMware products. (Like vShield, Chargeback, and more)
There are two basic customer groups that vCloud targets, the first is a large organization and the second is the public cloud customer. In a large organization where IT provides resources to many departments, it can get confusing for the virtualization and storage team to service requests for new virtual machines. For example, if an internal development team needs a group of virtual machines for each revision of testing it could become quite a time-consuming task to re-provision all of the VM’s each time. Not to mention it would be a waste to leave those VM’s running after they are no longer in use.
The other major group that vCloud serves is the public cloud customer. Until recently customers who wanted a server at a data center for hosting a web application, or email, or some sort of application that was used by many people, had a couple of options: co-locate their hardware in a datacenter, purchase a dedicated server, or use shared hosting. Then within the last couple years virtualization popped up and customers could purchase VPS’s… or Virtual Private Servers. These were mostly Linux based, but occasionally you could find Windows VPS’s as well.
So what exactly does vCloud Director do? Basically, we can avoid giving a customer (be him internal or external) full vCenter access, and instead we can give them a self-service web-based interface where they can still create and manage virtual machines while keeping other customers separate and completely secure. It also is a much simpler interface for a non-VMware admin.
Obviously, for a dedicated or co-located servers you did not have any real control panels, and if you broke it… you were either making a trip to the datacenter or calling the service provider and having them possibly reload the box. With shared hosting, most people had access to a control panel, but only for web server configs and database configs. VPS’s normally had a fairly powerful control panel, at least the ones that I always used did. You could actually reboot, reload, and troubleshoot your entire virtual machine remotely if needed.
So where does vCloud fit?
Think of vCloud as the next generation online hosting platform. It gives you the reliability of vSphere, plus the control and “private security” as you would get with a dedicated or co-located server. But at the same time it offers many advantages over co-location and dedicated servers, the biggest for me are:
- Quicker setup and deployment times
- Elastic compute power (grows as you do) with load balancing
- Buy by the pool, not the server (or VPS)
- No hardware replacement life cycle
- It’s completely secure
- It’s the Green thing to do!
Let me explain each of these, first up we have “Quicker setup and deployment time”. Because this is still a shared server concept the hardware is already in place, there is no need to wait while the hosting company setups up your dedicated server, or the time from when you order the box until you get it sent to the datacenter for installation. Instead, you just have to wait for your pool to be provisioned, then after that, you are free to create as many virtual machines as your pool can hold, and you can even mix and match operating systems and create your own custom networking layouts.
The next point is elastic compute power… this gives me the ability to request more CPU and Memory when my needs grow, but until that time I can only buy what I need for “now”. With a dedicated server, I would either have to buy a high-end server up front or rip and replace down the road. With a VPS I could probably request a larger resource allotment but some providers charge for this upgrade.
The next point was “buy by the pool, not by the server (or VPS)”, what I mean is instead of buying a server, or a VPS for each workload you simply buy a certain amount of RAM and CPU power (which makes up a resource pool) and then you can create as many virtual machines as you need. So if you needed a web server and a database server you could buy a pool with 4Ghz of CPU and 4GB of RAM. Then you could allocate 3GB of RAM to your database server, and 1 GB of RAM to your webserver… and your CPU power could dynamically be allocated to whichever VM needed it. This makes things very easy to change or repurpose if your needs change.
One of the biggest issues, once you co-locate or buy a dedicated server, happens about 3-5 years after you start… and that is when the hardware goes out of warranty and becomes obsolete. Then what do you do? buy another server… then migrate all your data over to it? What a pain in the neck. With VMware vSphere (which is what vCloud is built on) the service provider can upgrade the hardware on the backend without any downtime and without any migration on the customers part. This saves you a lot of time and money in the long run.
Most people think that if you are sharing resources with someone else there is probably a lack of security. This is not the case at all with vCloud, in fact, its one of the best parts about vCloud because it was designed for a multi-tenant environment. vCloud gives customers the ability to access the shared resources, but only the ones the service provider allows them access to, and this also means that you are guaranteed your resources even if someone else is bursting above their limit.
And of course, there is always the issue of being green right? I mean who wants to be the jackass who has a couple servers running for absolutely no reason? Especially servers these days that are so powerful that often a single workload is not enough to consume even 50% of their capacity.
Stay tuned as I plan to share a lot more about vCloud as I proceed with my pilot project, and once the NDA is lifted on the Beta version (vCD 1.5).