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 13-Apr-2020

7 views

Category:

Documents


0 download

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/