Questions and answers about ArcGIS Server on Amazon EC2

In August, Andrew Stauffer and I presented a live training seminar about ArcGIS Server on Amazon EC2. A highlight of this seminar was answering the listener-submitted questions. Below are a few of the questions we got, including some that we didn’t have time to answer. We’ve also included some other common questions that we get at seminars and workshops.

Before diving into these questions, you might want to review ArcGIS Server on Amazon EC2: The Basics.

General

Can you give some examples of real-world deployments of ArcGIS Server on Amazon EC2?

A few weeks ago, Directions Magazine presented an excellent webinar about the cloud, in which some early adopters of ArcGIS Server on Amazon EC2 showed a natural resources management application they had built. They were able to move their app into EC2 and get it running in less than one working day.

Other examples include the city of Novi, Michigan Internet mapping portal, several of the servers that Esri maintains to support its online SDKs and ArcGIS.com, and various applications listed in this recent Amazon Web Services blog post. EC2 has turned out to be a particularly good fit for disaster response, since hardware in the cloud can be procured in a matter of minutes.

Can you explain the differences between Esri’s offerings of ArcGIS Server on Amazon EC2, ArcGIS Server with Cloud Infrastructure, and Esri Managed Services?

With ArcGIS Server on Amazon EC2, you set up your own servers in Amazon EC2 using your own Amazon account. You’re responsible for all software costs and EC2 charges. You maintain full control over auto scaling and other settings.

ArcGIS Server with Cloud Infrastructure is just a convenient way to buy ArcGIS Server without having to acquire any physical hardware or install the software. You get the address and credentials to an EC2 instance that has ArcGIS Server installed and configured. You don’t do any EC2 administration; you just log into your instance and install your data and applications. There is no auto scaling with this option.

With Esri Managed Services, you don’t have to administer ArcGIS Server or a cloud platform. You simply explain the services and applications you’ll need, and the trained professionals at Esri will set up your server in the cloud and maintain it for you. They then monitor your services to ensure that they’re running and can meet demand.

For more details, you can also check the ArcGIS Server cloud product page here.

Can ArcGIS Server on Amazon EC2 be used for Web editing?

Yes. You can create feature services for Web editing and publish them using ArcGIS Server on Amazon EC2. You can also host your data and applications for Web editing on Amazon EC2, using either the SQL Server Express database on the ArcGIS Server AMI, or using the PostgreSQL geodatabase on the enterprise geodatabase AMI. Both databases can be used with ArcSDE.

Are there Esri software images for use in other rented public cloud environments?

Amazon EC2 is the only cloud platform for which Esri has built machine images, although we are actively working to ship ready-to-use servers in other clouds. We’d like to get your thoughts on what other cloud platforms you’d want us to support. Please submit your suggestions about this (or any other topic in this post) to ideas.esri.com.

Is ArcGIS Server on Amazon EC2 available outside the United States?

Yes. Your international distributor can work with Esri Customer Service to get you access to the ArcGIS Server AMIs. Amazon EC2 is available in many countries and maintains several data centers outside the United States that may help you place your deployment closer to your customers.

What help and training resources are available for ArcGIS Server on Amazon EC2?

Since you’re reading this, we’ll assume you know about this blog and the live training seminar.
Another great resource is the ArcGIS Server on Amazon EC2 Help, which explains security, deployment architectures, caching approaches, applying service packs, and many other topics that haven’t yet been detailed anywhere else.

Finally, there are several videos available:

The ArcGIS Server AMI

Does ArcGIS Server on Amazon EC2 come with a Web server (IIS) installed?

Yes. The AMI uses Windows Server 2008, with IIS already installed and configured for use with ArcGIS Server.

Is there a Java version of ArcGIS Server on Amazon EC2?

ArcGIS Server on Amazon EC2 is only available for the Microsoft .NET Framework at this time. Future releases of ArcGIS Server will include an AMI designed to run on Linux.

Can I run an AMI on my own cloud (in other words, not on EC2)?

If you take Amazon EC2 out of the equation, you are just working with internal virtual machines. ArcGIS Server is supported for use in virtualized environments. You can create a virtual machine image with ArcGIS Server installed and deploy it on your own hardware infrastructure.

