SlideShare a Scribd company logo
Dealing with High Demand
Building high-capacity mapping applications
By Keith Mann, Esri Writer




                                                                            A Review of Amazon EC2
                                                                            The strategy for adding capacity to the wildfi re app uses Amazon
                                                                            Web Services (AWS)—specifically, Amazon Elastic Compute Cloud
                                                                            (EC2) (aws.amazon.com/ec2). Amazon describes EC2 as “a web
                                                                            service that provides resizable compute capacity in the cloud.”
                                                                            Essentially, various components of Amazon’s compute infrastruc-
                                                                            ture can be rented to rapidly build a high-capacity support system.
                                                                               The strategy also uses ArcGIS for Server to create and manage
                                                                            the GIS services for the application. Esri provides ArcGIS for Server
                                                                            as an Amazon Machine Image (AMI) running on Amazon EC2. The
                                                                            ArcGIS for Server on Amazon EC2 AMI includes 100 gigabytes of
 The Public Information Map template can be configured to allow            storage. These AMIs can be licensed in the same fashion that ArcGIS
the user to add features to the map.
                                                                            for Server is licensed on a local machine.
                                                                               When you start an instance of ArcGIS for Server on Amazon EC2,


I
    s your mapping application ready for the big time? Maybe a              you choose the ArcGIS for Server AMI, the size and type of machine
    better way to ask this question is, how well will the computing         it will run on, and other services and features such as Elastic Load
    infrastructure that supports your mapping application stand up          Balancing and Auto Scaling.
to a huge spike in demand?                                                     You can upload your data and application to the instance’s storage
   Wildfi res raging in Colorado in 2010 precipitated a real-life test      area and configure them with the ArcGIS for Server instance so that
for Esri. In response to the fi res, Esri published a public informa-       you can publish services and add them to the mapping application.
tion map (PIM) for wildfi res. The wildfi re app ran beautifully on a       Detailed resources for accomplishing these tasks are listed in the
single server machine and seemed to be handling the daily traffic           online version of this article.
with no problem until a major news organization provided a link to
the map in one of its stories. Immediately, demand went through
the roof, and the server exceeded its load capacity. It shut down,
and the wildfi re app went dark.
   The application was quickly reborn, but not on the single server
machine. Th is time, it was set up to run in the cloud. The second
incarnation of the wildfi re app used cloud services to distribute
demand across multiple servers. Additionally, the base structure for
this type of system was established and configured so that server
machines could be added or removed as needed.
   In other words, a scalable system for supporting high-capacity
mapping applications was created. Th is system is now used for all                                   Server Machine
Esri disaster response and current events maps (esri.com/news/
maps/index.html).
   Th is article provides a brief, high-level view of the thought process               File                              ArcGIS for
                                                                                    Geodatabase         Application         Server
used in building the infrastructure for a high-capacity mapping ap-
plication. Although it’s certainly not the only way to do this, it is a
tried-and-true method that allows incremental system design while            Spikes in demand from the Internet can quickly overload a single
maintaining manual control over scalability.                                server machine setup.




38   au Spring 2012 esri.com
Developer’s Corner



                       With two identical single server setups, one
                      can function as the staging setup and the other                           Demand
                      as the production setup.




                                          Staging                                              Production
                                      Server Machine                                         Server Machine

                           File                          ArcGIS for                File                        ArcGIS for
                       Geodatabase      Application        Server              Geodatabase     Application       Server




The Single Server Setup                           The Staging Server and
A common method for deploying a mapping           Production Server Setup
application is to put everything—the map-         Another way to prepare for server overload         the GIS server. Creating a custom AMI can
ping application, the GIS server, and the         situations is to make it easier and faster to      take 20 minutes to an hour. Once it’s cre-
data—on one machine.                              spin up a new instance of your mapping             ated, you can generate new instances from
   Th is method is often used for internal ap-    application if it goes down. To accom-             the custom AMI very quickly—in approxi-
plications because machine usage is either        plish this, fi rst create a single server setup.   mately 15 to 20 minutes.
known or can be safely predicted. However,        Conceptually, you can think of this as your          Having a staging setup lets you test your
when the application is exposed to the            staging setup. Next, make a copy of your           application and make edits before you
Internet, it is more difficult to predict the     staging setup and use the copy as your pro-        deploy the production setup. If you want to
maximum load on the server.                       duction setup. End users only access the re-       add functionality to the application or make
   Sudden spikes in demand can quickly            sources of the production setup. If demand         changes to the data and services, you can do
