sausalito: an applicaon server for restful services in the...

22
Sausalito: An Applica/on Server for RESTful Services in the Cloud Ma;hias Brantner & Donald Kossmann 28msec Inc. h;p://sausalito.28msec.com/

Upload: others

Post on 11-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<Thanks/>

Becausegreenisthenewblue...h;p://sausalito.28msec.com/