Docstoc

Project Architecture Design for Web Application

Document Sample
Project Architecture Design for Web Application Powered By Docstoc
					Systems Architecture Design, Configuration, and
                 Deployment


                 Tom Pattison
                      and
                 Michael Young

                      Version 3.1
Agenda


 • What is System Architecture?
 • Design - System Architecture
   – Business
   – Data
   – Application
   – Technology
 • Deploying - System Architecture
   – Scalability & Reliability
   – Performance
   – Security
   – Capacity Planning
 • Architecture Snapshots
 • Summary
What is System Architecture?
What is System Architecture?
The Simple Definition


  • Provide optimal solutions specifying implementation
    information for 4 basic components
    – Users
    – Applications
    – Data
    – Network           2
                                  Applications3
                                                           Data
     1
         Users


                           4                        4
                        Network                  Network
What is System Architecture?
Why is it important?


  • Success of Enterprise solutions depend on more then just
    delivering functions to the end-user

  • What if
     – Displaying a map on the screen takes 10 minutes?
     – 1000 users hit the system and your app fails?
     – You only need 1/10th of the hardware and licensing you purchased?
     – The integrity of your data is compromised?
     – Your solution can’t interoperate with the new application you bought?


  • System Architecture addresses these Quality Attributes
     – Sometimes called Non-Functional requirements as opposed to
       functional requirements
     – Mission critical solutions fail if Quality Attributes not addressed
What is System Architecture?
Sounds Simple Enough

 • Only 4 basic components
    – Why are we in this session then?


 • The difficulty
    – Addressing two sets of extremely complex Enterprise Requirements


     Functional Requirements             Quality Attribute Requirements
             Visualization                          Infrastructure
               Analysis                       Performance & Scalability
          Workflow Integration...                    Security …




 Organizations turn to Enterprise Architecture Frameworks as a roadmap
What is System Architecture?
Understanding Architecture Abstraction Levels




                                                                     System
                                                                   Architecture
      General        Geographic     Industry          Your        is one part of
          IT              IT         Vertical     Organizations        your
    Architectures   Architectures Architectures    Architecture     Enterprise
                                                                       GIS
                                                                   Architecture
       Service       Resource      Resource          Your
      Oriented        Center         Center        Enterprise
     Architecture    Enterprise     Industry          GIS
                        GIS        Templates      Architecture
     Application
     Architecture
       Patterns
What is System Architecture?
Key Enterprise Architecture Areas



  • Your Enterprise GIS Architecture is based on four* key areas:

     – Business Architecture              - Business needs
     – Data Architecture                  - Data and workflow
     – Application Architecture           - Applications utilized
     – Technology Architecture            - Supporting infrastructure


  • Each area provides key information for System Architecture

  • This presentation focuses on the System Architecture needs for a
    solution containing ESRI components


   * Based on The Open Group Architecture Framework (Version 9), a mainstream IT framework
What is System Architecture?
Scope in an Enterprise Project


       Project Phases

                                                System Architecture




       Design and Deployment are the next two sections of this presentation
               Design – Focuses on Architecture Inputs and Decisions
             Deployment – Focuses on Implementation Quality Attributes
Design - System Architecture
Design
Business Architecture



  • Identify
     – Business strategy
     – Governance
     – Organization
     – Key business processes


  • Decisions
     – Project Scope
       •   One site, multiple sites, your whole org, interaction with other orgs…


     – Is the organization structured as centralized or de-centralized?

     – What are the key scenarios?
Design
Data Architecture



  • Identify
     – Logical data assets
     – Physical data assets
     – Data management resources


  • Decisions
     – Is data going to be physically centralized or de-centralized?
        • If de-centralized, is replication necessary?
          – If replication is necessary, determine appropriate replication mechanisms
          – Is spatial versioning planned or non-simple spatial features?
               » If yes, then ArcGIS Server Replication might be a best fit
               » If no, then Relational database or disk hardware level replication might be best
Design
Application Architecture

  • Identify
     – Individual application needs
     – Application interactions
     – Application relationships to the core business processes of the organization


  • Decisions
     – First: Choose application types
     – Second: Choose corresponding ESRI applications




    Use the Enterprise GIS Resource Center to help identify what is appropriate for your project
 Design
 Application Architecture


• Choose application type(s)

   – Application patterns are    SMS,

     applicable cross platform
     and vendor solutions

   – MS Open Source
     Application Patterns




                                        Flex
Design
Application Architecture


