Cloud Computing & Web2.0: map.geo.admin.ch Cédric Moullet Head of FSDI (Federal Spatial Data Infrastructure) Web Infrastructure  October 2010
Swisstop - COGIS The COSIG is the coordination agency for geoinformation for the swiss administration Verordnung über Geoinformation : Für die Koordination im Bereich der Geoinformation des Bundes wird ein Koordinationsorgan nach Artikel 55 des Regierungs- und Verwaltungsorganisationsgesetzes vom 21. März 19971 eingesetzt. Das Koordinationsorgan hat folgende Aufgaben: Koordination der Tätigkeiten der Bundesverwaltung; Entwicklung von Strategien des Bundes; Mitwirkung bei der Entwicklung von technischen Normen; Betrieb eines Kompetenzzentrums; Beratung von kantonalen Stellen.
Use case: map.geo.admin.ch
 
Requirements map.geo.admin.ch Like Google Maps ! Fast User friendly High availability High load 150 layers …  and, of course, low cost !
Requirements map.geo.admin.ch How to have  fast  web mapping applications ? Web 2.0 / REST Services Pregenerated tiles for spatial data
Requirements map.geo.admin.ch How to have  user friendly  web mapping applications ? User centered design, « don’t decide for your users »
Requirements map.geo.admin.ch How to have  high available  web mapping applications ? - Load balancing  - Make applications stateless - Automate the application deployment
Requirements map.geo.admin.ch How to have web mapping applications supporting  high load  ? Cache everything you can Load balancing
Cloud computing for map.geo.admin.ch Usage of an  IaaS  Provider ( Infrastructure as a Service ) -> Rent RAM + CPU + Storage Other possibilities: SaaS: Software as a Service -> Rent a Software PaaS: Plattform as a Service -> Rent a Development environment
Cloud computing SaaS PaaS IaaS
Cloud computing for map.geo.admin.ch Amazon Web Services
Cloud computing: Amazon EC2 From Amazon:  Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It’s basically RAM + CPU  YOU  install what you want on it (OS / software) -> Installation process has to be automated (with puppet, for example) You pay when the instance runs You start it with the Amazon API / Tools You access it through network (ssh, for example) WARNING: don’t consider it as persistent -> Used to run the application / proxy
Cloud computing: Amazon S3 From Amazon:  Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers. Access and store your file with URL It’s NOT an hard disk You pay for the storage and the data transfer Consider it as persistent -> Used to store the 300’000’000 pregenerated tiles
Cloud computing: Amazon EBS From Amazon:  Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. It’s an hard disk that can be mounted on an EC2 instance You pay for the storage Consider it as persistent Used to store user input
Why is cloud computing so important ? Launch of map.geo.admin.ch on 18.8.2010 Number of visitors 33’000 (20.8), 1’600 (17.8) -> factor 20 ! 1 new visitor every second on 19.8 Bandwidth 750 GB per day (20.8), 33 GB per day (17.8) Peak of 1’400 tiles per second delivered on 19.8
Why is cloud computing so important ?
Why is cloud computing so important ?
Why is cloud computing so important ? Datacenter Microsoft, Dublin 51’000 m 2  = 500m x 100m US$ 500 Mio 22.2 MegaWatt 400 Server online in 90min
Architecture map.geo.admin.ch
Map.geo.admin.ch: lessons learnt On-demand infrastructure: flexibility, scalability and high availability are possible with cloud computing Automation is required YOU  are responsible for what you do with cloud computing Avoid vendor lock-in No CapEx, only OpEx
Web 2.0: client development It’s now possible to build complete application within a browser Usage of JavaScript libraries. For map.geo.admin.ch: OpenLayers ExtJS GeoExt -> All open source software
Client development HTML5: Geolocation API GeoLocation API: the browser knows where you are ! Particularly useful for mobile application Javascript object: navigator.geolocation http://dev.w3.org/geo/api/spec-source.html
Client development HTML5:  Web Storage API Web Storage API: the browser can store information in files or in a database Particularly useful for offline application Javascript object: Storage (session or locale) http://www.w3.org/TR/webstorage/ Web SQL database:  http://www.w3.org/TR/webdatabase/
Client development HTML5:  Media support Your browser supports natively audio, video and drawing (canvas) Canvas:  http://dev.w3.org/html5/spec/Overview.html#the-canvas-element Video:  http://www.w3.org/TR/html5/video.html#video Audio:  http://dev.w3.org/html5/spec/Overview.html#audio
Client development HTML5: Device API Your browser is able communicate with external devices Device API:  http://dev.w3.org/html5/html-device/
Client development HTML5: Device API Your browser is able communicate with external devices Device API:  http://dev.w3.org/html5/html-device/
Client development HTML5: Web Workers API Your browser is able to handle multithreading Web Workers:  http://www.whatwg.org/specs/web-workers/current-work/
Client development CSS3 Your browser is able to make animations (without plug-in) CSS3:  http://www.w3.org/Style/CSS/current-work
Conclusions Cloud computing is a valid alternative to traditional IT Cloud computing requires to make the application « cloud enabled » The browser applications replace the desktop applications

