Automated Deployment
When the number of computers in an organisation increases, the need to use a tool to easily deploy additional servers rises in order to reduce the overall cost of maintaining these systems. Many use tools such as ghosting solutions to provide this functionality, but it is quite limited by the fact that it will only work on nearly identical hardware and therefore needs constant attention in order to be kept up to date with new hardware.
Ubuntu, whether it is used for the desktop or on servers, provides all the tools to pre-configure the official installer and therefore allow for reproducible, hardware-independent deployment scenarios that can be easily adapted to match virtually every need. Because of the nature of Linux this functionality is not limited to the operating system itself, but also encompasses the automated deployment and configuration of any application for which a package exists, and if an application is not yet packaged, it is equally possible to script its deployment manually.
Features and benefits
|
Feature |
Benefit |
|
Network deployment |
Controls the automated deployment of multiple machines over the network and remotely. Defines their roles centrally and reassigns them, thus limiting the actual physical intervention needed to plug new machines into the network. |
|
CD deployment |
Allows the automated deployment of machines that are not within the normal network reach, limiting physical intervention needed to plug in the machine and insert a CD. |
|
Unattended installation |
Installation, once a new computer is switched on, can be done in a fully unattended manner without any other user intervention. |
|
Controlled installation |
Automated installations can eventually include the request for a user to enter some information, allowing, for example, easy site configuration. |
|
Pre and post installation scripting |
Allows for specific actions to take place before any installation has started and after installation has completed, thus allowing full control of the overall process. |
|
Easy configuration GUI |
An easy graphical tool is available in Ubuntu to allow definition of the most common installation parameters and the automated generation of the corresponding control file. |
|
Automated updates |
Ubuntu provides all the means required to define the automated installation of updates on a regular basis. |
|
Landscape integration |
Computers supported through a contract with Canonical can be automatically integrated to the Landscape management framework, thus allowing to confirm the proper installation, update and full life cycle of a machine. Free trial at www.canonical.com/landscape/register |
Typical scenarios supported by Ubuntu Server Edition
Network deployments
The most common use of an automated deployment is in a data center where the need to add new servers, or reconfigure an existing one is a constant, as is minimising the risk of error and providing all the core elements.
To do this, it is customary to setup one machine as a DHCP/TFTP/HTTP server that provides the configuration information for installation over the network. The server to be installed just has to boot in PXE mode and the installation process starts and completes quietly, retrieving all the the requested packages from a repository server. The repository server can be a local mirror or one of the official Ubuntu mirrors available throughout the the world.
Diagram of a network deployment process
Remote location deployments
Similar in principle to the data center deployments, it allows the same flexibility but requires the network to be configured to provide DHCP relays on the remote locations that redirect the first DHCP requests to a central location.
Custom-automated CD
A less common but quite useful use of automated deployment is making a custom installation CD self sufficient to perform the full installation. This technique is quite handy in situations where multiple servers have to be deployed in remote geographical locations with no or limited connectivity.
Configuration methods
Debian Installer Pre-seeds
As a Debian derivative, Ubuntu Linux uses the Debian Installer during the install process of our operating system. It is certainly the most comprehensive method to automate and installation process.
Kickstart configuration
As an alternative, Ubuntu implements it own version of Kickstart, which is not only less complex, but also offers a nice graphical interface to create your initial configuration file.
In addition, it is possible to combine both methods to benefit from the ease of use of Kickstart while using the in depth options that pre-seeds allows.