Can I just make my own AMI from scratch by installing ArcGIS Server on a Windows or Linux instance?

Although it is technically possible to install Esri software on a vanilla Windows or Linux instance, this is neither supported nor recommended by Esri. The ArcGIS Server AMIs were engineered by Esri to gracefully handle some of the subtle differences that come from running the software in the Amazon EC2 environment. Using the AMIs is a lot easier than dealing with those differences by yourself.

Can I create a VM locally and move it to Amazon EC2 (in other words, convert it to an AMI)?

Although you may find stories on the Web about folks who have done this type of thing, it’s not recommended that you try it with ArcGIS Server on Amazon EC2. As mentioned in the previous answer, the Esri AMIs are specially engineered run on Amazon EC2. It’s recommended that you start with the AMIs and build on top of them, rather than trying to convert an already-existing virtual machine.

Licensing and pricing

How does pricing work?

There are two facets to ArcGIS Server on Amazon EC2 pricing: the hardware cost and the software cost. The hardware bill comes from Amazon and is separate from any Esri charges. The software is licensed through Esri in the same way that on-premises licensing works.

You must license any software that you cause to run in Amazon EC2. For example, if you have four CPU cores running ArcGIS Server on Amazon EC2, you must have ArcGIS Server licensed for four cores.

Does Esri offer special ArcGIS Server on Amazon EC2 licenses for universities or nonprofit organizations?

Whatever arrangement your organization currently has with Esri regarding ArcGIS Server licensing on premises also applies to licensing the software on Amazon EC2. For example, licenses procured under the Esri Nonprofit Organization Program can be used with ArcGIS Server.

When you replace an instance due to failure, using auto-scaling, can the “new” instance use the same Esri license as the failed instance?

You must have licensing for all of the CPUs that are running ArcGIS Server. If a machine is stopped or terminated, you no longer need to license it. A new machine can take its place.

Under what circumstances does it make sense economically to move to ArcGIS Server on Amazon EC2? And where can I find more information on Amazon EC2 pricing?

Amazon EC2 is a good fit for organizations who see occasional spikes in traffic, but do not want to maintain a room full of mostly-idle servers just to be able to accommodate those spikes. Also, Amazon EC2 can be a great way to acquire servers on a short term basis for development or testing. Finally, if you’re in the business of hosting applications for other people, Amazon EC2 gives you a platform at a neutral location that both you and your clients can easily access.

Amazon describes their pricing tiers in great detail at http://aws.amazon.com/ec2/pricing/. There’s even a cost calculator you can use to estimate how much you’d spend each month on cloud resources. Before deploying ArcGIS Server on Amazon EC2, you should work with your IT staff to get projected estimates of ArcGIS Server usage and needed hardware. You can then enter those estimates into the calculator.

If you’re looking to permanently expand your hardware infrastructure with Amazon EC2, it’s more economical to use the Reserved instances instead of the On Demand instances. The longer you commit to a Reserved instance, the less expensive it is, often to the point of becoming competitive with the option of purchasing your own server for use on premises. Try entering periods of 1, 2, and 3 years in the cost calculator for both Reserved and On Demand instances in order to see the difference.

Can an EDN license be used with ArcGIS Server on Amazon EC2?

Yes, an EDN subscription includes access to ArcGIS Server on Amazon EC2. You just need to create an Amazon account and contact Esri Customer Service to get access to the AMIs. The ArcGIS Developer Blog recently posted about this subject.

Does ArcGIS Server work with Amazon EC2′s free usage tier?

Esri does not recommend or support running ArcGIS Server on Amazon EC2′s free usage tier. Currently this tier only supports Linux instances, for which there is no ArcGIS Server AMI. Also, the micro instance sizes available with the free usage tier do not meet the system requirements for ArcGIS Server.

On EC2, am I limited to using just ArcGIS Server, or could I run an ArcGIS Desktop license for big geoprocessing jobs?

ArcGIS Desktop is included in the ArcGIS Server AMI for your convenience. With ArcGIS Desktop you can perform specific ArcGIS Server administrative tasks such as connecting to your enterprise geodatabase, redirecting your maps and geoprocessing models to data sources on the instance, and so on. In order to use ArcGIS Desktop for these tasks, you need to authorize the software with an authorization code.

