In computing terms, virtualization allows you to abstract, or virtualize, a physical computer through the use of software. This is accomplished through software packages called hypervisors such as VMWare, Hyper-V and VirtualBox, which instantiate a “virtual machine” within a physical machine. A virtual machine works much the same as a physical machine; it boots up, requires an operating system, supports programs and applications, and can function as a server platform.
ArcGIS Server Virtualization
ArcGIS Server is fully supported on virtualized platforms—simply put, “it just works.”
- Stand up a virtual machine.
- Install an operating system supported for use with ArcGIS Server.
- Install & Configure ArcGIS Server.
What then, are the Dos and Don’ts when deploying ArcGIS Server on virtualized platforms?
Do: Consider physical host resources
Without exception, the most important consideration when working with virtual machines is to ensure the physical host can provide the resources allocated to the virtualized platform:
ArcGIS Server is a disk intensive application, so plan accordingly. Consider using RAID (Redundant Array of Independent Disks) configurations that support both high read/write performance and fault tolerance, such as RAID 5 or 10 (http://en.wikipedia.org/wiki/RAID). Any SAN (Storage Area Network) solution will support this.
Do I have to use RAID/SAN solutions if I just want to get started? No.
Should I use RAID/SAN solutions in production environments? Yes.
Ensure your physical host can support the upper limit of the RAM you intend to use for your virtual machine. Use an enterprise class hypervisor such as Hyper-V or ESX(i) to ensure stable memory management for production servers.
Must I use an enterprise hypervisor (VMWare ESXi, MS Hyper-V, etc) if I just want to get started? No, there are many options including VMWare Workstation, Server, Player which can be run on your current system.
Should I use an enterprise hypervisor in production environments? Yes.
Though virtualization offers a certain degree of flexibility, the processing power per core allocated to each virtual machine cannot exceed the upper limit of each physical host core. For example, on a quad-core 2ghz physical system, a total of 8 ghz may be allocated to virtual machines, however a single core virtual machine will still be limited to 2ghz.
Can I use multiple cores and/or physical boxes to create a super processor? No, virtual machines “slice” a physical machine like a pie. They do not aggregate.
As a general rule, provision 2GB of RAM per CPU. For example:
- 2 CPU | 4 GB RAM
- 4 CPU | 8 GB RAM
For further reading on performance and scalability with virtualized ArcGIS Server deployments, refer to this joint study conducted by VMWare and Esri with ArcGIS Server. Esri Professional Services also offers consultation for planning this type of enterprise deployment.
Do: Scale virtualized ArcGIS Servers horizontally
Take advantage of ArcGIS Server’s ability to scale horizontally by utilizing the SOM/SOC multiple machine deployment model using multiple virtual machines.
When choosing between one powerful ArcGIS Server (4+ cores / single machine deployment) vs. multiple less powerful ArcGIS Servers (2-cores / multiple machine deployment); multiple 2-core ArcGIS Servers will run more efficiently than a single 4+ core system in a virtualized environment.
Don’t: Run multiple virtual machines on a single physical disk
ArcGIS Server leverages multi-threaded operations across multiple cores; each process engaging in thousands of reads and writes per second (disk I/O). While modern operating systems handle these requests efficiently on physical machines, when multiple virtual machine images are run from a single physical disk, physical disk contention known as, “Wait Time,” or “Disk Latency,” will reduce performance exponentially.
The basic problem is simply that one disk is limited by its very physical hardware (read head/spinning magnetic disks) to reliably and efficiently service I/O intensive operations from multiple virtualized systems simultaneously. Never run multiple virtualized production servers (ArcGIS Server or otherwise) simultaneously from a single physical disk.
Do: Utilize drive array enterprise storage solutions
You can find many software solutions that support multiple simultaneous virtualized systems, since most deployments require this. The most common of these solutions is the SAN (Storage Area Network) array. These arrays implement RAID to stripe virtualized systems across many physical drives, thus reducing the problems of disk contention and latency. One such study conducted by VMWare with vSphere technology demonstrates the advantage of utilizing drive arrays as part of their overall architecture.
You don’t necessarily need to go buy an enterprise SAN solution to begin. For testing purposes only, a virtual machine can be run on a laptop.
Don’t: Dynamically change DNS and/or hostname values
ArcGIS Server is a scalable, distributed computing technology that relies on name resolution to connect components. Thus, to ensure the reliability of any ArcGIS Server deployment, hostname and DNS values should be held constant. Recent developments in virtualization technologies such as the Amazon EC2 cloud require hostnames, IP Addresses, and DNS names to change on reboot and re-deployment. In response to this trend, Esri has developed specialized virtual machine images for use with Amazon EC2.
Do I have to worry about this with VMWare or Hyper-V? No.
Do: Consider utilizing live migration solutions
ArcGIS Server deployments have performed successfully in conjunction with live migration solutions such as VMWare vMotion which enables the live migration of virtualized systems between two compliant virtual machines within a server farm. Tests with Windows based ArcGIS Server Java and .NET have proven capable of migrating between physical hosts without service interruption to active connected clients.
Do: Test and clone virtualized images
One of the great advantages of virtualization is to provide appliance-like modular machine images. ArcGIS Server is well suited to this usage pattern. You can engineer and validate an image, then re-deploy and duplicate this image as needed. Simply run the GIS Server and Web Applications Post-Installs once a DNS name is registered for the newly instantiated virtual machine.
Do: Run your virtualized ArcGIS Servers on the same virtualized network
Although VMWare and other virtualization providers can create multiple virtualized network segments, this can disrupt communication between ArcGIS Server components. When running a SOM/SOC multiple machine deployment architecture, ensure all virtualized systems run on the same virtualized network segment. See the Esri Knowledge Base article 28703 for details.
Do: Maintain both test and production environments
Virtualization technology makes it easier and cheaper to create separate “Test” environments and “Production” environments for deploying ArcGIS Server. You can use a test environment to get things right, and a production environment to expose your deployment to the world. The cloning and snapshot capabilities of hypervisor solutions such as vSphere can help you configure these separate environments.
Snapshots are not a replacement for a managed backup solution. You should carefully consider the risks of implementing snapshots in production environments.
Where to go from here?
If you’re considering a virtualized ArcGIS Server, given the many choices available, many start with MS Virtual PC or VMWare Workstation(other options include Oracle/Sun Virtualbox) all which can be deployed on a Desktop or Laptop.
When you’re ready to move to an enterprise virtualization solution, many organizations consider VMWare ESX/ESXi or Microsoft Hyper-V. Since virtual machines exist as files on the operating system, you can simply copy the VM you were running on your desktop/laptop into your enterprise virtualization solution.
Contributed by Gregory Ponto of Esri Support Services