ArcGIS Blog

Announcements

ArcGIS Pro

Virtualization of ArcGIS Pro from the Cloud and On-Premise platforms to support Higher Education

By Ryan Danzey and John Meza

The coronavirus (COVID-19) is causing many universities and colleges to virtualize their classes.  Schools that have not considered or postponed a decision to virtualize their GIS classes using ArcGIS Pro and ArcMap are revaluating their options.  Those that have experimented with virtualizing ArcGIS Pro are seriously considering how to expand their virtualized offering.

 

Recently we have fielded questions on how to virtualize especially ArcGIS Pro and ArcMap.

For some classes this is an easy shift to simple webinars, however for other classes it is not as simple.  Classroom labs provide hardware and licensed software to various users who may need those resources to succeed in the curriculum.

 

Fortunately, the virtualization of Esri technology, especially ArcGIS Pro and ArcMap is well tested across many platforms.  Cloud providers (Amazon AWS, Microsoft Azure, Oracle Cloud, and Google Cloud) have options in place that can support your needs and deliver a successful user experience using ArcMap or ArcGIS Pro. Below we’ll outline the options available, best practices and available online documentation.

Special considerations

ArcGIS Pro and ArcMap have different technical requirements that need to be considered when they are virtualized.  ArcMap is straightforward to virtualize with few special requirements.  ArcGIS Pro is a graphics heavy, multi-threaded application that delivers a wide range of GIS functionality with incredible visualization power.  To deliver this it requires GPU resources to be delivered in physical and virtualized environments.  The GPU resources are widely available in both cloud and on-premise virtualization environments.  The connection between the virtualized machine with GPU resources and the client is very important.  Normal network bandwidth needed to sustain a good user experience is normally 4-8mbs at a minimum.

 

Summary of the requirements needed to virtualize ArcGIS Pro:

  • Virtual Machine must have access to a GPU (pass-through or shared)
  • Virtual Machine needs to have enough CPU and RAM
  • Virtual Machine must have adequate network bandwidth with the client
  • Remote Access Client to the VM (RDP, Teradici, DCV NICE, etc)

 

 

Most of the testing and use of ArcGIS Pro in virtualized environments have used Nvidia GPUs, drivers and GPU sharing technology.  Recent testing of Azure and AWS VMs using shared AMD GPUs was promising.

 

When planning the virtualization infrastructure and GPUs to deliver a classroom experience it’s important to identify the exercises and use cases that are used.  For most use cases a lower cost GPU will handle the load well.  For use cases that put a heavy load on the GPU a more capable GPU is required, which normally costs more. This includes use cases such as heavy 3D visualization, spatial analytics and deep learning.

 

Much of this information is available in a newly published

Esri ArcGIS Pro Virtualization White Paper.

This document is a good place to begin when researching how ArcGIS Pro is virtualized.

Another very good doc which the ArcGIS Pro team contributed to is the

NVIDIA Quadro Virtual Data Center Workstation Application Sizing Guide for Esri ArcGIS Pro

 

Additional docs and links are provided below.

Virtualization On-Premise

On-premise virtualization of ArcGIS Pro and ArcMap is well tested and documented. The major virtualization vendors (VMWare, Citrix) have platforms that support ArcGIS Pro delivering very good user experience.  It’s important for the virtualization environment to be properly architected and configured to deliver a good user experience.

 

VMware– VMware Horizon is an effective on-premise virtual desktop infrastructure (VDI) solution for virtualizing ArcGIS Pro.  Horizon is a heavily used VDI platform and supports one of the most important requirements for virtualizing ArcGIS Pro:  shared and pass-through GPU to the virtual machine (VM).

 

Citrix– Citrix Virtual Apps and Desktops provides an On-Premise virtual desktop infrastructure (VDI) solution that can deliver ArcGIS Pro with a powerful user experience.  It is worth noting that the Virtual Apps (formerly XenApp) is not recommended for ArcGIS Pro, however it is capable of supporting ArcMap.

 