The use of ArcGIS Desktop for typical GIS tasks such as cartographic production and editing is not recommended in Amazon EC2 because remote desktop connections do not provide the ideal user experience: basemap layers and 3D display show a sluggish behavior, imagery layers slow down your display, and so on. However, for CPU-intensive jobs such as batch processes and analysis, using ArcGIS Desktop on Amazon EC2 could be a viable option.

Data

On EC2, can I use SQL Server or Oracle as my database for ArcSDE?

Esri has only created an AMI for ArcSDE with PostgreSQL. A practical reason for this is that PostgreSQL is freely redistributable on an AMI. Esri Professional Services is experienced at helping with EC2 deployments that require ArcSDE with other flavors of enterprise databases.

If you have a small database, you may be able to use ArcSDE with the Microsoft SQL Server Express instance that is included on the ArcGIS Server AMI. Another option is to use a file geodatabase without ArcSDE.

How do I back up my data on EC2?

When you work with data on Amazon EC2, you’ll most often be putting it on Elastic Block Store (EBS) volumes, which are virtual hard disks that you rent. Although these volumes rarely fail, you can take snapshots of them as a backup. The snapshots can be used to quickly restore your data to a volume in case of a failure or unintended termination of a volume. The snapshots are stored on Amazon Simple Storage Service (S3).

Can multiple EC2 instances with ArcGIS Server use the same enterprise geodatabase instance?

Yes, it’s possible to have several EC2 instances running ArcGIS Server that use the same enterprise geodatabase. You can see this and other configurations in ArcGIS Server architectures on Amazon EC2.

Does the data I upload to EC2 remain on the hard drive even after I shut down the instance?

The answer to this question depends on how you have stored the data and what you mean by “shut down the instance”. Let’s tackle data storage first. You can either store your data directly on the instance (the C drive), or on an attached EBS volume. You get one of these volumes configured for you by default as drive D.

Now, if you merely stop the instance, your data will continue to exist no matter where you’ve stored it. You can start the instance back up and you’ll have your data available. If you terminate the instance, on the other hand, you’ll lose all the data on it, but you won’t lose the EBS volumes.

The summary is that it’s safer to store your data on the EBS volumes (the included drive D, for example) in case your instance unexpectedly terminates.

Could I create a single instance with both ArcGIS Server and ArcSDE on it for a small deployment?

The ArcGIS Server AMI includes ArcSDE and Microsoft SQL Server Express, which can be a great choice for small deployments that require ArcSDE technology. If you’re looking at an enterprise deployment, you should consider using the Enterprise Geodatabase AMI, which would then require you to have a separate instance running for the geodatabase.

How does ArcGIS Server handle a load-balanced request if it returns a URL to an output directory, like with an asynchronous geoprocessing task?

With ArcGIS Server on Amazon EC2 it is not recommended that you use asynchronous geoprocessing services or attempt to access items in an output directory via a URL. This is because, in a multiple machine deployment, you cannot ever be sure which machine the elastic load balancer will redirect to.

Applications

Can ordinary HTML or Flex applications be run from the same EC2 server as the ArcGIS Server?

Yes, you can deploy a Web application from the same EC2 instance on which you are running ArcGIS Server. If your instance is associated with an elastic IP address or an elastic load balancer, you’ll want to make sure that the application you deploy references that IP instead of the native IP of the machine.

Can I use other Web services, such as third-party address locators, when I deploy my application on EC2?

Yes. Your EC2 instances can access the Internet, therefore your applications can use third-party Web services that do things such as address location. You can also use services from ArcGIS.com.

Maintenance and security

How do I secure ArcGIS Server on Amazon EC2?

A good security strategy on Amazon EC2 involves a blend of Amazon-provided security mechanisms and ArcGIS Server security best practices. For example, you can enable Amazon-provided security groups to prohibit access to your instances through certain ports and protocols. At the same time, you can define server users and roles and enable ArcGIS Server security through Manager just as you would on premises.

The ArcGIS Server on Amazon EC2 goes into further detail about security strategies.

Does Amazon EC2 provide anti-virus software and operating system patches on its instances?

Amazon does not include anti-virus software on its AMIs; however, you can install anti-virus software on your EC2 instances if you choose. You also have the choice of whether to install operating system patches.

