Before I decided to go freelance, I spent my entire career working in IT departments for large corporations. During that time, there seemed to be a few factors that were consistent within each company:
- Network administrators are busy.
- Provisioning new servers can be time-consuming.
- Management often changes their minds about what they want.
Being able to rapidly provision new servers can help with all three of these issues. For one, decreasing the amount of time it takes to provision a new server frees you up to work on other things. Then, if at the end of the day your manager decides that he or she wants to run Linux instead of Windows, you can convert the machines to Linux on the fly.
This is where an ever-evolving technique called just-in-time server provisioning comes in. While just-in-time provisioning can be considered a rapid deployment technique, it's really more of a philosophy than a technology. In other words, there are several different ways to accomplish the same result.
One common technique for achieving just-in-time provisioning is to take advantage of the power of virtualization. The idea is that, as an administrator, you should be familiar with the applications that are used in your organizations. You are probably also familiar with what it takes to run those applications. That being the case, it is possible to create virtual machine templates with everything necessary for hosting a specific type of workload.
For example, suppose you use a lot of Exchange Servers in your organization and you want to be able to rapidly deploy new ones whenever the need should arise. To facilitate that need, you could begin by creating a virtual machine that is running your operating system of choice. Since Exchange Server requires Windows PowerShell and Internet Information Services (IIS), you could install those components, too. Exchange Server isn't really an application that you can install ahead of time, but you could still copy the installation binaries to the virtual machine's hard drive so that they are ready to go.
Once everything is in place, you could run Sysprep to remove anything uniquely identifying the server. This includes the GUID, computer name, IP address, etc. After the virtual server has been "Syspreped", the virtual hard drive file can be turned into a template. That way, any time a new Exchange Server needs to be deployed, the template can be copied to the virtual machine and the new server can be up and running in minutes.
Right now, you might be wondering what virtualization has to do with this process. After all, Microsoft first gave us the ability to use Sysprep and clone a server image about a decade ago. The importance of virtualization is that it removes the need for hardware configurations. If you are deploying a new virtual server, you don't have to worry whether your template's hardware abstraction layer will match the server hardware or if the template contains all of the necessary driver files. Furthermore, you can build the hardware allocation into the template. For example, if you know that the Exchange Server should be equipped with 4 GB of RAM, then you can build a 4 GB memory allocation into the template.
As I mentioned before, there are many different techniques for just-in-time server provisioning. As such, it shouldn't be any surprise that some third-party vendors have gotten into the act. For example, Symantec's VERITAS OpForce technology was specifically created to achieve just-in-time provisioning. OpForce was designed to discover network servers, make an image of each server, and document the server's configuration. That way, when new servers are needed, the image and the configuration information can be used to rapidly create another server of the specified type (domain controller, DNS servers, etc.).
Aside from automating the imaging process, the thing that sets OpForce apart from the other technique that I described is that it can provision multiple servers simultaneously. Therefore, if you have to provision a hundred new servers, you can save time by doing them all at once.
ABOUT THE AUTHOR
Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and healthcare facilities, and was once a network administrator for Fort Knox. You can visit his personal Web site at www.brienposey.com.
This was first published in February 2010