SlideShare a Scribd company logo
1 of 32
Scaling Application ESRI Developer Summit - 2011 Alaor Bianco 		abianco@img.com.br 	@alaorbianco IMAGEM - BRAZIL
Agenda Some good practices and tools Cache Instrumentation Performance counters How did good practices help us? Webcontrol approach vs. service approach Performance tests
Introduction The main idea Only who knows can take control! Understand the application behavior Understand the application lifecycle
Scaling Scale up (Scale vertically) Scale out (Scale horizontally)
Where to use? Why to use? Reduce data transfer in inter-process communication Reduce data processing Reduce disk access Types Files based (disk) InMemory Pre-Build Caching On-Demand Caching Caching
Map Caching Different scales Improvements to      map cache tile      generation (10.0) Feature Caching EsriFeatureCache GeoFeatureCache (NoSQL and InMemory) Caching
Negative Caching Failed requests Low expiration Fail Fast, Fail Cheap Avoid cascade effects Caching
Caching ,[object Object],			(Distributed Cache) Throughput : Amount of data transferred Latency: Time delay Load: Work
Caching .NET 4.0 System.Runtime.Caching Ncache Memcached Varnish (html) Wikipedia Flickr Twitter Youtube Digg WordPress Craigslist
Asynchronous Processing Heavy Processing Queue Examples: ,[object Object]
Queue Class,[object Object]
Interception Methods from Microsoft Enterprise Library Application Block publicclassReader : IOperation {   [Common.Logging.Interception.Log] public override IEnumerable<Row>                   Execute(IEnumerable<Row> rows)    { Log or Trace - Sample
Different levels Debug Error Info Notice Warn Network Logs Others: ,[object Object]
Scribefacebook
Instrumentation What´s alive What´s Processing What´s Processed Performance Statistics Available Resource Performance Counters
Performance Counters from Microsoft Enterprise Library Application Block Can use Interception just like Logs Can be injected by IoC (Dependency Injection) Performance Counters
Scalability Server do not need to maintain state for each Request User Etc Scaling Horizontally One server do not worry about a state create by another one Stateless
How did it help us?  Understand the application flow, lifecycle and behavior Identify bottleneck Identify improvement points Based on this information, build a good architecture
ASP.NET Web Controls
ASP.NET Web Controls Server side processed Viewstate For each callback all viewstate is sent to server For each callback all webcontrol fires onLoad event
Architecture
Architecture MVC Easy to test AJAX instead of callback COM Objects lifecycle management Application Container has all active objects reference Layers Map etc
Started on ArcGIS Server 9.2 GIS Framework with our own well known interfaces, implementation and services Migration to AGS 9.3.1 took 5 hours Architecture
Migration to AGS 10 (took a little more!!) Write the controller layer as a SOE Write the framework initializer to get map objects references Can return JSON, GeoJSON or XML Was able to reuse all our business layer!! Architecture
Comparison - Login System A  – Service Others      – Webcontrol   (Initialization)
Comparison - Zoom System A  – Service Others      – Webcontrol   (Zoom)
Comparison System A was able to support 900 simultaneous users System B was able to support no more than 30 *Same operational environment (Hardware and Software)
Performance Tests Load Tests in VisualStudio Web Performance Test
Performance Tests Load Test
Performance Tests
Performance Tests
Performance Tests

More Related Content

What's hot

Azure migration
Azure migrationAzure migration
Azure migration
DevConFu
 

What's hot (20)

Proposed bench test for gis servers
Proposed bench test for gis serversProposed bench test for gis servers
Proposed bench test for gis servers
 
DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16
 
Azure IAAS architecture with High Availability for beginners and developers -...
Azure IAAS architecture with High Availability for beginners and developers -...Azure IAAS architecture with High Availability for beginners and developers -...
Azure IAAS architecture with High Availability for beginners and developers -...
 
UK Azure User Group - Blazor and Azure (Tim Ebenezer)
UK Azure User Group - Blazor and Azure (Tim Ebenezer)UK Azure User Group - Blazor and Azure (Tim Ebenezer)
UK Azure User Group - Blazor and Azure (Tim Ebenezer)
 
Scalable service architectures @ BWS16
Scalable service architectures @ BWS16Scalable service architectures @ BWS16
Scalable service architectures @ BWS16
 
Rubix - Serverless architecture
Rubix - Serverless architectureRubix - Serverless architecture
Rubix - Serverless architecture
 
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
 
Making Wallstreet talk with GO (GO India Conference 2015)
Making Wallstreet talk with GO (GO India Conference 2015)Making Wallstreet talk with GO (GO India Conference 2015)
Making Wallstreet talk with GO (GO India Conference 2015)
 
Azure AWS real time-interview questions part 9
Azure AWS real time-interview questions part 9Azure AWS real time-interview questions part 9
Azure AWS real time-interview questions part 9
 
Deploy Microservices To Kubernetes Without Secrets by Reenu Saluja
Deploy Microservices To Kubernetes Without Secrets by Reenu SalujaDeploy Microservices To Kubernetes Without Secrets by Reenu Saluja
Deploy Microservices To Kubernetes Without Secrets by Reenu Saluja
 
AWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go Squared
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Geoavalanche
GeoavalancheGeoavalanche
Geoavalanche
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays
 
Microsoft Azure Service Management Vs Microsoft Azure Resource Manager
Microsoft Azure Service Management Vs Microsoft Azure Resource ManagerMicrosoft Azure Service Management Vs Microsoft Azure Resource Manager
Microsoft Azure Service Management Vs Microsoft Azure Resource Manager
 
From Grid to Cloud
From Grid to CloudFrom Grid to Cloud
From Grid to Cloud
 
EUGM 2013 - Eufrozina Hoffmann (ChemAxon): Marvin extending the scope of usab...
EUGM 2013 - Eufrozina Hoffmann (ChemAxon): Marvin extending the scope of usab...EUGM 2013 - Eufrozina Hoffmann (ChemAxon): Marvin extending the scope of usab...
EUGM 2013 - Eufrozina Hoffmann (ChemAxon): Marvin extending the scope of usab...
 
Monitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & InsightsMonitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & Insights
 
Keerthi babu resume
Keerthi babu resumeKeerthi babu resume
Keerthi babu resume
 
Summit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiativeSummit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiative
 

Viewers also liked (14)

Women Entrepreneurs - Diversity and Scaling A case study from Ireland
Women Entrepreneurs - Diversity and Scaling A case study from Ireland Women Entrepreneurs - Diversity and Scaling A case study from Ireland
Women Entrepreneurs - Diversity and Scaling A case study from Ireland
 
Final.Ppt007
Final.Ppt007Final.Ppt007
Final.Ppt007
 
Research methodology measurement
Research methodology measurement Research methodology measurement
Research methodology measurement
 
Mr4 ms10
Mr4 ms10Mr4 ms10
Mr4 ms10
 
Measurement & Scaling
Measurement & ScalingMeasurement & Scaling
Measurement & Scaling
 
Attitude measurement and scales amiya 26 th march 2012
Attitude measurement and scales amiya 26 th march 2012Attitude measurement and scales amiya 26 th march 2012
Attitude measurement and scales amiya 26 th march 2012
 
Measurement & scaling ,Research methodology
    Measurement & scaling ,Research methodology    Measurement & scaling ,Research methodology
Measurement & scaling ,Research methodology
 
1 Attitude Scaling
1 Attitude Scaling1 Attitude Scaling
1 Attitude Scaling
 
Measuring values and attitudes- Assessment 2
Measuring  values and attitudes- Assessment 2Measuring  values and attitudes- Assessment 2
Measuring values and attitudes- Assessment 2
 
Attitude scales
Attitude scalesAttitude scales
Attitude scales
 
Attitude Measurement
Attitude MeasurementAttitude Measurement
Attitude Measurement
 
Attitude Scales
Attitude ScalesAttitude Scales
Attitude Scales
 
measurement and scaling
measurement and scalingmeasurement and scaling
measurement and scaling
 
Attitude measurement and scaling techniques
Attitude measurement and scaling techniquesAttitude measurement and scaling techniques
Attitude measurement and scaling techniques
 

Similar to Scaling Application

20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
Muves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 FinalMuves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 Final
Elastic Grid, LLC.
 
AWS Customer Presentation-Servicetick
 AWS Customer Presentation-Servicetick  AWS Customer Presentation-Servicetick
AWS Customer Presentation-Servicetick
Amazon Web Services
 
WAD - WaveMaker tutorial
WAD - WaveMaker tutorial WAD - WaveMaker tutorial
WAD - WaveMaker tutorial
marina2207
 
WaveMaker tutorial with Flash
WaveMaker tutorial with FlashWaveMaker tutorial with Flash
WaveMaker tutorial with Flash
marina2207
 

Similar to Scaling Application (20)

Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
 
Asp.net
Asp.netAsp.net
Asp.net
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Muves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 FinalMuves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 Final
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Services
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
AWS Customer Presentation-Servicetick
 AWS Customer Presentation-Servicetick  AWS Customer Presentation-Servicetick
AWS Customer Presentation-Servicetick
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
WAD - WaveMaker tutorial
WAD - WaveMaker tutorial WAD - WaveMaker tutorial
WAD - WaveMaker tutorial
 
WaveMaker tutorial with Flash
WaveMaker tutorial with FlashWaveMaker tutorial with Flash
WaveMaker tutorial with Flash
 
Alfresco WCM For High Scalability
Alfresco WCM For High ScalabilityAlfresco WCM For High Scalability
Alfresco WCM For High Scalability
 
WaveMaker Presentation
WaveMaker PresentationWaveMaker Presentation
WaveMaker Presentation
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
WLCG Grid Infrastructure Monitoring
WLCG Grid Infrastructure MonitoringWLCG Grid Infrastructure Monitoring
WLCG Grid Infrastructure Monitoring
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Scaling Application

  • 1. Scaling Application ESRI Developer Summit - 2011 Alaor Bianco abianco@img.com.br @alaorbianco IMAGEM - BRAZIL
  • 2. Agenda Some good practices and tools Cache Instrumentation Performance counters How did good practices help us? Webcontrol approach vs. service approach Performance tests
  • 3. Introduction The main idea Only who knows can take control! Understand the application behavior Understand the application lifecycle
  • 4. Scaling Scale up (Scale vertically) Scale out (Scale horizontally)
  • 5. Where to use? Why to use? Reduce data transfer in inter-process communication Reduce data processing Reduce disk access Types Files based (disk) InMemory Pre-Build Caching On-Demand Caching Caching
  • 6. Map Caching Different scales Improvements to map cache tile generation (10.0) Feature Caching EsriFeatureCache GeoFeatureCache (NoSQL and InMemory) Caching
  • 7. Negative Caching Failed requests Low expiration Fail Fast, Fail Cheap Avoid cascade effects Caching
  • 8.
  • 9. Caching .NET 4.0 System.Runtime.Caching Ncache Memcached Varnish (html) Wikipedia Flickr Twitter Youtube Digg WordPress Craigslist
  • 10.
  • 11.
  • 12. Interception Methods from Microsoft Enterprise Library Application Block publicclassReader : IOperation { [Common.Logging.Interception.Log] public override IEnumerable<Row> Execute(IEnumerable<Row> rows) { Log or Trace - Sample
  • 13.
  • 15. Instrumentation What´s alive What´s Processing What´s Processed Performance Statistics Available Resource Performance Counters
  • 16. Performance Counters from Microsoft Enterprise Library Application Block Can use Interception just like Logs Can be injected by IoC (Dependency Injection) Performance Counters
  • 17. Scalability Server do not need to maintain state for each Request User Etc Scaling Horizontally One server do not worry about a state create by another one Stateless
  • 18. How did it help us? Understand the application flow, lifecycle and behavior Identify bottleneck Identify improvement points Based on this information, build a good architecture
  • 20. ASP.NET Web Controls Server side processed Viewstate For each callback all viewstate is sent to server For each callback all webcontrol fires onLoad event
  • 22. Architecture MVC Easy to test AJAX instead of callback COM Objects lifecycle management Application Container has all active objects reference Layers Map etc
  • 23. Started on ArcGIS Server 9.2 GIS Framework with our own well known interfaces, implementation and services Migration to AGS 9.3.1 took 5 hours Architecture
  • 24. Migration to AGS 10 (took a little more!!) Write the controller layer as a SOE Write the framework initializer to get map objects references Can return JSON, GeoJSON or XML Was able to reuse all our business layer!! Architecture
  • 25. Comparison - Login System A – Service Others – Webcontrol (Initialization)
  • 26. Comparison - Zoom System A – Service Others – Webcontrol (Zoom)
  • 27. Comparison System A was able to support 900 simultaneous users System B was able to support no more than 30 *Same operational environment (Hardware and Software)
  • 28. Performance Tests Load Tests in VisualStudio Web Performance Test