• Choose specific ESRI applications
   – Example: ArcGIS API for Flex
   – Highlights key components
     • Tiers
        – Client
        – Web
        – GIS
     • Layers
        –   Presentation
        –   Service
        –   Business
        –   Data
     • Management Interfaces
        – ArcCatalog
        – ArcGIS Services Directory
        – ArcGIS Server Manager
     • Processing Loads
        – Notice Presentation Layer offloaded to
          client
        – Cache balance on client and server
Design
Technology Architecture



  • Identify
     – IT infrastructure
     – Middleware needs
     – Networks
     – Standards


  • Decide
     – Choose an Architectural Style and standards
     – Where Virtualization should be utilized
     – How to best minimize Network loads
     – What storage mechanisms to utilize
Design
Technology Architecture

  • Architectural Styles
     – A set of principles (coarse-grained pattern)
     – Overlapping styles is common

        • Service Oriented Architecture (SOA)
           – Loosely coupled integration options
           – Exposes functionality in a platform-independent way
           – Standards include: REST, SOAP


        • Message-Bus or ESB
           – Systems communicate with each other without needing to know recipient
           – On-the-fly transformations of information by bus between systems


        • Federated
           – Portals
           – Metadata
           – Standards include: UDDI, CS-W, eb-RIM


        • Point-to-Point
           – Tightly coupled integration
           – Fast to deploy but not agile to change
Design
Technology Architecture

  • Primary virtualization technologies utilized by ESRI customers

     – Application Virtualization
       • Useful for scenario of:
          – Centralized Data
          – Distributed Users
          – User functional requirements demand Rich Client Applications
       • Common supporting products include
          – Windows Terminal Services
          – Citrix – Provides additional Enterprise management capabilities


     – Hardware Virtualization
       • Useful for scenario of:
          – Multiple servers are not heavily utilized
          – Facilitates server consolidation
       • ArcGIS Server now fully supported
          – Testing indicates 20-30% performance/throughput degradation due to high I/O
            demands of GIS imagery and functions
          – 60% degradation has been observed so testing is key to identifying your needs
Design
Technology Architecture
  • Estimate Network loads
     – Identity available infrastructure bandwidths
     – Plan for infrastructure upgrades as necessary and balance with adjusting
       workflows and services utilized
Design
Technology Architecture

• Storage Mechanisms

  – SAN                                                                                  Direct Clients
                                             Web Service Clients
     • Provides optimal                    ArcMap, ArcGIS Explorer, Gaia, etc.    ArcMap, ERDAS, Server Manager, etc.

       performance, availability and
       scalability
     • Common for RDBMS and
                                        SOAP REST WMS WCS WFS KML
       Vector data


  – NAS                                      ArcGIS Server                                ImageServer
     • SAN typically does not allow                           Map /
                                                     FGDB
       concurrent access of multiple                         Image
                                                            Services
       servers to file based storage
       on one LUN
     • Common for File Based
       imagery


  – DAS
     • Utilize local disks on web             GeoDatabase                                  File System
       application servers with read-         Raster, Vector,                              Raster only
                                          Footprints, & Metadata                 Network Attached Storage (NAS)
       only File Geodatabases
                                        Storage Area Network (SAN)
     • Fast performance
Deployment - System Architecture
Deployment
Environments




                     Reverse Proxy
                                                Reverse Proxy

                  Network Loadbalancer
                                             Network Loadbalancer




     EDN System   Staging Virtual Machines   Production Systems
                    (Reflect Production)
Deployment
Scalability and Reliability



  • Scale up vs. Scale out

  • Distributed vs. Non-Distributed

  • Load balancing vs. Clustering
Scalability & Reliability
Scale Up vs. Scale Out

  • Scale Up – Get a Bigger Server
     – Common recommendation for Relational Database Servers
     – Look at scale-up options first if availability requirements not high
     – Pros
        • Simple option with no additional maintenance costs
     – Cons:
        • Single point of failure
        • Windows limit is roughly 100 ArcSOC processes


  • Scale Out – Get more Servers
     – Common recommendation for Web and ArcGIS Application Servers
     – Pros
        • Increases load capacity, protects against hardware failures, and ArcGIS
          products designed to scale out on multiple tiers.
     – Cons
        • Additional administrative and equipment costs
Scalability & Reliability                                   Web Tier               Web Tier
Distributed vs. Non-Distributed                              SOM                    SOM




                 Web Tier
                 Manage                               SOC                                      SOC
                                                     ArcSDE                                   ArcSDE
                  SOC
                 ArcSDE
   DBMS



                                                                     DBMS
                                                                     DBMS

  Single Machine Scenario                              Multiple Machine Scenario
 • Only distribute components where necessary
    • This provides best performance
 • Distribution may be necessary for
    • Security policies, physical constraints, shared business logic, and scalability
 • Starting with 9.3.1 there are no licensing costs for separate SOM or ADF tiers