Hyper-V– Microsoft Hyper-V is a native hypervisor to the Windows Server operating system. This hypervisor is built into the operating system and can be enabled by accessing a server role.  GPU support for Hyper-V requires a GPU being installed in a Pass-through mode using DDA, this adequately provides ArcGIS Pro with the necessary GPU resources.   Due to the nature of this technology, we find this solution suited toward less demanding workloads.  Configuring and setting up to run with Hyper-V is relatively easy, provided the hardware has the proper configuration to support the implementation.

 

Nutanix Acropolis (AHV) — Acropolis Hypervisor (AHV) offers a flexible hypervisor that supports GPU backed virtual machines as part of the Nutanix Hyper Converged solution.  Nutanix hyper converged solutions offer “infrastructure in a box” supporting compute, network and storage functionality.  Unlike a single server appliance approach, this implementation can be a bit more complex but offers wide varieties of scalability and functionality without sacrificing large amounts of rack space.  Using AHV also requires the use of Citrix Virtual Apps and Desktops (formerly XenDesktop) to support and connect to VMs.  For additional information on Nutanix click the following link.

https://www.esri.com/arcgis-blog/products/arcgis-pro/3d-gis/virtualizing-arcgis-pro-on-nutanix-hyper-converged-infrastructure/

Hardware used for on-premise virtualization

All hardware vendors provide a wide range of servers that can support on-premise virtualization.  The key to selecting the right hardware is to design it to be scalable  and capable of supporting the needs of ArcGIS Pro.  Below is a list of some of the most common servers used.

  • Dell   – {Poweredge R740, R730, etc}
  • Cisco – {UCS C240 m5, C480 M5, etc}
  • HPE   – {ProLiant DL380 Gen 10, etc}

These vendors each have various offerings that can be used, a key component is to select a proper configuration, below is a sample of a reliable configuration:

  • Two (2) Twenty-Four Core Intel®Xeon® Platinum 8160 2.1 GHz Processors, 33MB Cache
  • Three (3) NVIDIA Tesla T4 Graphics Cards with 16GB of memory
  • 256 GB RAM (16 x 16 GB RDIMMs)
  • Six (6) x 800GB Solid State 12Gbps SAS Hard Drives with RAID 10
  • RAID Controller, 8GB NV Cache
  • DVD+/-RW SATA Internal Drive
  • Two (2) Dual Port 10GbE BASE-T and One (1) 5720 Dual Port 1GbE BASE-T Network Card
  • Dual 1600W Hot-plug, Redundant Power Supplies

 

Esri has an ArcGIS Pro Virtualization Appliance that is designed on a Dell platform. It is available now, off the shelf. It can also be used as a template when architecting virtualization servers on other HW platforms.

https://www.esri.com/content/dam/esrisites/en-us/media/pdf/hardware-partners/dell/DellVirtualizationAppliance.pdf

 

ArcGIS Pro on Mac– Installing Parallels onto a Mac allows the Mac hardware to host a Windows file based VM, similar to VMWare workstation.  This allows windows applications to then be run on the windows VM yet accessed from the MacOS environment.  This gives the feel of a native Mac application, yet it’s running from the windows VM.  Parallels offers an ability to run ArcGIS Pro in a way that creates a user experience that feels like you’re running a native Mac application.  This is different than Bootcamp, which is the partitioning of the hard drive to host separate operating systems.  using a Mac with Parallels 15 and configured as described in the link below should run ArcGIS Pro 2.3 and later with an acceptable user experience.

https://pro.arcgis.com/en/pro-app/get-started/run-pro-on-a-mac.htm

https://www.parallels.com/

Virtualization Cloud

Virtualizing ArcGIS Pro in the cloud has a wide range of options from all the major cloud providers.

Cloud Providers have added all the necessary technology required to support ArcGIS Pro.  This includes GPU resources—either shared or pass-through—just like On-Premise and physical environments.

 