overload the processing capability of the         overloads your production server, you make         this without disturbing the end users who
server machine and cause it to crash. During      a new copy from the staging setup and use it       are using the production setup. When you’re
the resultant downtime, your customers            to replace the crashed production setup.           ready to deploy the new setup, just kill off
lose access to the application, and you end          On Amazon EC2, making a copy simply             the production instance and replace it with
up spending hours getting the server up and       means starting a new instance from a               the updated production instance.
running, only to have it crash again as soon      custom AMI. To create the custom AMI,                However, this framework doesn’t help you
as users discover its availability.               complete the staging setup and save it as          achieve the capacity needed to support large
   One way to combat spikes in demand is to       an AMI. The custom AMI encapsulates your           spikes in demand. To do that, you’ll need two
use a server machine with more processing         entire setup—the application, the data, and        load-balanced production instances.
power. The problem with this solution is that
you end up paying for a server that is un-
derutilized most of the time. Th is scenario is
true whether you’re deploying your applica-
tion on local infrastructure or in the cloud.
                                                                                                Demand




 A load balancing service can be used to distribute
demand across the two production setups.                                                     Load Balancer




                   Staging                                              Production                                   Production
               Server Machine                                         Server Machine                               Server Machine

    File                          ArcGIS for              File                         ArcGIS for        File                        ArcGIS for
Geodatabase       Application       Server            Geodatabase       Application      Server      Geodatabase      Application      Server




                                                                                                                     esri.com Spring 2012 au   39
 If demand begins to exceed the capacity
                                                                                                                Demand
of the two production AMIs, another
production AMI can be added to the load
balancer.



                                                                                                              Load Balancer




                  Staging                                   Production                                           Production                                           Production
              Server Machine                              Server Machine                                       Server Machine                                       Server Machine

    File                       ArcGIS for       File                          ArcGIS for            File                          ArcGIS for             File                              ArcGIS for
Geodatabase     Application      Server     Geodatabase     Application         Server          Geodatabase      Application        Server           Geodatabase         Application         Server




Setting Up the Staging Server                             Multiple Staging Servers                                                In this case, you make custom AMIs of
and Load-Balanced, Multiple                               and Load-Balanced, Multiple                                           the application server setup and the GIS
Production Servers                                        Production Servers Setup                                              server setup, create two new instances of
In this scenario, you use the custom AMI                  With most mapping applications, you’ll                                each, and load balance the two production
created from the staging setup to generate                want to make improvements, add func-                                  application AMIs and the two GIS server
two identical production instances. Next,                 tionality, or change the look and feel of the                         AMIs. Th is scenario provides scalability to
you employ a load balancing service (called               app on a regular basis. Changes to data and                           your application as well as your GIS server
Elastic Load Balancing on Amazon EC2)                     services usually occur much less frequently.                          and allows you to work on either while re-
that will distribute demand across the pro-               You can take advantage of this phenomenon                             ducing the impact on your end users. Both
duction instances.                                        and make your high-capacity system more                               the application and the GIS server setups
   If something goes wrong with one of the                efficient if you put the application on a dif-                        can be scaled up and down depending on
production instances, the application con-                ferent server from the GIS server and data.                           where the loads are greatest.
tinues to work through the remaining pro-
duction instance. Th is gives you time to start
a new instance of the production instance
and configure it with the load balancer.
   You can also add additional machines                    Splitting the application and the GIS
                                                          server onto their own server setups                                                         Demand
to the load balancing service. If demand                  improves scalability as well as updatability.
increases to a critical threshold—say,
80 percent on both production servers—you
can start a new production instance from                                                                                                            Load Balancer

the custom AMI and add it to the load bal-
ancer. When demand subsides to normal
levels, you can kill off the third production                         Staging Application                            Production Application                         Production Application
                                                                        Server Machine                                  Server Machine                                 Server Machine
instance.
   In this scenario, you are achieving a level                              Application                                    Application                                      Application
of scalability that allows you to manually
respond to spikes in demand that may affect
the performance or viability of your map-
                                                                                                                                                      Demand
ping application. While the load balancer
can be used to monitor whether the applica-
tion is responding properly, it cannot check
the fine-grained functionality of ArcGIS                                                                                                            Load Balancer

services. To more closely monitor your ser-
vices, use ServiceMonitor, a script provided
by Esri that checks each service periodi-                                   Staging GIS                                  Production GIS                                   Production GIS
                                                                          Server Machine                                 Server Machine                                   Server Machine
cally and makes sure it is responding. You
                                                               File
can download the ServiceMonitor script at                  Geodatabase
                                                                                            ArcGIS for
                                                                                              Server
                                                                                                              File
                                                                                                          Geodatabase
                                                                                                                                              ArcGIS for
                                                                                                                                                Server
                                                                                                                                                               File
                                                                                                                                                           Geodatabase
                                                                                                                                                                                             ArcGIS for
                                                                                                                                                                                               Server
arcscripts.esri.com/details.asp?dbid=15335.



40   au Spring 2012 esri.com
Developer’s Corner




