![Page 1: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/1.jpg)
Sausalito:AnApplica/onServerforRESTfulServicesintheCloud
Ma;hiasBrantner&DonaldKossmann28msecInc.
h;p://sausalito.28msec.com/
![Page 2: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/2.jpg)
Conclusion• IntegrateDBMS,Applica3onServer,andWebServer
– takehistoricopportunitytosimplifysystem‘sstack– why„databaseasaservice“ifyoucanhave„plaDormaaS“?
– itworksanditworkswellinthecloud– hFp://sausalito.28msec.com
• Someconsequences– databasedisappears,noadmin/config(tothebe;erandworse)– consistencyhandledattheapplica/onserver[SIGMOD08,CIDR09]
– needaprogrammingmodelthatworksonall/ers• e.g.XQuery,.NET/PLINQ,Ruby(withoutRAILS!),etc.• Java+SQLorPHP+SQLwillprobablynotmakeit
![Page 3: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/3.jpg)
RequirementsforDMontheWeb• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront– provisionforaveragecaseandnotpeak
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
![Page 4: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/4.jpg)
WhatisCloudCompu/ng?
• Commodi/za/onofCompu/ng– CPU,storage,andnetwork– (notyetdatabasesandapplica/ons!)
• Goal1:Reduc/onofCost– principle:fine‐grainedren/ngofresources– „payasyougo“(costgrowlinearly)
• Goal2:Simplifica/onofManagement– poten/allyinfinite/imbreakablecompu/ngresources– poten/allynoadministra/on
![Page 5: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/5.jpg)
RequirementsRevisited• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
![Page 6: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/6.jpg)
DatabasesandtheCloud
• CloudCompu/ngagreatstar/ngpoint• Unfortunately,onlyafrac/onofthestack
Hardware
DBMS
Application Server
Application
Customization, Training, ...
![Page 7: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/7.jpg)
DatabasesandtheCloud
• CloudCompu/ngagreatstar/ngpoint• Unfortunately,onlyafrac/onofthestack
Hardware
DBMS
Application Server
Application
Customization, Training, ...
?
![Page 8: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/8.jpg)
TwoCampsofThoughtforDBMS
• InstallstandardDBMSintheCloud– takeatradi/onalDBMS(e.g.,Oracle,MySQL,...)
– installitonanEC2instance– useS3orEBSasapersistentstore
• Rethinkthewholesystemarchitecture– doNOTuseatradi/onalDBMS– createnewbreedofapplica/onserver(withDB)– runapplica/onserveronnEC2instances– useS3+distributedconsistencyprotocols
![Page 9: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/9.jpg)
TwoCampsofThought:Camp1
• InstallstandardDBMSintheCloud– takeatradi/onalDBMS(e.g.,Oracle,MySQL,...)
– installitonanEC2instance– useS3orEBSasapersistentstore
• Advantages– tradi/onaldatabasesareavailable– proventoworkwell;manytools
– peopletrainedandconfidentwiththem
![Page 10: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/10.jpg)
TwoCampsofThought:Camp1
• InstallstandardDBMSintheCloud– takeatradi/onalDBMS(e.g.,Oracle,MySQL,...)– installitonanEC2instance– useS3orEBSasapersistentstore
• Disadvantages– tradi/onalDBMSsolvethewrongproblemanyway
• focusonthroughputandconsistency• SAPandOraclemisusetheDBMSalreadytoday
– tradi/onalDBMSmakethewrongassump/ons• e.g.,DBMSop/mizersfailonvirtualizedhardware• e.g.,DBMSbulkloadingtoolscollapseonS3
– „DasKindmitdemBadeausschü;en!“
![Page 11: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/11.jpg)
Camp1:RequirementsRevisited
• Cost($$$)– incompa/blebusinessmodels:lowvs.highmargin
– expensivehardwareandadminsneeded
• Scalability– tradi/onalDBMSdonotscaleto1000smachines
• Noadministra/on– despiteprogress,s/lladreamfortrad.DBMS
• 100percentread+writeavailability– incompa/blewithACIDparadigm
• Consistency
![Page 12: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/12.jpg)
Camp1:RequirementsRevisited
• Cost($$$)– incompa/blebusinessmodels:lowvs.highmargin
– expensivehardwareandadminsneeded
• Scalability– tradi/onalDBMSdonotscaleto1000smachines
• Noadministra/on– despiteprogress,s/lladreamfortrad.DBMS
• 100percentread+writeavailability– incompa/blewithACIDparadigm
• Consistency
![Page 13: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/13.jpg)
TwoCampsofThought:Camp2
• Rethinkthewholesystemarchitecture– doNOTuseatradi/onalDBMS
– createnewbreedofapplica/onserver(withDB)– runapplica/onserveronnEC2instances– useS3+distributedconsistencyprotocols
• AdvantagesandDisadvantages– requiresnewbreedof(immature)systems+tools– solvestherightproblemandgetsitright
– leveragesorganiza/on‘sinvestmentsinSOA
![Page 14: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/14.jpg)
Camp2:RequirementsRevisited• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
![Page 15: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/15.jpg)
LookingattheWholeStack[Berkeley2009]
• Low‐levelAPIstocloudservices(e.g.,AWS)– S3,SimpleDB:key/valuestore
– EC2:deploymentofvirtualmachines– („infinite“scalability;hardforprogrammers)
• High‐level(abstract)APIs(e.g.,Google,28msec)– deploywholeapplica/on/service– („infinite“scalability;restric/onsforprogrammers)
• Intermediateofferings(e.g.,MicrosonAzure)– exposesomelow‐levelAPIs+supportabstract– (limitedscalability;greatsupportforprogrammers)
![Page 16: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/16.jpg)
WhatisSausalito?• Applica/onServer+WebServer+Database
– integratedapplica/onstackforWeb‐basedapps
– fullySOAenabled– allpre‐configuredandlean(noadmin)
• DevelopmentTools– XQuery++EclipsePlug‐In– completeclient‐sidetestinfrastructure– debugger
• Libraries– payment,workflow,HTTP,Email,JSon,GEO,...
![Page 17: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/17.jpg)
SausalitointheCloud(connected)
App. Server App. Server App. Server
Browser Adobe AirAdobe Flex
Mobile Games ...
Internet
Cloud Storage (e.g. S3)
Client
Machines
Serversof utilityprovider
REST (http)
App1
App1 App2 App3 App1 App1
App2 App1
App3App3
App1 App1App1 App2
![Page 18: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/18.jpg)
SausalitointheCloud(noServer)
Cloud Storage (e.g. S3)
Browser Adobe AirAdobe Flex
Mobile Games ...
Internet
Client
Machines
Serversof utilityprovider
REST (http)
App2
App3App3
App1 App1
App1
App1
App1
App2
App1 App1 App1 App2 App1App1
![Page 19: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/19.jpg)
SausalitointheCloud(offline)
Cloud Storage (e.g. S3)
Browser Adobe AirAdobe Flex
Mobile Games ...
Internet
Client
Machines
Serversof utilityprovider
REST (http)
App2
App3App3
App1 App1
App1
App1
App1
App2
App1 App1 App1 App2 App1App1
![Page 20: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/20.jpg)
Demo
![Page 21: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/21.jpg)
Conclusion:WhySausalito?• ImproveflexibilityofWeb‐basedapplica/ons
– leverageWeb‐basedstandards:XML,JSON,REST,...– flexibledatamodel:sequencesofobjects– XQuery++programmingmodel(W3Cstandard)
• Simplifyopera/ons– leveragecloudcompu/ngtechnology– payasyougocost:noupfrontinvestment– infinitescalability(throughput),100%availability– noadministra/on(backups,securitypatches,DB,...)– predictablecostandperformance(response/me)
• Hugecostsavings:development+deployment
![Page 22: Sausalito: An Applicaon Server for RESTful Services in the ...litwin/cours98/Doc-cours-clouds/... · – why „database as a service“ if you can have „plaorm aaS“? – it works](https://reader033.vdocument.in/reader033/viewer/2022050600/5fa776e65b35197e2b27de13/html5/thumbnails/22.jpg)
<Thanks/>
Becausegreenisthenewblue...h;p://sausalito.28msec.com/