There are such a large number of options available to virtualize ArcGIS Pro in the cloud that users must be careful in the instance type chosen.  New choices are made available frequently.  The ArcGIS Pro team has an ongoing virtualization test effort, working with vendors to identify useable instance types and configurations.

 

AWS– the AWS cloud platform provides a wide range of options to successfully deliver ArcGIS Pro from the cloud to a user.  This includes VMs with dedicated GPUs, streaming technology to deliver ArcGIS Pro in a browser, and on-demand GPUs that can be attached to existing VMs.

 

EC2 G4 Instances – These instances have all the power you need and provide graphics and compute support from an NVIDIA T4 GPU.  Although these systems are new and have yet to be blogged about, they have been used to deliver classes running Geospatial Deep Learning at University of California San Diego.  The G4 instances provide excellent resources to support heavy workloads, making them capable for use with Deep Learning events, ArcGIS Pro and CityEngine activities.

https://aws.amazon.com/ec2/instance-types/g4/

 

EC2 with Elastic Graphics and DCV NICE Client – Using a wide range of choices of EC2 instance types you can addon the GPU with a single check box during setup.  Using Elastic graphics attaches an AMD GPU to the system providing support for 3D functions.  This is an option that seems to work best to 2D and lightweight 3D work.

https://aws.amazon.com/ec2/elastic-graphics/

https://www.esri.com/arcgis-blog/products/arcgis-pro/3d-gis/arcgis-pro-with-amazon-ec2-and-elastic-graphics/

 

AppStream 2.0 – EC2 backend supported VDI but configured as a fully managed application streaming service.  Using AppStream you centrally manage your applications to deliver them to the user from the convenience of an HTML 5 browser.  This makes delivering ArcGIS Pro possible with this GPU enabled platform possible and convenient as it can then be done from any support browser on a laptop, desktop, tablet or phone.  This is convenient for various learning environments; however, these are not persistent instances.  AppStream has a time limitation, once assigned the AppStream pool resets after seven days.

https://aws.amazon.com/appstream2/

https://www.esri.com/arcgis-blog/products/arcgis-pro/administration/arcgis-pro-streamed-from-the-cloud-yes/

 

 

 

Workspaces Graphics Bundles and GraphicsPro Bundles– These cloud-based workstations have been a stable option for ArcGIS Pro users for several years.  These instance types offer the use of a NVIDIA M60 GPU paired with Amazon client to connect to the system, providing a great user experience and can be setup with relative ease.  These systems are more capable and more expensive than AppStream. This instance type is a persistent platform that are designed with long-term use in mind.  It is worth noting that the limitation with this system and the M60 GPU that powers the graphics rendering is that it must be set in either a compute or graphics mode to support the given function.  In this case the GPU is configured to deliver graphics and provide a rich visual experience.

https://aws.amazon.com/blogs/aws/new-gpu-powered-amazon-graphics-workspaces/

 

 

Azure — Providing a wide range of GPU backed instances. The instance types are concentrated in the N-Series VMs.

 

NC-series (NC6) –Offers exceptional compute and support for 2D work.  NC6 has often been used to support classes running ArcGIS Pro that involve compute focused tasks.  Due to the GPU (NVIDIA M60) being used to support GPU dependent functionality and not for graphics rendering it is not ideal for workloads that are graphics intensive or displaying 3D.

 

***Note*** NC6 and NV6 share the same basic design and use the NVIDIA M60 GPU.  The limitation with the M60 GPU is that it must be set in either a compute or graphics mode to support the given function.  Therefore, the product is split into NC (Compute) and NV (Visualization or Graphics) and is two separate products.

 

NV-series (NV6) – Stable platform able to deliver ArcGIS pro for several years.  Strong and reliable and easy to configure and run 3D workloads.  Similar in design to the NC6, however the NV6 is configured to use the GPU to present graphics in including 3D workloads.

 

NVv4-series – Newly released options that offers four configurations that can support ArcMap and ArcGIS Pro users.  More information will be coming very soon from Esri with a published blog addressing this platform.  Systems are power AMD CPU and GPUs.