Including an Enterprise
Geodatabase Server for Feature
Editing
Some mapping applications allow the end         instances in different zones within the same                      instances exceeds tolerances, another pro-
user to perform feature editing such as         region, you can have them all behind the                          duction instance can be manually or auto-
adding a point, line, or polygon to the map.    same load balancer.                                               matically added to the load balancer.
To have consistency on the production serv-                                                                          If you anticipate frequent changes to the
ers running in the load balancer, editing       Conclusion                                                        application, you may find it useful to put the
must be done in an ArcSDE database. The         To support a high-capacity mapping appli-                         application server and GIS server on sepa-
ArcSDE database should reside on a sepa-        cation, you will need a scalable system of                        rate tiers of the system. Likewise, if your ap-
rate instance from the production instances.    identical setups, each with a GIS server; an                      plication includes the ability to add or edit
These features are stored in an enterprise      application; and, possibly, data server ma-                       map features, you should put the required
geodatabase.                                    chines. If you want to maintain your system                       enterprise geodatabase instance on a sepa-
   Esri also provides an enterprise geodata-    in a manner that minimally impacts your                           rate tier.
base AMI. Data for editable feature services,   end users, consider creating a staging AMI                           These concepts and suggestions are not
is stored in an instance created from this      that you can work on while the production                         the only way to use Amazon EC2 to bring
AMI. After putting the data in the enterprise   AMIs serve your end users. Ideally, there                         high capacity to your mapping application,
geodatabase, creating the feature service,      should be two load-balanced production in-                        but you may find that this model is a prac-
and configuring the service with the ap-        stances in the base structure of the system                       tical approach to maintaining fine-grained
plication, you make a custom AMI of the         so that if one fails, the application remains                     control over how and when your system
staging data server setup and launch new        viable. If demand on both production                              scales.
production instances.
   In this example, one staging data server
and only one production data server are
used to support the application. If possi-
ble, use two production data servers, each
with a mirrored enterprise geodatabase for       If the mapping application includes a feature
                                                editing capability, the data for those features                                        Demand
redundancy. However, currently, this is not     should reside in an enterprise geodatabase.
a simple, out-of-the-box solution provided
with the Esri enterprise geodatabase AMI—
it requires a strong understanding of enter-                                                                                        Load Balancer

prise database management.

Where to Go from Here                                     Staging Application                         Production Application                            Production Application
                                                            Server Machine                               Server Machine                                    Server Machine
Amazon offers an Auto Scaling service that
you can configure with the load balancing                       Application                                 Application                                      Application
service to automatically spin up new produc-
tion instances when load thresholds reach a
specified level. However, you may find that                                                                                            Demand


maintaining manual control over scaling of
your production instances is preferable.
   Amazon’s cloud infrastructure and data                                                                                            Load Balancer
centers are available in a number of regions
around the world. Each region has multi-
ple Availability Zones, designed to protect                    Staging GIS                                 Production GIS                                  Production GIS
                                                              Server Machine
your instances from failure. Instances can                                                                 Server Machine                                  Server Machine


be spread across Availability Zones within          File
                                                Geodatabase
                                                                                ArcGIS for
                                                                                  Server
                                                                                                 File
                                                                                             Geodatabase
                                                                                                                               ArcGIS for
                                                                                                                                 Server
                                                                                                                                                File                             ArcGIS for
                                                                                                                                            Geodatabase                            Server
a Region so that if one data center goes
down, the other instances will continue to
function. The Amazon EC2 Service Level
                                                               Staging Data                                                           Production Data
Agreement commitment is to provide 99.95                      Server Machine                                                          Server Machine

percent availability for each Amazon EC2         Enterprise
                                                Geodatabase
                                                                                                                       Enterprise
                                                                                                                      Geodatabase
Region. As long as you create production



                                                                                                                                             esri.com Spring 2012 au                     41
Ad

Recommended

[판교에서 만나는 아마존웹서비스] 새롭게 출시된 AWS 제품 소개
[판교에서 만나는 아마존웹서비스] 새롭게 출시된 AWS 제품 소개
Amazon Web Services Korea
 
IBM Spectrum Scale on the Cloud
IBM Spectrum Scale on the Cloud
Tony Pearson
 
Using ArcGIS Server in the Amazon Cloud
Using ArcGIS Server in the Amazon Cloud
Esri
 
July in aws
July in aws
Bansi Pathak
 
クラウド時代のアーキテクチャ設計
クラウド時代のアーキテクチャ設計
SORACOM, INC
 
A Step By Step Guide To Put DB2 On Amazon Cloud
A Step By Step Guide To Put DB2 On Amazon Cloud
Deepak Rao
 
IBM Software Available In The Cloud With Amazon Web Services
IBM Software Available In The Cloud With Amazon Web Services
Steven Gerhardt
 