Cloud Computing and HTML5, 2010

  • 1.
    Cloud Computing &Web2.0: map.geo.admin.ch Cédric Moullet Head of FSDI (Federal Spatial Data Infrastructure) Web Infrastructure October 2010
  • 2.
    Swisstop - COGISThe COSIG is the coordination agency for geoinformation for the swiss administration Verordnung über Geoinformation : Für die Koordination im Bereich der Geoinformation des Bundes wird ein Koordinationsorgan nach Artikel 55 des Regierungs- und Verwaltungsorganisationsgesetzes vom 21. März 19971 eingesetzt. Das Koordinationsorgan hat folgende Aufgaben: Koordination der Tätigkeiten der Bundesverwaltung; Entwicklung von Strategien des Bundes; Mitwirkung bei der Entwicklung von technischen Normen; Betrieb eines Kompetenzzentrums; Beratung von kantonalen Stellen.
  • 3.
  • 4.
  • 5.
    Requirements map.geo.admin.ch LikeGoogle Maps ! Fast User friendly High availability High load 150 layers … and, of course, low cost !
  • 6.
    Requirements map.geo.admin.ch Howto have fast web mapping applications ? Web 2.0 / REST Services Pregenerated tiles for spatial data
  • 7.
    Requirements map.geo.admin.ch Howto have user friendly web mapping applications ? User centered design, « don’t decide for your users »
  • 8.
    Requirements map.geo.admin.ch Howto have high available web mapping applications ? - Load balancing - Make applications stateless - Automate the application deployment
  • 9.
    Requirements map.geo.admin.ch Howto have web mapping applications supporting high load ? Cache everything you can Load balancing
  • 10.
    Cloud computing formap.geo.admin.ch Usage of an IaaS Provider ( Infrastructure as a Service ) -> Rent RAM + CPU + Storage Other possibilities: SaaS: Software as a Service -> Rent a Software PaaS: Plattform as a Service -> Rent a Development environment
  • 11.
  • 12.
    Cloud computing formap.geo.admin.ch Amazon Web Services
  • 13.
    Cloud computing: AmazonEC2 From Amazon: Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It’s basically RAM + CPU YOU install what you want on it (OS / software) -> Installation process has to be automated (with puppet, for example) You pay when the instance runs You start it with the Amazon API / Tools You access it through network (ssh, for example) WARNING: don’t consider it as persistent -> Used to run the application / proxy
  • 14.
    Cloud computing: AmazonS3 From Amazon: Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers. Access and store your file with URL It’s NOT an hard disk You pay for the storage and the data transfer Consider it as persistent -> Used to store the 300’000’000 pregenerated tiles
  • 15.
    Cloud computing: AmazonEBS From Amazon: Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. It’s an hard disk that can be mounted on an EC2 instance You pay for the storage Consider it as persistent Used to store user input
  • 16.
    Why is cloudcomputing so important ? Launch of map.geo.admin.ch on 18.8.2010 Number of visitors 33’000 (20.8), 1’600 (17.8) -> factor 20 ! 1 new visitor every second on 19.8 Bandwidth 750 GB per day (20.8), 33 GB per day (17.8) Peak of 1’400 tiles per second delivered on 19.8
  • 17.
    Why is cloudcomputing so important ?
  • 18.
    Why is cloudcomputing so important ?
  • 19.
    Why is cloudcomputing so important ? Datacenter Microsoft, Dublin 51’000 m 2 = 500m x 100m US$ 500 Mio 22.2 MegaWatt 400 Server online in 90min
  • 20.
  • 21.
    Map.geo.admin.ch: lessons learntOn-demand infrastructure: flexibility, scalability and high availability are possible with cloud computing Automation is required YOU are responsible for what you do with cloud computing Avoid vendor lock-in No CapEx, only OpEx
  • 22.
    Web 2.0: clientdevelopment It’s now possible to build complete application within a browser Usage of JavaScript libraries. For map.geo.admin.ch: OpenLayers ExtJS GeoExt -> All open source software
  • 23.
    Client development HTML5:Geolocation API GeoLocation API: the browser knows where you are ! Particularly useful for mobile application Javascript object: navigator.geolocation http://dev.w3.org/geo/api/spec-source.html
  • 24.
    Client development HTML5: Web Storage API Web Storage API: the browser can store information in files or in a database Particularly useful for offline application Javascript object: Storage (session or locale) http://www.w3.org/TR/webstorage/ Web SQL database: http://www.w3.org/TR/webdatabase/
  • 25.
    Client development HTML5: Media support Your browser supports natively audio, video and drawing (canvas) Canvas: http://dev.w3.org/html5/spec/Overview.html#the-canvas-element Video: http://www.w3.org/TR/html5/video.html#video Audio: http://dev.w3.org/html5/spec/Overview.html#audio
  • 26.
    Client development HTML5:Device API Your browser is able communicate with external devices Device API: http://dev.w3.org/html5/html-device/
  • 27.
    Client development HTML5:Device API Your browser is able communicate with external devices Device API: http://dev.w3.org/html5/html-device/
  • 28.
    Client development HTML5:Web Workers API Your browser is able to handle multithreading Web Workers: http://www.whatwg.org/specs/web-workers/current-work/
  • 29.
    Client development CSS3Your browser is able to make animations (without plug-in) CSS3: http://www.w3.org/Style/CSS/current-work
  • 30.
    Conclusions Cloud computingis a valid alternative to traditional IT Cloud computing requires to make the application « cloud enabled » The browser applications replace the desktop applications