Buying or building a Windows server is just the start. Once the hardware is working, you then need to give it a personality -- to customise it to your environment so that it not only communicates with the other systems but also delivers the required services. It's not always a simple task but investment in automation expertise can make successive installs much easier, allowing you to provision servers remotely and automatically.
The best approach to remotely provisioning Windows servers consists of three automation goals, or layers:
1) Installing the OS
2) Installing the system software which makes up the server's "personality"
3) Installing the application code and content.
Let's look at the best ways to accomplish these goals.
Installing the OS
Two main approaches for installing the OS exist: disk cloning and unattended scripted install. For desktop provisioning, disk cloning is the primary approach for installing not just the OS, but also the entire desktop image. For server provisioning, however, it's less appropriate because:
1. It assumes identical server hardware and identical base network and hardware settings.
2. Device driver differences across servers (such as storage drivers) lead to creating multiple images.
3. Servers are updated frequently with security and OS patches and configuration updates, often requiring re-building of OS images.
4. Fixing SIDs, network settings, service specific users/passwords and other parameters after the cloning process is a bigger issue on servers versus desktops, due to the higher degree of configuration complexity, as well as unique security and network settings.
Although disk cloning is slightly faster than unattended scripted installation, it is recommended only for the OS layer of server provisioning where server hardware is similar and only for the base network configuration.
Unattended scripted install has the benefit of parameterisation of unique server differences, as well as the ability to invoke the vendor-recommended system utilities that participate in the unattended install process.
Both disk cloning and unattended scripted installs can be performed remotely using a PXE/DHCP server. OS vendors and most server provisioning vendors (such as Altiris, or BladeLogic) provide a PXE-based solution for provisioning the OS over the network.
Giving your system some personality
This involves installing such items as monitoring and backup agents (BMC and Veritas) and middleware/infrastructure software (such as Exchange, Apache or IIS) and should be accomplished using a collection of unattended scripted installs. A master script or XML instruction file calls the individual software packages or scripts in the appropriate sequence, passing server-specific environment parameters (hostname, IP, and DNS server) as each step occurs. This layered approach allows server personalities to be easily modified. Plus, the parameters are the only things that need to change when the same layer is installed on another server, which drastically improves efficiency and reduces storage costs.
Application code and content layers
Installing these should also be accomplished using a collection of unattended scripted installs. While few companies make investments in standardising the packaging and deployment of this layer, doing so allows for the automation of the entire server stack provisioning process.
In summary, for remote server provisioning, there is a trade-off between provisioning the OS via disk cloning versus scripted install. Though disk cloning is faster, it should be used in more homogenous environments. Scripted installs should be used in more complex or diverse environments to allow for flexible, efficient modifications and to reduce storage costs.
For the system layers, a scripted install is recommended in most cases. For application updates, a scripted install is recommended 100 per cent of the time, simply because the pace of change at this layer is so high that a disk cloning approach will result in an exploding collection of images.
The benefit of provisioning each layer in an automated manner and combining them into a fully automated process will greatly increase IT agility and consistency of server and application builds.
Vijay Manwani is co-founder and Chief Technology Officer of BladeLogic, a developer of data centre automation software.