afterfailureafterfailureafter...

54
LURE AFTER FAILUREAF ailure AFTERFA FTER f ailure AFTERFA FTER f APRESENTATIONBY @timangladE FROMYOURFRIENDS @cloudant

Upload: others

Post on 13-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

FAILUREAFTERFAILUREAFTERFARailureAFTERFAILUREAFTERAFTERf

ailureAFTERFAILUREAFTERAFTERf

A!PRESENTATION!BY @timangladEFROM!YOUR!FRIENDS @cloudant

Page 2: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

• Founded by 3 MIT grad students

• YCombinator S08

• Based in Boston, MA with employees in California, Washington State & the UK

• Hosted, distributed database service,~compatible with CouchDB

• Open Core BigCouch

• Value-added technologies are available as licenses

Cloudant?

Page 3: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

attachments:image, audio, ...

JSON, typed

complex relationships

MVCC:provenance,replication

and cache-ready

Page 4: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

• Written in Erlang

• REST API

• Bulk upload/edit

• Feed of changes

• Append-only, B+Tree, copy-on-write

• Durable MapReduce views (indices), in javascript, ruby, python, java, etc.

• ACID at the single document level

CouchDB Basics

Page 5: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

REPEATEDLY.We have Failed.

we’re not necessarily bad at our jobs though…

Page 6: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Back in 2007…

Page 7: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

“The worldneeds a databaselike this”

— Adam Kocoloski, Cloudant CTO(in a moment of weakness)

Page 8: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

C luster of U nreliable C ommodity H ardware

Page 9: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

C luster of U nreliable C ommodity H ardware

without the ‘C’ it’s just “ouchDB”

Page 10: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

➞ BigCOuchPutting The ‘C’back inCouchDB

Page 11: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Starting a newCode project:Good idea,right?

Page 12: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Disregardingprior art

Failure #1?

Page 13: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Y et A nother W anking N osql S olution

Page 14: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

DistributedSystems are HARDLet’s goshopping!

Page 15: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

DynAmo!

Werner, I♥you — why don’t you return my calls?

Page 16: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

D-D-D-Dynomite!

Cliff, I♥you, but don’t ever call me again.

Page 17: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Perusingprior Art:Good idea,right?

Page 18: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #2

Usingprior art

Page 19: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Your projecT≠

My project

Page 20: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

➞ MEM3ridiculouslysimple shardmanagement

Page 21: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

DistributedSystemsmeansdistributedTasks

Page 22: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Executing CodeRemotelyNot cool, man.

Page 23: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Science says:82% of coders’TimE is spentDesigning an RPCMECHANISMThe other 18% is spent at the coffee machine

Page 24: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Using your language’snative RPCMechanismGood idea,right?

Page 25: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #3

PREMATUREImmatureoptimization

Page 26: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

➞ RexilightweightRPC server

Page 27: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

2xthroughputimprovementWell, alright. I can live with that, I guess…

Page 28: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Meanwhile…

Page 29: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Scrum’ing it upGood idea,right?

Page 30: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #4

ITerate OFTENITERATE FASTHIT&ATE the WALL

Page 31: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

➞ FabricDB OPS abstraction

Page 32: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Meanwhile…

Page 33: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

“we need to bewebscale”

— ALAN HOFFMAN, Cloudant CEOFebruary 31, 2009

Page 34: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Using stateof the artcloud hostingGood idea,right?

Page 35: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #5

AmazonlulzServices™

Page 36: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

The MOST INTENSETECH BOOTCAMPyou CAN EVERPUT DISTRIBUTED CODE THROUGH

Page 37: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Meanwhile…

Page 38: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

They see meCompactin’They Hatin’

Page 39: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Being GoodApache CitizensGood idea,right?

Page 40: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #6

Oh,Apache…

Page 41: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Meanwhile…

Page 42: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

It’s all so Clear!

Page 43: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Automatingyour monitoringGood idea,right?

Page 44: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #7There is nosuch thingas automatedmOnitoring

Page 45: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Meanwhile…

Page 46: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Which onewould yourather Serve?

Page 47: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Large UserStory

Page 48: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Small UserStory

Page 49: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Failure #8Hope your usersare smart.

(Plan for whenThey’re STUPID.)

Page 50: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

Recap! 1. Don’t disregard prior art 2. Disregard prior art 3. Don’t be afraid to relax the rules 4. Clean up regularly 5. Get hosted on AWS (or not) 6. Learn tHAT APACHE CAN DO WRONG 7. Monitor what matters 8. There are no “nice” users

Page 51: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

What’s Next?version 0.4More PackagesGeoCouch?

Page 53: AFTERfailureAFTERFAILUREAFTER …2011.berlinbuzzwords.de/sites/2011.berlinbuzzwords.de/files/timangl… · A!PRESENTATION!BY @timangladE FROM!YOUR!FRIENDS @cloudant ... Washington

cloudant.com/europe

FaiLINGNear you,SOON!

(because we care.)