Scalability & Reliability
Load Balancing vs. Clustering


         Load Balancing                            Failover Cluster




• Requests distributed across all
  healthy servers                       • Upon failure, standby server takes over
• Enhances performance, availability,   • Provides high availability and scalability
  and scalability of services such as     for read/write stores such as databases
  ArcGIS Web App servers, and read-     • ArcGIS SOM cluster can provide HA
  only stores                             without burden of 2 SOMs to maintain
Deployment
Performance



  • Selecting Services

  • Caching
Performance
Selecting Services

• Different geospatial
  services have
  different loads on
  your systems

    – This table
      summarizes the
      relative
      performance of
      services

    – If performance is
      high, then a fast
      result is returned
      with less system
      overhead
Performance                                                                             Better Caching

Caching



  • ArcGIS Server Tile Caches
     – Map Service – mxd file - (2-D)
          • Partial Caching
          • On Demand Caching
                                                                             Workflow Performance Summary
     – Globe Service – 3dd file - (3-D)                           1.2
                                                                                                                      NWQ
                                                                  1.0                                                 Network
  • Image Server
                                                                  0.8                                                 Web Svr Q
     – Service Overviews – 5% of raw




                                              Performance (sec)
                                                                                                                      Web Server
     – Derived Tile – 30% of raw                                  0.6
                                                                                                                      App Svr Q
                                                                  0.4
                                                                                                                      App Svr
  • Database                                                      0.2                                                 DBQ
     – SDE Pyramiding
                                                                                                                      Database
                                                                  0.0
                                                                        Light Dynamic Medium Dynamic   Fully Cached
  • Client Side
     – ArcExplorer / ArcMap / AJAX


  • Internet Caching
     – Akami – 30% traffic / load reduction
Deployment
Security



  • ESRI is providing security implementation patterns to help solve
    recurring security problems in a proven, successful way

  • ESRI’s patterns leverage The National Institute of Standards and
    Technology (NIST) guidelines for securing information systems

  • Patterns are based on risk for :
     – Basic Security Risk Implementations
     – Standard Security Risk Implementations
     – Advanced Security Risk Implementations


  • For more information on security patterns and securing ESRI solutions
    check out:
     – Designing Secure GIS Solutions – Thurs 1:30pm
     – Security section of New Enterprise GIS Resource Center
 Security
 ArcGIS Component Locations
                                  DMZ            Internal Local Area Network


                                            ArcGIS Server
                                                                              Local
                                                                           Connection –
                                                  Web Server
                                                                           Local Users
                     Internet
    Mobile         Connection –
    Device          Web Users                                                  Manager


                    Internet                       GIS Server
                     (HTTP)
                                  Reverse
   Web
                                   Proxy
Application                                         SOM & SOC


                                                                           ArcCatalog




  Rich Client
                                                      Data
 Applications
ArcGIS Explorer,
ArcGIS Desktop,                                                       ArcGIS Desktop
 ArcGIS Engine                                                        Content Author
Deployment
Capacity Planning



  • Initial Capacity Planning Guidance

  • Single Workflow Modeling

  • Enterprise Workflow Modeling

  • Load Testing
Deployment
Initial Capacity Planning Guidance




                        High-level capacity guidance

         Useful when user and business needs not clearly delineated
Deployment                                                                                                                                                                  Workflow Name: Export Map Dynamic Rest Service


Model Driven Capacity Planning                                                                                                                                              RTt                    3.00 sec
                                                                                                                                                                            Userst                58.00 users
                                                                                                                                                                            Think                  6.00 sec
  • Single Workflow Modeling                                                              Benchmark and Target
                                                                                      Response Time and Throughput
                                                                                                                                                                            ST ArcSOC Zoom b
                                                                                                                                                                            Mbits/tr b
                                                                                                                                                                                                   0.60 sec

                                                                                                                                                                                                    1.81   Mbits/tr
                                                        25,000                                                                                       3.50



     – Simple Capacity Calculator                       20,000
                                                                                                                                                     3.00

                                                                                                                                                     2.50
                                                                                                                                                                            SpecRate bPerCPU
                                                                                                                                                                            SpecRate tPerCPU
                                                                                                                                                                                                  13.425

                                                                                                                                                                                                  13.425




                                                                                                                                                            Response Time
                                           Throughput
                                                        15,000



     – Non-Distributed server model
                                                                                                                                                     2.00
                                                                                                                                                                            %CPU                     95 %
                                                                                                                                                     1.50
                                                        10,000
                                                                                                                                                                            THt                  23,200 tr/hr
                                                                                                                                                     1.00
                                                         5,000                                                                                                              #CPUt                  4.04 CPU cores
     – Benchmark comparisons
                                                                                                                                                     0.50

                                                            0                                                                                        0.00                   Mbps                  11.69 Mbps
                                                                 0               10       20             30            40        50             60

                                                                                                      User Load



     – See Enterprise Resource Center                            Throughput, B        Throughput, T           Response Time, B        Response Time, T
                                                                                                                                                                                               input values
                                                                                                                                                                                               calculated values




  • Enterprise Workflow Modeling
     – Capacity Planning Tool (CPT)
     – Modeling includes
        • Multiple workflows
        • Multiple Servers and tiers
        • Network loads

  • Load-Testing
     – Collect your own statistics and model
        • See Enterprise GIS Resource Center for guidance
     – Enterprise Implementation Services Team
        • Collect statistics for your environment and provide recommendations