Estimating the Cost of a GIS in the Amazon Cloud
Estimating the Cost of a GIS in the Amazon Cloud
Esri
 
Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
TIB Academy
 
Imaginea Scales Application using Amazon EC2
Imaginea Scales Application using Amazon EC2
Imaginea
 
Amazon Web Services presentation
Amazon Web Services presentation
Dan-Claudiu Dragoș
 
Fault Tolerant Applications on AWS
Fault Tolerant Applications on AWS
Amazon Web Services LATAM
 
13h00 aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
infolive
 
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
white paper
 
Amazon Web Service EC2 & S3
Amazon Web Service EC2 & S3
Pravin Vaja
 
Build a Cloud Render-Ready Infrastructure
Build a Cloud Render-Ready Infrastructure
Avere Systems
 
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
Alex Gramling
 
Aws big picture_overview
Aws big picture_overview
Ajay Bidari
 
CloudStack-Development-Story
CloudStack-Development-Story
Kimihiko Kitase
 
Decision support for Amazon Spot Instance
Decision support for Amazon Spot Instance
Fei Dong
 
13h00 p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
Luiz Gustavo Santos
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
Budianto Tandianus
 
Building Applications with AWS
Building Applications with AWS
Amazon Web Services LATAM
 
Electric gas-summer-2013
Electric gas-summer-2013
Esri
 
GIS for the Fire Service
GIS for the Fire Service
Esri
 
ArcGIS10.2 Desktop Functionality Matrix
ArcGIS10.2 Desktop Functionality Matrix
Esri
 
How companies are achieving competitive advantage through analytics
How companies are achieving competitive advantage through analytics
Esri
 
Forest Management with Esri
Forest Management with Esri
Esri
 
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Esri
 
INIA- CISA: Análisis de las amenazas en la fauna silvestre
INIA- CISA: Análisis de las amenazas en la fauna silvestre
Esri
 

More Related Content

What's hot (15)

Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
TIB Academy
 
Imaginea Scales Application using Amazon EC2
Imaginea Scales Application using Amazon EC2
Imaginea
 
Amazon Web Services presentation
Amazon Web Services presentation
Dan-Claudiu Dragoș
 
Fault Tolerant Applications on AWS
Fault Tolerant Applications on AWS
Amazon Web Services LATAM
 
13h00 aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
infolive
 
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
white paper
 
Amazon Web Service EC2 & S3
Amazon Web Service EC2 & S3
Pravin Vaja
 
Build a Cloud Render-Ready Infrastructure
Build a Cloud Render-Ready Infrastructure
Avere Systems
 
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
Alex Gramling
 
Aws big picture_overview
Aws big picture_overview
Ajay Bidari
 
CloudStack-Development-Story
CloudStack-Development-Story
Kimihiko Kitase
 
Decision support for Amazon Spot Instance
Decision support for Amazon Spot Instance
Fei Dong
 
13h00 p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
Luiz Gustavo Santos
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
Budianto Tandianus
 
Building Applications with AWS
Building Applications with AWS
Amazon Web Services LATAM
 
Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
TIB Academy
 
Imaginea Scales Application using Amazon EC2
Imaginea Scales Application using Amazon EC2
Imaginea
 
Amazon Web Services presentation
Amazon Web Services presentation
Dan-Claudiu Dragoș
 
13h00 aws 2012-fault_tolerant_applications
13h00 aws 2012-fault_tolerant_applications
infolive
 
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
Cloud Computing With Amazon Web Services, Part 1: Introduction - When It's Sm...
white paper
 
Amazon Web Service EC2 & S3
Amazon Web Service EC2 & S3
Pravin Vaja
 
Build a Cloud Render-Ready Infrastructure
Build a Cloud Render-Ready Infrastructure
Avere Systems
 
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
Alex Gramling
 
Aws big picture_overview
Aws big picture_overview
Ajay Bidari
 
CloudStack-Development-Story
CloudStack-Development-Story
Kimihiko Kitase
 
Decision support for Amazon Spot Instance
Decision support for Amazon Spot Instance
Fei Dong
 
13h00 p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
Luiz Gustavo Santos
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
Budianto Tandianus
 

Viewers also liked (7)

Electric gas-summer-2013
Electric gas-summer-2013
Esri
 
GIS for the Fire Service
GIS for the Fire Service
Esri
 
ArcGIS10.2 Desktop Functionality Matrix
ArcGIS10.2 Desktop Functionality Matrix
Esri
 
How companies are achieving competitive advantage through analytics
How companies are achieving competitive advantage through analytics
Esri
 
Forest Management with Esri
Forest Management with Esri
Esri
 
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Esri
 
INIA- CISA: Análisis de las amenazas en la fauna silvestre
INIA- CISA: Análisis de las amenazas en la fauna silvestre
Esri
 
