GE Digital Energy Conference 2012 - NIS AG - High performance web solutions

1,178 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

GE Digital Energy Conference 2012 - NIS AG - High performance web solutions

  1. 1. GE EnergyHigh performance Web solutionbased on Geospatial ServerErwin Saegesser - NIS AG - Switzerland
  2. 2. High performance Web solutionbased on Geospatial Server
  3. 3. .. beware of lurking pitfalls
  4. 4. High performance is withinreach, but you need to know thetricks of the trade!
  5. 5. First of all - You need to know yourenemy
  6. 6. Secondly - Derive the actions
  7. 7. about us NIS AG Since 1996 Provider of Software and Services for Utilities
  8. 8. EKS EBM IBW ewz EN Uster EBL AEK AEN AEW EKZ EUG SAK CKW BKW EWS EWA Swisscom AKONIS EW Flims Energie Thun EWZ-GRServing our Utilities SES SES
  9. 9. EKS EBM IBW ewz EN Uster EBL AEN AEK AEW EKZ SAK EUG CKW BKW EWSElektrizitätswerke Kanton Zürich - EKZ Swisscom EWA AKONIS • Canton of Zürich 1’800 km2 area EW Flims • 286’000 customers Thun Energie EWZ-GR • 1’600 employees • 37 substations SES • 2’500 transformer stations SES • 10’000 km cables of which 90% are under ground • 8’000 print orders per year
  10. 10. You need to know your enemy Customer Software Infrastructure Data
  11. 11. You need to know your enemy Customer Software Infrastructure Data
  12. 12. You need to know your enemy … its Requirements Software Infrastructure Data
  13. 13. its Requirements • What keeps you up at night • Separate made-up and “useless“ from valuable • “who – what – why” and “the 5 why’s”
  14. 14. 45’’ for an answer requires less clicks
  15. 15. Software Infrastructure • Architecture • Caching • Configuration
  16. 16. File MapCache File HTTPS AJP Client Application- WebservernisXplorer server Agent(s) Apache Browser JBoss GIS SWMFS Smallworld Service Providers (SSP)
  17. 17. Presentation Business logic / Data layer – HTML / JavaScript – Java EE – Open Source Frameworks – Grails – Geospatial Server – REST Services – Smallworld verticals
  18. 18. Caching - Should you use it?
  19. 19. Yes, absolutely! Faster Reliable Larger
  20. 20. Faster
  21. 21. Faster Tiles 15 tiles on average
  22. 22. Single dyn request* = 2500 ms Single tile request* = 200 msFaster * 1 SSP gets 1 Core and 1.5 GB RAM
  23. 23. Dynamic requests per day 140 25 Response times in Seconds and # of 120 20 100 Requests 15# of requests 80 Sessions Sessions 60 10 40 Response 5 20 0 0 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  24. 24. Tile requests per day 6000 25 Response times in Seconds and # of 5000 20 4000# of requests 15 Requests Sessions 3000 Sessions 10 2000 1000 Response 5 0 0 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  25. 25. • Available 7 x 24 • No off times during rollforwardReliable • Average time for rollforward = 15’ * * EKZ data
  26. 26. nisXplorer = 16 scalesLarger Google = 19 scales
  27. 27. nisXplorer = 16 scales Google = 19 scalesLarger Exponential increase of tiles
  28. 28. Scale MB/km2* Others 0.1 1:500 0.5Larger 1:250 1.3 1:100 7.0 * EKZ data
  29. 29. Larger
  30. 30. Larger 75%
  31. 31. Configuration – Best practices • Cache only works for one world • Consider limit of 10 SSP per layer for caching • No need to backup the cache • Consider re-population - Don’t mix interaction and cache population • Do not cache all scales • Consider other caches such as Grails or “HTML 5 Offline Application Caching” and/or “HTTP Proxies”
  32. 32. Configuration – Best practices • Cache “top ten” layers • Use visibility through print layout • Merge server side - not too many layers in client • Avoid “always on” effect • Check and scale hardware (1 SSP – 1.5 GB RAM - 1 Core) • Increase # of SSP and consider the cloud • Assign dedicated SSP resources to single service types
  33. 33. Dedicated GSS Agent configurations …
  34. 34. Agent configurationsRequests Agent Dedicated SSPs
  35. 35. Agent configurationsRequests Agent Dedicated SSPs Use different setups
  36. 36. Data • Get to know your data health • Clarify its usage • Data “mash up” - use 3rd party to your benefit
  37. 37. Data • Get to know your data health • Clarify its usage • Data “mash up” - use 3rd party to your benefit Swisstopo 500 Mio Tiles
  38. 38. Avoid “Bottlenecks”
  39. 39. Bad compression rate … think mobile
  40. 40. 0/0 coordinates … bad for rollforward
  41. 41. Derive the actions • User interface – Allow for quick success • Apply appropriate layer and caching strategy in coordination with the right size of hardware • Inspect and adjust
  42. 42. UI best practices • “Slim UI” • Map extend with buffer • Highlight already loaded • UI not blocked during user interaction
  43. 43. Setup best practices Port 80/443 Port 8009 (AJP) Business Logic and Database HW: 8 GB RAM; 4 Cores; Standard Disk Applicationserver J2EE/JBoss Project configuration Webserver DatabasenisXplorer- HW: 4 GB RAM; 2 Cores Clients Webserver Apache Serviceprovider HW: 24-32 GB RAM; 24 Cores; GSS Agents • 10-n Images for map interaction • 10 Images for MapCache • 1 Image for Index Cache • GSS Cache Data (no Backup)
  44. 44. Focus and customer involvement from the firstWhat we did day
  45. 45. Applied key lessons learned through iterativeWhat we did and incremental development
  46. 46. Integrated on state of theWhat we did art software with GSS and Open Source components
  47. 47. Five things to remember • Intuitive UI makes solution fast • Use cache in a "smart way" • Optimize configuration for the use cases • Get and keep your data healthy • Continuosely check for the weak link in the chain
  48. 48. about me erwin.saegesser@nis.ch certified scrum master nis ag - Switzerland
  49. 49. Credits • www.wickie-film.de • Elektrizitätswerke Kanton Zürich • agilemanifesto.org • scrum.com • agileproductdesign.com • scrum.jeffsutherland.com

×