Architecture Snapshots
Architecture Snapshots
Geocentric - Shell Oil

                Corporate Portal                 ‘Light’ users                             Power Users
                 (User-customisable)


                                                                    Specialist Apps                 GIS
   User                                                            (Business/GeoScience)       (ArcGIS Desktop)
                                                www
Application
interfaces
                                           Internet (search,
                                            trade journals,
                                           hosted services)



                                          Geoparsing               Search          Browse
  Find &                                                       (spatial, text,    (folders,
                                              &
 Retrieve       Business Catalog          Geocoding                natural       categories)
                                                                                               GIS Catalog
                                                                 language)
               (Central Asset Register)                                                    (Metadata per layer)


                                                       A            B
Corporate
 Memory
                                                               C
              Documents Library Records Federated DBs Imagery                              Federated DBMSs
Architecture Snapshot
County Implementation
Architecture Snapshots
Geospatially-Enabled - Sears




     GIS Based Service Area Planning
          Forecasted Demand Available Fleet
                                                    Sears Enhanced Home             Warehouse Optimization
                                                    Delivery System (EHDS)                      Routing forklifts
                                                    Nationwide Geocoding and
                                                        Route Optimization

  Customer Request                                                                         Customer Service
  Home Delivery OR                                                                  Delivery Vehicle departs to your
                                Mainframe CIS                                            home to Deliver Merchandise
 Home Product Repair
                                                                                   Service Technician Departs to your
                                                                                           home for Product Repair

                                                                                                                                     In-Vehicle Navigation


                                                                                                                Turn Right on East
                                                                                                                Washington Street




                                                                                                                                           Nationwide
                                                                                   Route Management                                   Geocoding and Routing




                                                                                                            Mobile Workstation
                                                                                                            ArcObjects
                                                  Computer Aided Routing
      Capacity Area Management                       System (CARS)                                     Mobile Mapping
           System (CAMS)                        Geocoding and Route Optimization                      In-Vehicle Navigation
      Assign Technicians to work areas
Architecture Snapshots
Reference Implementations


  • ESRI will be posting
    Reference Implementations to
    the new Enterprise GIS
    Resource Center

  • Located in the
    Implementation Gallery

  • Reference Implementations
    are a mechanism to
    communicate deployment
    best practices
     – Goal is to also provide
       performance and security
       validation for Reference
       Implementations
Summary
Summary

 • Remember the 4 basic components of System Architecture
   – User, Application, Data, and Network


 • Architecture is an iterative process
   – Use your key scenarios to validate proposed alternatives


 • Enterprise solutions fail if Quality Attributes not addressed
   – System Architecture addresses Quality Attribute Requirements


 • Patterns and Best Practice References are your friend
   – Application Architecture Patterns
   – Architecture Styles
   – Reference Implementations
   – Capacity Planning Guides

                  Check out the Enterprise GIS Resource Center
        for the technical answers you need to provide optimal solutions
Questions




        Please turn in your session evaluations
References

• TOGAF – An Enterprise Architecture Framework
  – http://www.opengroup.org/togaf/


• ESRI Project Center Website
  – Guidance for managing an Enterprise GIS project
  – http://support.esri.com/index.cfm?fa=projectCenter.gateway


• ESRI Enterprise GIS Resource Center Website
  – Focused Enterprise GIS Technical Solutions
  – http://resources.esri.com/enterprisegis/


• MS Open Source Application Architecture Pattern Guidance
  – http://www.codeplex.com/AppArch


• Windows Server limited to 120 ArcSOC processes
  – http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=35532


• ESRI Capacity Planning Tool
  – http://gis.esri.com/esripress/display/index.cfm?fuseaction=display&websiteID=141&moduleID=27

				
DOCUMENT INFO
Description: Project Architecture Design for Web Application document sample