Presentation on theme: "Desktop GIS, Web GIS, is Cloud the next Step? Prabuddha Ghosh 20 th Jan 2011 GeoSpatialWorld2011 Developers Forum."— Presentation transcript:
Desktop GIS, Web GIS, is Cloud the next Step? Prabuddha Ghosh 20 th Jan 2011 GeoSpatialWorld2011 Developers Forum
Timeline of GIS Platforms
The What and Why of Spacial Cloud Computing (SC2) Challenges and solutions of SC2 on AppEngine CloudGIS
What is the Cloud? NIST Definition : http://csrc.nist.gov/groups/SNS/cloud- computing/index.html http://csrc.nist.gov/groups/SNS/cloud- computing/index.html 5 Characteristics of Cloud Computing 3 Service Models 4 Deployment Models
Cloud Service Models Cloud Software as a Service (SaaS). Cloud Platform as a Service (PaaS). Cloud Infrastructure as a Service (IaaS).
Cloud Deployment Models Private cloud. Community cloud. Public cloud. Hybrid cloud.
Comparing Cloud & Data Centers (Source Communications of the ACM)
What is Spatial Cloud Computing SC2? Cloud Computing with Geography added 90% of business data has a Geographical component
Why SC2 for Clients On Demand Scalability Low upfront Cost No IT costs High security Latest software Opex instead of Capex
Why SC2 for IGSV Sell to new categories of customers Concentrate on core competency Monthly revenues Fast to market Support massive scaling with low upfront cost
Costs Traditional GIS Open Source GIS Open Source Cloud GIS Managed Cloud GIS License CostYesNo Hardware CostYes Paid Monthly direct to Cloud Provider (Google) Included in Monthly fee Software Customization Cost Yes Included in Monthly fee Data CostYes Included in Monthly fee Maintenance Cost Yearly Included in Monthly fee
Growth of Cloud Computing
Challenges and Solutions of SC2 on AppEngine
Technology Stack Used Software typeSoftware User Interface LibraryGoogle Web Toolkit (GWT) Version 2.1 Mapping toolkitGoogle Maps API Premier Spatial Indexing toolkitJavaGeoModel KML read/write libraryJavaApiForKML Charting LibrariesGoogle Charts Cloud Computing PlatformGoogle AppEngine for Java Cloud DatabaseGoogle Datastore
What is Appengine? Google Cloud Platform Python & Java Self Service Administration Integration with Google APIs (GALGWT)
What is the DataStore Not an RDBMS. Scalable NoSQL based pseudo HashMap JDO/JPA support
Other Supporting components GWT GALGWT ( maps, charts, reports) http://code.google.com/p/gwt-google-apis/ JavaApiForKML http://code.google.com/p/javaapiforkml/ Apache Commons FileUploading etc JTS (For spatial analysis) Any Other Java component on whitelist http://code.google.com/appengine/docs/java/jrewhitelist. html
Structure of an Appengine Application UI- GWT/GXT/SmartGWT (Flex is an option) /Client Directory Middleware (Java based POJOs) /server directory Database – Google Bigtable based Datastore.gwt.xml file Module descriptor Web.xml, appengine-generated.xml, datastore- indexes.xml, local_db.bin Main html Page
Tools for working with AppEngine Google plug-in for Eclipse AppEngine Datastore Appspot SVN/ Subclipse/ Googlecode Appcfg.sh+ Ant Local Admin (ah_admin)
Major Challenges Appengine DataStore does not have Spatial Indexing Loading Data to Appstore from any machine in the world as Java Appengine does not have good bulk upload tools Supporting GIS functionalities without reinventing the wheel
Solutions We can use JavaGeoModel an existing open source project which supports creation of spatial indexes using Geohashing feature. Use Apache Commons Framework and JavaAPIforKML for handling the data upload task Use Java Topology Suite for GIS processing
What is Geohashing?
Store GeoHash in Datastore
RMSI in the Cloud
Where we are? POC created on Google Appengine platform Work started for a telecom sector client using this platform
Functionalities available now Can load KML data to Appengine from any computer Can do proximity searches using the DataStore Geohashes Display the same using Google Maps and make available Google Maps Based Tools Can do Attribute Based Search, LatLong Search, Geocoded Search, Administrative Boundary Based Drill Down Search.
Future Work Support formats besides KML Integrate Administration with AppEngine Admin Panel Create Pay as you go Billing (using AppEngines existing billing engine) Expose more JTS functionalities Utilize TaskQueues for running background reports Port to VMForce when VMForce is in General Availability (port to Spring in preparation) Support user created data
Adding Data via user clicks
In Conclusion We saw what is SC2 and why it makes sense We talked about AppEngine and how to use AppEngine for a SC2 implementation And we had a look at an implementation of an SC2 application for Tower Location Planning
Something to Think About Cloud Computing in India to grow from a from a $50 million industry in 2009 to a $15 billion industry by 2013. (Source Communications of the ACM). How much will be Cloud GIS??
Costs comparison Traditional Web GIS – Total Costs 200K, Development Cost 55K, 1 year Maintenance Cost 30K, License Cost 100K, Hardware Cost 20k, 1 Year COTS AMC 20K IAAS- Total Costs 150K. No Hardware Cost. Lower maintenance Cost balances monthly usage charges PAAS- Total Costs 100K. 80K development cost and 20K Maintenance over one year period.
Example Total Cost Ownership Traditional GIS with Commercial Software (Rs) IAAS with same Commercial SW(Rs) PAAS with Open Source (Rs) Hardware180000000 Yearly Hardware AMC36000000 COTS License4500000 0 COTS AMC900000 0 Development2700000 3600000 Yearly Customized Software Maintenance 540000 0 Monthly Cloud Usage Charges 045000 Monthly IT costs4500000 Monthly Cloud SW Support 090000 TCO for 3 years16020000163800008460000 RMSI Share27%46%81% Upfront Cost56.1797752843.9560439642.55319149