ArcGIS Server architectures on Amazon EC2

ArcGIS Server architectures on Amazon EC2 can range from simple to complex, depending on the scope of your deployment. If you're developing or testing with ArcGIS Server, you could just use one EC2 instance and place your data on the provided EBS volume. When your application is ready for the production tier, or when your user base exceeds the capacity of your existing servers, you can scale out your deployment by adding more instances. You can also optionally move your enterprise geodatabase to the cloud and keep it in sync with your on-premises deployment using replication.

Below are some of the most common architectures used with ArcGIS Server on Amazon EC2. Study and combine them as needed to arrive at the best deployment plan for your organization.

Default deployment

This is the simplest configuration of ArcGIS Server on Amazon EC2. It consists of ArcGIS Server on one EC2 instance, with an attached EBS volume to hold the data. This is what you get when you launch an EC2 instance using the ESRI-provided ArcGIS Server Amazon Machine Image (AMI).

Default deployment of ArcGIS Server on Amazon

Default deployment with additional EBS volumes

You can add multiple EBS volumes to the default deployment for extra data storage. You might do this if the included EBS volume does not have enough space for your data. Adding more EBS volumes is also a way to organize and back up your data on different drives.

Default deployment with additional EBS volumes for drive E, F, etc.

Default deployment with an enterprise geodatabase

This deployment relies on an enterprise geodatabase as source data for its services and applications. The geodatabase is stored in PostgreSQL and is accessed through ArcSDE. It was created using the enterprise geodatabase AMI.

Default deployment connected to an enterprise geodatabase. The enterprise geodatabase is optionally synchronized with an on-premises geodatabase.

This deployment requires that you launch instances from the ArcGIS Server AMI and the enterprise geodatabase AMI. You can connect the instances by making a spatial database connection in ArcCatalog. You should configure the enterprise geodatabase EC2 instance with an Amazon Elastic IP address so that connections to it will always be honored, even if the instance is restarted.

In this diagram, the 100 GB EBS volume 'GIS Data' that comes with the ArcGIS Server AMI has been detached. This is a typical configuration when you strictly use data from your enterprise geodatabase. Also notice that the enterprise geodatabase AMI launches its own EBS volume (at the bottom of the above diagram) for storing the PostgreSQL cluster.

Once you've deployed your enterprise geodatabase on Amazon and moved your data to it, you can keep it in sync with your on-premises geodatabase using replication. ArcGIS Server geodata services are designed to perform replication over the Web for this purpose. In one-way replication, edits on premises are pushed to the cloud on a regular basis. If varying edits are being made directly to the cloud geodatabase and the on-premises geodatabase, two-way replication can help keep them both up-to-date.

Multiple EC2 instances of ArcGIS Server accessing local data

If one machine is not powerful enough to support your deployment, you can optionally launch additional EC2 instances containing ArcGIS Server and connect them with an Amazon Elastic Load Balancer (ELB). The ELB provides a common IP for Internet requests and does the work of distributing the work to the different ArcGIS Server EC2 instances.

Multiple EC2 instances of ArcGIS Server connected with an elastic load balancer (ELB)

In the above diagram, each EC2 instance is identical and is launched from a custom AMI that you create. You create this AMI after loading your business data and applications onto a default deployment of ArcGIS Server on Amazon EC2.

When you launch EC2 instances from a custom AMI, you also get copies of any EBS volumes that were attached to your instance. In the above deployment, each EC2 instance has its own attached EBS volume containing all the needed data, service information, and applications. Such a configuration is easy to set up and is potentially faster performing than using an enterprise geodatabase because the data access tier is eliminated. However, if the data changes frequently, it may be difficult to keep the EBS volumes in sync with the on-premises deployment or with each other. This configuration also requires you to incur multiple charges for storing the same data.

Multiple EC2 instances of ArcGIS Server accessing an enterprise geodatabase

This deployment is the same as the previous one, except this time the data is stored in an enterprise geodatabase in Amazon. The EC2 instances containing ArcGIS Server are identical and were launched using a custom AMI. All of them have a spatial database connection to the enterprise geodatabase.

Multiple EC2 instances of ArcGIS Server accessing an enterprise geodatabase.

One advantage of this deployment is that the enterprise geodatabase can be periodically synchronized with an on-premises geodatabase using a geodata service. You also get all the archiving, versioning, and replication functionality offered by ArcSDE.


1/30/2013