VMware Cloud Community
swisst
Contributor
Contributor

Speeding up (template) server provisioning

I was lucky enough to attend the vForum in London yesterday, I learnt loads about new the new offerings around internal and external clouds and VDI. some really sexy stuff, to say the least!!

Anyhow, one thing that kept coming up, over and over, was instantaneous (well near damnit) deployment of servers and workstations. I did get to speak to a couple of VMWare reps later on in one of the breaks. I got the "low-down" on VDI and it using a linked clone technology which saved users changes in a 25mb file...anyhoo I digress.

What I wanted to know was, how do people on here achieve their deployment of new virtualised servers and what are the timings of these do they expect.

My deployment method uses a "templated" syspreped image of a windows instance and timings around getting this into my live clustered environment is around 3-4 hours.

Thanks for reading.

Reply
0 Kudos
2 Replies
VMmatty
Virtuoso
Virtuoso

Whenever I setup ESX and vCenter I always create template virtual machines. I don't Sysprep them and instead use guest customizations (Customization Specifications) that will name them, join them to a domain, etc. If you Sysprep a VM and then shut it down/convert it to template, then anytime you need to make changes to it you have to let it go through the Sysprep process first before you can do anything. I'd recommend using Customization Specifications rather than actually Syspreping your "master" image.

I think deployment times all depend on what you're doing to the VM after it is deployed/operational. If you're simply giving it a static IP address then it should be quick - in most cases I can get a new VM deployed and ready to use in less than 45 minutes, often times much less than that. On the other hand if you need to perform a lot of manual steps, such as installing antivirus, applications, etc, then your time will be higher. If possible try to automate as much as possible in the template deployment process.

Actual deployment from template is going to be limited by the performance of the underlying storage. If the disk is overallocated from other VMs then deployment times will suffer. Also make sure you've optimized your storage configuration (multipathing, etc) to get the best possible experience.

Matt | http://www.thelowercasew.com | @mattliebowitz
Reply
0 Kudos
golddiggie
Champion
Champion

Depending on what you're using for storage, the time to deploy from a template (using the VM Custom Configuration settings found in the Custom Specifications Manager section) will take anywhere from 5 to 15 minutes to have it ready for additional software/setting changes. The additional installs are the unknown factor for what you'll be doing. Every time I set up an environment, I create a base Win2003 server template of the type that is going to be deployed most often first. If there are going to be other servers built with different operating systems, and more than a few times (one-off servers aren't typically worth it all too often, but sometimes they are) then I'll create templates for those too. Using the templates, systems can be deployed (as mentioned above) with new names, bound to the AD domain, given static IP's, or use DHCP, etc. It's far better, in my opinion, than using the sysprep option when it comes to servers. Especially since you can always convert the template back into regular VM, install updates, then convert back into a template and be ready to deploy the newly updated systems. Depending on your organization, this could be something you do monthly, or twice a year (or less). You also won't have to worry about the sysprep process buggering the system (it's NOT recommended to ever sysprep a system that was already sysprep'd before).

Something to keep in mind... Templates can be used for more than just Windows's servers. You can use them with Linux servers too. Especially RHEL and CentOS.

Another benefit of using templates to deploy servers is you won't have to clean up the servers like you would if you simply cloned them. I know of one organization that was cloning Linux servers in order to create new ones. I don't believe they were aware of the template function being available to them. That meant they needed to go into the Linux VM, every time, modify the network settings, name, and such before they could make it available. Using the template saves you from the additional work.

Personally, I use templates every chance I get. If I'm going to be deploying two (or more) of the same OS server, I'll make a template first, then deploy as many as I need from that. It's a little more work up front, but you save the time you spend with how fast you can deploy the servers moving forward. Especially if you think about how long it would have normally taken to build two servers the old way.

VCP4

Reply
0 Kudos