The goal of this post is to convey just how easy it is to work with virtual machines in a public cloud that is using VMware vCloud Director software. This post will assume that you have already signed up with a VMware vCloud Service Provider and have been given your URL and login credentials. While this post is vCloud vendor neutral, it will feature screen shots from the demo vCloud implementation I have been setting up at SMSproTech (my day job). Sometime in the fairly near future this demo lab will also be opened up for potential customers who are looking to sign up with an account at SMSproTech as well, so if you in the market for public cloud shoot me an email and I’ll put you on the update list.
Anyhow, lets get started.
Every vCloud customer is given a unique, case-sensitive, URL that only works for them. This URL is in the form of:
You are also given an organization administrator username and password, from this account you can also create more user accounts for your organization. To login to your cloud simply go to your unique URL (in my case https://192.168.126.5/cloud/org/jpaul) and login with your credentials.
After logging in the first screen you come to is your home screen, this screen will show you all of your vApps as well as give you access to your Catalogs and other administration stuff. (More on catalogs later) Oh by the way, a vApp is not a new thing VMware just created for the cloud, vApps have been around since vSphere 4, simply put a vApp is a group of virtual machines that work together. In this how-to we will create a web application vApp… meaning that we will have a front end Apache web server VM, and a MySQL backend database VM. Both VM’s will be in a vApp which will allow for easy power off and power on operations (cause we can set the order for each VM) and cool features like exporting a vApp.
My home screen is what any new account will look like when you just sign up… I have no vApps to show on the main screen. Lets change this by created our first vApp which will be for a PHP/MySQL web application. The first thing to do is click the “Build New vApp” link on the home screen.
After clicking the Build New vApp Link you run through a wizard to provision your virtual machines. On the first page you name the vApp and select the amount of time that you expect to use this vApp. If this is a real world workload and it needs to be online “forever” you would select “Never Expire” for both options so that the vApp can run indefinitely. However for development use, or for simple lab purposes you can select a number of days to hold a “runtime lease”. This means that if you forgot about your vApp it will automatically be powered off after the number of days selected. This allows resources to be released for other users in case you forget to power off your VM’s. (Also if using a “Pay as You Go” method this will also power off the vApp and save you money if you forget to). The second option “storage lease” is the number of days the vApp should be kept after it is powered down. In both cases you can always extend out the lease after provisioning. So if you select 7 days, but it turns out you need another week to work, you can simply “renew” the lease later.
On the next page of the wizard we can add virtual machines to our new vApp. We have three options to do so:
- Use an existing VM from your other vApps as a clone
- Use an existing VM from a public vApp as a clone
- Create a new VM from scratch.
For this example we will create two new VM’s from scratch. Click the “New Virtual Machine…” button to proceed.
After clicking the New Virtual machine button a new wizard takes over to allow you to set variables for your new VM. For this example I am going to create a VM called “web1” for my Apache Web server front end.
After clicking OK you are brought back to the vApp wizard. From here you can repeat the previous steps as needed to create however many VM’s that your vApp requires. In the screenshot below I have went ahead and created my “db1” MySQL server as well. Click Next once you have all of the VM’s you need.
The next page lists out all of the new virtual machines so that you can select which network they are connected to as well as how they are allocated an IP address. One thing that I have found is that if you are creating new VM’s the IP allocation method that you select is ignored. But when you deploy a clone it is taken into consideration. For this example I will connect both of my VM’s to my Organizations “External” network.
An external network in “vCloud speak”is a virtual network that has access to devices outside of the vCloud. This could be the internet (which is the case in this example) or it could just be the company LAN. After setting all of the VM’s networks click Next to see a summary page, or just click Finish to provision your new virtual machines. After clicking Finish you will be returned to the home screen where you should now see your new vApp. You can click the “Open” link to drill down into it and see the individual VM’s.
Once the vApp is opened up we can click the VM’s individually and interact with them. Remember right now we just have blank VM’s, so the next step is to upload an ISO image so that we can mount it and start the OS installation. I will save that for tomorrows post since this one is already rather lengthy.
Here is what your new vApp looks like: