sausalito: an applicaon server for restful services in the...
TRANSCRIPT
Sausalito:AnApplica/onServerforRESTfulServicesintheCloud
Ma;hiasBrantner&DonaldKossmann28msecInc.
h;p://sausalito.28msec.com/
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
RequirementsforDMontheWeb• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront– provisionforaveragecaseandnotpeak
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
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
RequirementsRevisited• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
DatabasesandtheCloud
• CloudCompu/ngagreatstar/ngpoint• Unfortunately,onlyafrac/onofthestack
Hardware
DBMS
Application Server
Application
Customization, Training, ...
DatabasesandtheCloud
• CloudCompu/ngagreatstar/ngpoint• Unfortunately,onlyafrac/onofthestack
Hardware
DBMS
Application Server
Application
Customization, Training, ...
?
TwoCampsofThoughtforDBMS
• InstallstandardDBMSintheCloud– takeatradi/onalDBMS(e.g.,Oracle,MySQL,...)
– installitonanEC2instance– useS3orEBSasapersistentstore
• Rethinkthewholesystemarchitecture– doNOTuseatradi/onalDBMS– createnewbreedofapplica/onserver(withDB)– runapplica/onserveronnEC2instances– useS3+distributedconsistencyprotocols
TwoCampsofThought:Camp1
• InstallstandardDBMSintheCloud– takeatradi/onalDBMS(e.g.,Oracle,MySQL,...)
– installitonanEC2instance– useS3orEBSasapersistentstore
• Advantages– tradi/onaldatabasesareavailable– proventoworkwell;manytools
– peopletrainedandconfidentwiththem
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!“
Camp1:RequirementsRevisited
• Cost($$$)– incompa/blebusinessmodels:lowvs.highmargin
– expensivehardwareandadminsneeded
• Scalability– tradi/onalDBMSdonotscaleto1000smachines
• Noadministra/on– despiteprogress,s/lladreamfortrad.DBMS
• 100percentread+writeavailability– incompa/blewithACIDparadigm
• Consistency
Camp1:RequirementsRevisited
• Cost($$$)– incompa/blebusinessmodels:lowvs.highmargin
– expensivehardwareandadminsneeded
• Scalability– tradi/onalDBMSdonotscaleto1000smachines
• Noadministra/on– despiteprogress,s/lladreamfortrad.DBMS
• 100percentread+writeavailability– incompa/blewithACIDparadigm
• Consistency
TwoCampsofThought:Camp2
• Rethinkthewholesystemarchitecture– doNOTuseatradi/onalDBMS
– createnewbreedofapplica/onserver(withDB)– runapplica/onserveronnEC2instances– useS3+distributedconsistencyprotocols
• AdvantagesandDisadvantages– requiresnewbreedof(immature)systems+tools– solvestherightproblemandgetsitright
– leveragesorganiza/on‘sinvestmentsinSOA
Camp2:RequirementsRevisited• Cost($$$)
– getcheapereveryyear;leveragenewtechnology– payasyougoalong;noinvestmentupfront
• Scalability– response/meindependentofnumberofclients
• Noadministra/on– „outsource“patches,backups,faulttolerance
• 100percentread+writeavailability– noclientiseverblockedundernocircumstances
• Consistency:op-miza-ongoal;notconstraint
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)
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,...
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
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
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
Demo
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
<Thanks/>
Becausegreenisthenewblue...h;p://sausalito.28msec.com/