The fact that these items are not pre-installed gives you more flexibility with how you administer your instances.

How are new versions of Esri software and service packs handled on EC2?

Esri is currently creating new AMIs for service packs and major releases. These AMIs are shared within a few weeks of the service pack or major release becoming available.

There are several approaches you can take to apply a service pack. You can either download and install the service pack directly on the instance (using specialized instructions from ESRI), or you can launch a new instance using the service pack AMI. These approaches are detailed in the help.

For the latest information on the 10.0 SP1 AMI, see Esri Technical Article 38469.

Does Amazon EC2 provide an API that I can use to automate things on a schedule, such as starting and stopping an instance?

Yes, EC2 has a scriptable API which we posted about recently on this blog. Using a script to stop your instances on nights or weekends is one example of how the API can help you cut costs.

Is it possible to have several EC2 instances deploy themselves during times of high usage? How would this work?

Amazon EC2 offers an auto-scaling API, which can help you automatically launch or terminate instances in response to demand. Typically, you’ll use commands to set a maximum and minimum number of instances that you want to have running. You then set monitoring conditions on such factors as CPU usage over a period of time. These conditions trigger the launching and termination of new instances to mirror demand.

Why does Esri recommend closing the remote desktop port on a production instance? How would I administer the instance with remote desktop access turned off?

For increased security, the ArcGIS Server on Amazon EC2 documentation suggests removing your remote desktop security group rule on production instances. If you need to log into the instance for some reason, you can temporarily add a remote desktop access rule for your security group, then remove the rule when you are done.

When using a tiered deployment strategy, logging into the production instance should happen rarely. Instead, you will typically be making changes in your development or staging environments.

Performance

How is the performance of ArcGIS Server on Amazon EC2 if I am in Europe? Is it the same as if I am in the United States?

If you’re using Amazon EC2 in Europe, you have the EU region based in Ireland that you can use to deploy your applications. For the best performance, it’s recommended you pick the region closest to you geographically. However, you can test from each region to verify which is the fastest. Currently the Esri AMIs are available for deployment in all four Amazon EC2 regions.

Each regions have different usage costs. If pricing is a bigger concern than performance, you may investigate deploying your instances in a less expensive region, such as US East.

How is the performance of ArcGIS Server affected by running it on Amazon EC2?

Esri has stated that there can be varying performance penalties associated with running ArcGIS Server in a virtualized environment, which includes EC2. The advantage of EC2 is that you can run relatively inexpensive tests to understand whether performance will be adequate for you.

Which is better for ArcGIS: a high memory instance or high CPU instance?

The answer probably depends on what you are doing with ArcGIS Server. With a custom AMI, it’s easy and relatively inexpensive to benchmark the same application on varying sizes of EC2 instances. A day of testing and less than $100 of hardware costs can reveal a lot about which instance will run your application the most efficiently. Ultimately this testing may save you money.

A simple test we performed with various instance sizes concluded that the EC2 high-memory instances were the most cost efficient for creating map caches. Remember that because you are paying by the hour, efficiency in caching is a function of both uptime and pricing. You can read more about this subject here.

Contributed by Sterling Quinn of the ArcGIS Server software development team

This entry was posted in Services and tagged , , . Bookmark the permalink.

Leave a Reply

3 Comments

  1. sterlingdq says:

    @Phil – To answer your questions, you have to license ArcGIS Desktop separately from ArcGIS Server, and you can use any level of license. Your Esri representative should be able to help answer specific questions about how to take one of your ArcGIS Desktop licenses and apply it to your EC2 instance. This help topic may also be useful: http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_on_amazon_ec2/00rq/00rq0000003r000000.htm

  2. sterlingdq says:

    @Swati- You are right. You’d have to copy your data and applications back to your on premises environment, re-create your services on premises, and wire everything up. It would be about the same process as moving to the cloud environment, only done in reverse.

  3. sterlingdq says:

    @Keith- I’m not aware of any issues hosting Silverlight applications. If your app is hitting services from some other server, you’ll have to stick a clientaccesspolicy.xml file on the GIS server, as described in this FAQ: http://resources.esri.com/help/9.3/arcgisserver/apis/silverlight/help/faq.htm