Electric gas-summer-2013
Electric gas-summer-2013
Esri
 
GIS for the Fire Service
GIS for the Fire Service
Esri
 
ArcGIS10.2 Desktop Functionality Matrix
ArcGIS10.2 Desktop Functionality Matrix
Esri
 
How companies are achieving competitive advantage through analytics
How companies are achieving competitive advantage through analytics
Esri
 
Forest Management with Esri
Forest Management with Esri
Esri
 
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Precision and Productivity for Utilities/Energy Field GPS/GIS Data Collection...
Esri
 
INIA- CISA: Análisis de las amenazas en la fauna silvestre
INIA- CISA: Análisis de las amenazas en la fauna silvestre
Esri
 
Ad

Similar to Dealing with High Demand--Building high-capacity mapping applications (20)

GIS & Cloud Computing - GAASC 2010 Fall Summit - Florence, SC
GIS & Cloud Computing - GAASC 2010 Fall Summit - Florence, SC
Jim Tochterman
 
1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day
Kimihiko Kitase
 
CloudStack technical overview
CloudStack technical overview
CloudStack - Open Source Cloud Computing Project
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
Getting ready for the cloud iaa s
Getting ready for the cloud iaa s
Deepu S Nath
 
Jeff barr Seattle_interactive_2011_q4
Jeff barr Seattle_interactive_2011_q4
Seattle Interactive Conference
 
Aws in enterprise applications
Aws in enterprise applications
Suruli Kannan
 
AWS Boot Camp in Taipei
AWS Boot Camp in Taipei
Ernest Chiang
 
A scalable server environment for your applications
A scalable server environment for your applications
GigaSpaces
 
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Baruch Sadogursky
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
Mark Slingsby
 
Google Compute and MapR
Google Compute and MapR
MapR Technologies
 
Overview of Amazon Web Services
Overview of Amazon Web Services
Harish Ganesan
 
Aws and Alfresco Solutions
Aws and Alfresco Solutions
Alfresco Software
 
AMAZON CLOUD Course Content
AMAZON CLOUD Course Content
Varnaaz Technologies
 
Amazon web services : "How Does Cloud Computing Change the Business Model for...
Amazon web services : "How Does Cloud Computing Change the Business Model for...
Software Park Thailand
 
Netflix Global Cloud Architecture
Netflix Global Cloud Architecture
Adrian Cockcroft
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
IndicThreads
 
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Michaël Figuière
 
VISIT2008 Weatherforecast For IT
VISIT2008 Weatherforecast For IT
FujitsuSiemensComputers
 
GIS & Cloud Computing - GAASC 2010 Fall Summit - Florence, SC
GIS & Cloud Computing - GAASC 2010 Fall Summit - Florence, SC
Jim Tochterman
 
1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day
Kimihiko Kitase
 
Getting ready for the cloud iaa s
Getting ready for the cloud iaa s
Deepu S Nath
 
Aws in enterprise applications
Aws in enterprise applications
Suruli Kannan
 
AWS Boot Camp in Taipei
AWS Boot Camp in Taipei
Ernest Chiang
 
A scalable server environment for your applications
A scalable server environment for your applications
GigaSpaces
 
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Baruch Sadogursky
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
Mark Slingsby
 
Overview of Amazon Web Services
Overview of Amazon Web Services
Harish Ganesan
 
Amazon web services : "How Does Cloud Computing Change the Business Model for...
Amazon web services : "How Does Cloud Computing Change the Business Model for...
Software Park Thailand
 
Netflix Global Cloud Architecture
Netflix Global Cloud Architecture
Adrian Cockcroft
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
IndicThreads
 
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Michaël Figuière
 
Ad

More from Esri (20)

Aena Aeropuerto Adolfo Suárez-Barajas crea potentes aplicaciones para sus cli...
Aena Aeropuerto Adolfo Suárez-Barajas crea potentes aplicaciones para sus cli...
Esri
 
Plataforma Smart City de Móstoles
Plataforma Smart City de Móstoles
Esri
 
ArcGIS Online para Organizaciones
ArcGIS Online para Organizaciones
Esri
 
Molina de Segura se convierte en una smart city
Molina de Segura se convierte en una smart city
Esri
 
Portal for ArcGIS
Portal for ArcGIS
Esri
 
GIS-Based Web Services Provide Rapid Analysis and Dissemination of Maritime Data
GIS-Based Web Services Provide Rapid Analysis and Dissemination of Maritime Data
Esri
 
An Effective Tool for Drinking Water Protection
An Effective Tool for Drinking Water Protection
Esri
 
GeoCollector for ArcPad
GeoCollector for ArcPad
Esri
 
GeoCollector for ArcGIS for Windows Mobile
GeoCollector for ArcGIS for Windows Mobile
Esri
 