Summary:

NV4- Good for 2D user

NV8 – Good for 2D use as well as light 3D use

NV16 – Solid platform for medium to heavy 3D use

NV32 – Good for heavy 3D with large datasets and heavy analysis needs

https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-gpu

 

Oracle Cloud— Oracle Virtual Machines offer a platform for large amounts of data and an ability to host server applications in addition to ArcMap and ArcGIS Pro backed by NVIDIA GPUs (P100, and V100).   This platform is a hosted single tenant bare metal environment, similar to a node-based infrastructure yet remotely accessible.  This platform offers lots of capacity and functionality.  For very high-end users this could be an ideal option.  This is also a platform you host larger amounts of infrastructure such as Enterprise GDBs or webservers, etc.

https://www.oracle.com/cloud/compute/virtual-machines.html

 

Google Cloud (GCP)– Various offerings with GPU backed systems from NVIDIA (K80, P100, P4, T4, V100)   Google like the other cloud providers offers is own hosted platform and delivers with a suite of GPU options. Google was the first to offer the NVIDIA T4 from the cloud.  GCP backed by a T4 offered a very worthy system that can deliver ArcGIS Pro from the cloud. Testing with this system had indicated the use of the windows RDP client was enough to provide the desired user experience.   Limited testing has been conducted with GCP but the results during testing provided a solid experience.

https://cloud.google.com/compute/docs/gpus

Connecting the VM to the client

 

There are several ways to connect the VM to the client, including RDP, Teradici, and NICE DVC.  Remotely connecting to a physical machine using RDP is a very common practice.  It is done in the workplace daily to share information in meetings.  It’s therefore also common to use RDP to connect to a VM because it’s familiar and inexpensive.  However, RDP does have limitations that can hinder functionality as well as hinder the user experience.  It’s not uncommon to see slower performance when connecting to a lab machine running on a LAN while connecting with a client on an external network.  This inconsistency and possibly egraded performance can stem from network latency between the lab hosted machine, and the client (student) connecting from an external source.

 

With several of the cloud hosted systems RDP is ideal to connect as it is an inexpensive alternative.  Azure N-series instances work quite well with RDP, as do some of the EC2, such as the previously mentioned G4 instances.  In some of these systems the providers such as Amazon have a client that you can use for workspaces, or in the case of Elastic Graphics the recommendations is to use the NICE DCV clients.  Using these client helps to improve the experience where RDP does not necessarily deliver.  For these types of connections with the Cloud hosted systems, these providers have networks that are designed with additional hardware (load balancers) to support this infrastructure and maintain a good connection and user experience.

 

Click the following link for Pros and Cons of using RDP:

https://blog.techinline.com/2019/10/07/microsoft-windows-remote-desktop-review/

 

With using Cloud and On-Prem Virtualization systems you need to connect the virtual machine residing in the Cloud or in the server room with the client machine that is used to work and visualize the VM. VMWare has the Horizon client which can be configured to use either PCoIP or Blast Extreme. These two protocols offer a good user experience and in some cases Blast Extreme offers an ideal option as it uses less network bandwidth and can be used from an HTML 5 browser. Citrix has HDX and delivers its experience from a browser and uses the Citrix Workspace client to deliver the VM to the client machine. Teradici and NICE DCV can be used by any of these systems however in some cases garner and additional cost. NICE DCV can be used with AWS EC2 instances for free, with other platforms it’s an additional cost.

Conclusions

We have discussed several options available to provide a satisfactory experience for students and instructors who would like to use their own laptops to access ArcGIS (ArcGIS Pro or ArcMap) remotely. The Esri Education team is available, with the support of the Esri Virtualization team, to assist our education users in choosing the right solution for their needs.

 

 

If you have questions on how to Virtualize ArcGIS Pro you can email the Esri Performance Engineering team:

ArcGISProVirtualization@esri.com

 

Share this article

Subscribe
Notify of
4 Comments
Oldest
Newest
Inline Feedbacks
View all comments