Strategies for web application deployment on Amazon Web Services
In this topic
- Host the application on Amazon S3
- Host the application on an EC2 instance in your ArcGIS Server site
- Host the application on an EC2 instance apart from your ArcGIS Server site
It's likely that you've developed a set of web applications that use your ArcGIS web services. There are several approaches you can take to host these web applications using Amazon Web Services.
Host the application on Amazon S3
You can host static web applications on Amazon Simple Storage Service (S3). In other words, the app must not use any server-side scripting languages such as PHP or JSP. This is an easy and relatively inexpensive way to host a web application, and it allows you to take advantage of the Amazon CloudFront content delivery service. See Web applications on Amazon S3 to learn more.
Host the application on an EC2 instance in your ArcGIS Server site
Another option is to host your web application on one of the EC2 instances in your ArcGIS Server site. If you take this approach, you should use the instance tagged as SITEHOST in the AWS Management Console. This is the instance that is not terminated when the site is stopped. It's also the instance that is preserved when you make a site template or backup.
The IIS and Apache web servers are available on the ArcGIS Server Windows and Linux instances, respectively. You can optionally install the Web Adaptor on your EC2 instances, but this is often not necessary.
See Deploy a web application on a Windows EC2 instance and Deploy a web application on an Ubuntu Linux EC2 instance to learn more.
Host the application on an EC2 instance apart from your ArcGIS Server site
You can launch an EC2 instance and use it for the sole purpose of hosting web applications. You might take this approach if you cannot host the application on S3, but you want to separate the web application tier from the GIS web service tier. In this scenario, you'll need to make sure that your Amazon security group(s) allow the necessary communication between all your instances.