Data Appliance for ArcGIS
Data Appliance for ArcGIS
Esri
 
Esri and BlackBridge
Esri and BlackBridge
Esri
 
GeoPlanner for ArcGIS
GeoPlanner for ArcGIS
Esri
 
Esri and AccuWeather
Esri and AccuWeather
Esri
 
Esri and Airbus Defense & Space
Esri and Airbus Defense & Space
Esri
 
Esri US Data Fact Sheet
Esri US Data Fact Sheet
Esri
 
ArcGIS for Server on Microsoft Azure Jumpstart
ArcGIS for Server on Microsoft Azure Jumpstart
Esri
 
ArcGIS for the Military--Maritime Operations
ArcGIS for the Military--Maritime Operations
Esri
 
Esri Geoportal Server
Esri Geoportal Server
Esri
 
ArcGIS GeoEvent Extension for Server
ArcGIS GeoEvent Extension for Server
Esri
 
The NATO Core Geographic Services System
The NATO Core Geographic Services System
Esri
 
Aena Aeropuerto Adolfo Suárez-Barajas crea potentes aplicaciones para sus cli...
Aena Aeropuerto Adolfo Suárez-Barajas crea potentes aplicaciones para sus cli...
Esri
 
Plataforma Smart City de Móstoles
Plataforma Smart City de Móstoles
Esri
 
ArcGIS Online para Organizaciones
ArcGIS Online para Organizaciones
Esri
 
Molina de Segura se convierte en una smart city
Molina de Segura se convierte en una smart city
Esri
 
Portal for ArcGIS
Portal for ArcGIS
Esri
 
GIS-Based Web Services Provide Rapid Analysis and Dissemination of Maritime Data
GIS-Based Web Services Provide Rapid Analysis and Dissemination of Maritime Data
Esri
 
An Effective Tool for Drinking Water Protection
An Effective Tool for Drinking Water Protection
Esri
 
GeoCollector for ArcPad
GeoCollector for ArcPad
Esri
 
GeoCollector for ArcGIS for Windows Mobile
GeoCollector for ArcGIS for Windows Mobile
Esri
 
Data Appliance for ArcGIS
Data Appliance for ArcGIS
Esri
 
Esri and BlackBridge
Esri and BlackBridge
Esri
 
GeoPlanner for ArcGIS
GeoPlanner for ArcGIS
Esri
 
Esri and AccuWeather
Esri and AccuWeather
Esri
 
Esri and Airbus Defense & Space
Esri and Airbus Defense & Space
Esri
 
Esri US Data Fact Sheet
Esri US Data Fact Sheet
Esri
 
ArcGIS for Server on Microsoft Azure Jumpstart
ArcGIS for Server on Microsoft Azure Jumpstart
Esri
 
ArcGIS for the Military--Maritime Operations
ArcGIS for the Military--Maritime Operations
Esri
 
Esri Geoportal Server
Esri Geoportal Server
Esri
 
ArcGIS GeoEvent Extension for Server
ArcGIS GeoEvent Extension for Server
Esri
 
The NATO Core Geographic Services System
The NATO Core Geographic Services System
Esri
 

Recently uploaded (20)

Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
The Growing Value and Application of FME & GenAI
The Growing Value and Application of FME & GenAI
Safe Software
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
The Growing Value and Application of FME & GenAI
The Growing Value and Application of FME & GenAI
Safe Software
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 

