Skip To Content

Strategies for web app deployment on AWS

It's likely that you've developed a set of web apps that use your ArcGIS Server web services and hosted web layers from an ArcGIS Enterprise portal. Where web apps are hosted in Amazon Web Services (AWS) partly depends on how you create the web apps.

Apps created in an ArcGIS Enterprise portal

You can use web layer items in your portal in maps and scenes, which you can then use in web apps. If you create these apps using the options provided with your ArcGIS Enterprise portal—Web AppBuilder for ArcGIS or configurable apps—the apps are hosted on the portal instance.

Custom web apps

When you create custom web apps using ArcGIS Web APIs, you can host them on Amazon Simple Storage Service (S3) or Amazon Elastic Compute Cloud (EC2).

Host the application on Amazon S3

If your custom web app is static, it may be easier or less expensive to host it on Amazon S3 instead of an EC2 instance. In S3, you can store sets of files in web-accessible folders, called buckets. S3 allows you to designate any bucket as a website. Define an index document and a policy stating who can access the site. You can then interact with your pages from the bucket as if they were hosted on a traditional web server.

Not all web applications are appropriate for S3. If your app uses a server-side scripting language such as PHP, JSP, or ASP.NET, then you should host the app on an EC2 instance. However, client-side scripting languages such as JavaScript are appropriate for S3.

A benefit of hosting your page in S3 is the potential to use the Amazon CloudFront delivery service. This is an Amazon web service that hosts your content on various servers around the world, optimizing your file delivery speed among geographically dispersed users.

For full information about how to host a website on S3, see the AWS documentation.

Host the application on an EC2 instance

You can launch an EC2 instance for the sole purpose of hosting custom web apps. You might take this approach if you cannot host the application on S3 but you want to separate the web app tier from the GIS web service tier. In this scenario, you need to make sure that your Amazon security group (or groups) allow the necessary communication between all your instances.