Virtualization is an old idea gaining renewed popular attention. VMware Inc. was one of the early developers of virtualization software for x86-compatible computers, and it still dominates the market, in spite of recent competition from Microsoft. Their VMware Server product runs as an application on several versions of either the Windows or Linux operating systems. Once installed, VMware Server can be used to build and operate multiple x86-based virtual machines on one physical machine.
This book provides a basic introduction to virtualization, and devotes a number of chapters to the installation and configuration of VMware Server. It then moves into the application of VMware Server to software development. The author describes the advantages and occasional drawbacks of running the development processes in a virtualized environment. In particular, the author describes speed and efficiency gains in the multi-platform testing of code using a virtualized environment. It is easy to read and has many coding examples.
The early chapters of the book provide a good level of detail on VMware Server installation and configuration, including networking and security considerations, illustrated with numerous screen shots. The reader is guided through the creation of guest operating system virtual machines, and installation of the tools for managing them.
The remainder of the book provides advice and examples on how to use VMware Server in an integrated software development environment. The basics of planning a development environment—from design through testing and deployment, and up to post-release maintenance—are given, along with useful, practical advice from the author. Detailed recommendations on how to organize machine images, naming standards, and the automation possible through the application programming interface (API) provided with VMware Server are presented.
The author devotes a chapter to each of three of the APIs: VmCOM; VmPerl; and the programming API, also known as Vix. The reader is taken through each in detail, with examples and sample code. The final two chapters cover how VMware Server can be integrated with existing development tools to build a single, efficient development environment. Examples are provided for Visual Studio Team System and CruiseControl.NET, and the author finishes off with a step-by-step, end-to-end review of a real-world example.
As its title indicates, the book addresses VMware Server almost exclusively. It briefly mentions other products such as VMware ESX, which are gaining popularity in large enterprise data centers; however, its primary focus is on the installation, configuration, and use of VMware Server. This is, therefore, not a book for those seeking a detailed understanding of virtualization.
The book is well written, and contains many coding examples and screen shots to support its text. The book’s focus on the use of VMware Server in software development and testing is enhanced by the author’s obvious experience in this field.
VMware Server is popular with, and widely used by, developers for many reasons, not the least of which is its price. This book contains practical examples of the use of VMware Server in development, and would be a useful resource for those working in software development.