Dealing with High Demand--Building high-capacity mapping applications

  • 1. Dealing with High Demand Building high-capacity mapping applications By Keith Mann, Esri Writer A Review of Amazon EC2 The strategy for adding capacity to the wildfi re app uses Amazon Web Services (AWS)—specifically, Amazon Elastic Compute Cloud (EC2) (aws.amazon.com/ec2). Amazon describes EC2 as “a web service that provides resizable compute capacity in the cloud.” Essentially, various components of Amazon’s compute infrastruc- ture can be rented to rapidly build a high-capacity support system. The strategy also uses ArcGIS for Server to create and manage the GIS services for the application. Esri provides ArcGIS for Server as an Amazon Machine Image (AMI) running on Amazon EC2. The ArcGIS for Server on Amazon EC2 AMI includes 100 gigabytes of  The Public Information Map template can be configured to allow storage. These AMIs can be licensed in the same fashion that ArcGIS the user to add features to the map. for Server is licensed on a local machine. When you start an instance of ArcGIS for Server on Amazon EC2, I s your mapping application ready for the big time? Maybe a you choose the ArcGIS for Server AMI, the size and type of machine better way to ask this question is, how well will the computing it will run on, and other services and features such as Elastic Load infrastructure that supports your mapping application stand up Balancing and Auto Scaling. to a huge spike in demand? You can upload your data and application to the instance’s storage Wildfi res raging in Colorado in 2010 precipitated a real-life test area and configure them with the ArcGIS for Server instance so that for Esri. In response to the fi res, Esri published a public informa- you can publish services and add them to the mapping application. tion map (PIM) for wildfi res. The wildfi re app ran beautifully on a Detailed resources for accomplishing these tasks are listed in the single server machine and seemed to be handling the daily traffic online version of this article. with no problem until a major news organization provided a link to the map in one of its stories. Immediately, demand went through the roof, and the server exceeded its load capacity. It shut down, and the wildfi re app went dark. The application was quickly reborn, but not on the single server machine. Th is time, it was set up to run in the cloud. The second incarnation of the wildfi re app used cloud services to distribute demand across multiple servers. Additionally, the base structure for this type of system was established and configured so that server machines could be added or removed as needed. In other words, a scalable system for supporting high-capacity mapping applications was created. Th is system is now used for all Server Machine Esri disaster response and current events maps (esri.com/news/ maps/index.html). Th is article provides a brief, high-level view of the thought process File ArcGIS for Geodatabase Application Server used in building the infrastructure for a high-capacity mapping ap- plication. Although it’s certainly not the only way to do this, it is a tried-and-true method that allows incremental system design while  Spikes in demand from the Internet can quickly overload a single maintaining manual control over scalability. server machine setup. 38 au Spring 2012 esri.com
  • 2. Developer’s Corner  With two identical single server setups, one can function as the staging setup and the other Demand as the production setup. Staging Production Server Machine Server Machine File ArcGIS for File ArcGIS for Geodatabase Application Server Geodatabase Application Server The Single Server Setup The Staging Server and A common method for deploying a mapping Production Server Setup application is to put everything—the map- Another way to prepare for server overload the GIS server. Creating a custom AMI can ping application, the GIS server, and the situations is to make it easier and faster to take 20 minutes to an hour. Once it’s cre- data—on one machine. spin up a new instance of your mapping ated, you can generate new instances from Th is method is often used for internal ap- application if it goes down. To accom- the custom AMI very quickly—in approxi- plications because machine usage is either plish this, fi rst create a single server setup. mately 15 to 20 minutes. known or can be safely predicted. However, Conceptually, you can think of this as your Having a staging setup lets you test your when the application is exposed to the staging setup. Next, make a copy of your application and make edits before you Internet, it is more difficult to predict the staging setup and use the copy as your pro- deploy the production setup. If you want to maximum load on the server. duction setup. End users only access the re- add functionality to the application or make Sudden spikes in demand can quickly sources of the production setup. If demand changes to the data and services, you can do overload the processing capability of the overloads your production server, you make this without disturbing the end users who server machine and cause it to crash. During a new copy from the staging setup and use it are using the production setup. When you’re the resultant downtime, your customers to replace the crashed production setup. ready to deploy the new setup, just kill off lose access to the application, and you end On Amazon EC2, making a copy simply the production instance and replace it with up spending hours getting the server up and means starting a new instance from a the updated production instance. running, only to have it crash again as soon custom AMI. To create the custom AMI, However, this framework doesn’t help you as users discover its availability. complete the staging setup and save it as achieve the capacity needed to support large One way to combat spikes in demand is to an AMI. The custom AMI encapsulates your spikes in demand. To do that, you’ll need two use a server machine with more processing entire setup—the application, the data, and load-balanced production instances. power. The problem with this solution is that you end up paying for a server that is un- derutilized most of the time. Th is scenario is true whether you’re deploying your applica- tion on local infrastructure or in the cloud. Demand  A load balancing service can be used to distribute demand across the two production setups. Load Balancer Staging Production Production Server Machine Server Machine Server Machine File ArcGIS for File ArcGIS for File ArcGIS for Geodatabase Application Server Geodatabase Application Server Geodatabase Application Server esri.com Spring 2012 au 39
  • 3.  If demand begins to exceed the capacity Demand of the two production AMIs, another production AMI can be added to the load balancer. Load Balancer Staging Production Production Production Server Machine Server Machine Server Machine Server Machine File ArcGIS for File ArcGIS for File ArcGIS for File ArcGIS for Geodatabase Application Server Geodatabase Application Server Geodatabase Application Server Geodatabase Application Server Setting Up the Staging Server Multiple Staging Servers In this case, you make custom AMIs of and Load-Balanced, Multiple and Load-Balanced, Multiple the application server setup and the GIS Production Servers Production Servers Setup server setup, create two new instances of In this scenario, you use the custom AMI With most mapping applications, you’ll each, and load balance the two production created from the staging setup to generate want to make improvements, add func- application AMIs and the two GIS server two identical production instances. Next, tionality, or change the look and feel of the AMIs. Th is scenario provides scalability to you employ a load balancing service (called app on a regular basis. Changes to data and your application as well as your GIS server Elastic Load Balancing on Amazon EC2) services usually occur much less frequently. and allows you to work on either while re- that will distribute demand across the pro- You can take advantage of this phenomenon ducing the impact on your end users. Both duction instances. and make your high-capacity system more the application and the GIS server setups If something goes wrong with one of the efficient if you put the application on a dif- can be scaled up and down depending on production instances, the application con- ferent server from the GIS server and data. where the loads are greatest. tinues to work through the remaining pro- duction instance. Th is gives you time to start a new instance of the production instance and configure it with the load balancer. You can also add additional machines  Splitting the application and the GIS server onto their own server setups Demand to the load balancing service. If demand improves scalability as well as updatability. increases to a critical threshold—say, 80 percent on both production servers—you can start a new production instance from Load Balancer the custom AMI and add it to the load bal- ancer. When demand subsides to normal levels, you can kill off the third production Staging Application Production Application Production Application Server Machine Server Machine Server Machine instance. In this scenario, you are achieving a level Application Application Application of scalability that allows you to manually respond to spikes in demand that may affect the performance or viability of your map- Demand ping application. While the load balancer can be used to monitor whether the applica- tion is responding properly, it cannot check the fine-grained functionality of ArcGIS Load Balancer services. To more closely monitor your ser- vices, use ServiceMonitor, a script provided by Esri that checks each service periodi- Staging GIS Production GIS Production GIS Server Machine Server Machine Server Machine cally and makes sure it is responding. You File can download the ServiceMonitor script at Geodatabase ArcGIS for Server File Geodatabase ArcGIS for Server File Geodatabase ArcGIS for Server arcscripts.esri.com/details.asp?dbid=15335. 40 au Spring 2012 esri.com
  • 4. Developer’s Corner Including an Enterprise Geodatabase Server for Feature Editing Some mapping applications allow the end instances in different zones within the same instances exceeds tolerances, another pro- user to perform feature editing such as region, you can have them all behind the duction instance can be manually or auto- adding a point, line, or polygon to the map. same load balancer. matically added to the load balancer. To have consistency on the production serv- If you anticipate frequent changes to the ers running in the load balancer, editing Conclusion application, you may find it useful to put the must be done in an ArcSDE database. The To support a high-capacity mapping appli- application server and GIS server on sepa- ArcSDE database should reside on a sepa- cation, you will need a scalable system of rate tiers of the system. Likewise, if your ap- rate instance from the production instances. identical setups, each with a GIS server; an plication includes the ability to add or edit These features are stored in an enterprise application; and, possibly, data server ma- map features, you should put the required geodatabase. chines. If you want to maintain your system enterprise geodatabase instance on a sepa- Esri also provides an enterprise geodata- in a manner that minimally impacts your rate tier. base AMI. Data for editable feature services, end users, consider creating a staging AMI These concepts and suggestions are not is stored in an instance created from this that you can work on while the production the only way to use Amazon EC2 to bring AMI. After putting the data in the enterprise AMIs serve your end users. Ideally, there high capacity to your mapping application, geodatabase, creating the feature service, should be two load-balanced production in- but you may find that this model is a prac- and configuring the service with the ap- stances in the base structure of the system tical approach to maintaining fine-grained plication, you make a custom AMI of the so that if one fails, the application remains control over how and when your system staging data server setup and launch new viable. If demand on both production scales. production instances. In this example, one staging data server and only one production data server are used to support the application. If possi- ble, use two production data servers, each with a mirrored enterprise geodatabase for  If the mapping application includes a feature editing capability, the data for those features Demand redundancy. However, currently, this is not should reside in an enterprise geodatabase. a simple, out-of-the-box solution provided with the Esri enterprise geodatabase AMI— it requires a strong understanding of enter- Load Balancer prise database management. Where to Go from Here Staging Application Production Application Production Application Server Machine Server Machine Server Machine Amazon offers an Auto Scaling service that you can configure with the load balancing Application Application Application service to automatically spin up new produc- tion instances when load thresholds reach a specified level. However, you may find that Demand maintaining manual control over scaling of your production instances is preferable. Amazon’s cloud infrastructure and data Load Balancer centers are available in a number of regions around the world. Each region has multi- ple Availability Zones, designed to protect Staging GIS Production GIS Production GIS Server Machine your instances from failure. Instances can Server Machine Server Machine be spread across Availability Zones within File Geodatabase ArcGIS for Server File Geodatabase ArcGIS for Server File ArcGIS for Geodatabase Server a Region so that if one data center goes down, the other instances will continue to function. The Amazon EC2 Service Level Staging Data Production Data Agreement commitment is to provide 99.95 Server Machine Server Machine percent availability for each Amazon EC2 Enterprise Geodatabase Enterprise Geodatabase Region. As long as you create production esri.com Spring 2012 au 41