Riak at Kivra
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Riak at Kivra

on

  • 1,426 views

 

Statistics

Views

Total Views
1,426
Views on SlideShare
646
Embed Views
780

Actions

Likes
0
Downloads
3
Comments
0

12 Embeds 780

http://basho.com 590
http://basho.co.jp 144
http://cloud.feedly.com 19
https://www.google.com 9
http://www.toddpigram.com 8
http://feedly.com 3
http://translate.googleusercontent.com 2
http://newsblur.com 1
http://digg.com 1
http://hivereader.com 1
http://www.inoreader.com 1
http://webcache.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Riak at Kivra Presentation Transcript

  • 1. RIAK at KIVRABip Thelin@bipthelin
  • 2. BIP THELIN CTO & Co-founder OO / SQL-background Open Source / Tomcat Committer Scalable platforms / Hosting Beer Homebrewer / Judge
  • 3. API / Delivery serviceContent compositionContent creationDigital mailbox
  • 4. ResponsiveWebiOS App
  • 5. z zState machine y xInternal, External & c aTime Events b p f dHard to test / debug qError prone g eHardcoded flow rNo overview e i t u
  • 6. Weoutgrew our system
  • 7. QUOTE: Marriage is a wonderful institution, but who wants to live in an 24 / 7 / 365 institution? SECURE / Stable TESTABLE / OPERATIONAL Distributable / ScALABLE
  • 8. Our PhilosophyKeep it simple, StupidDo one thing and do it wellSeparation of concernRight tool for the jobHasty generalization
  • 9. RIAK + ErlangLightweightDistributedScalableResilient to failure
  • 10. Frontend Service x y x y REST API z q Backend service z qExternal Services RIAK Internal Services
  • 11. Right datastore for the job 3 x Riak Clusters
  • 12. ManyONEBACKEND (s)to rule them all
  • 13. RIAKLeveldbBitcask stackRiak-erlang-client (PB)JSON
  • 14. OAUTH2Authorization layer on top of Riak
  • 15. LAZYUPGRADE
  • 16. -­‐record(user,  {        password                  =  <<"l0ln00b">,        name                          =  <<"noname">>, Get object        i_primary_email    =  <<"ih@ck.se">,        i_primary_phone    =  <<"461337">>,        i_ssn                        =  <<"0123456789">>,        l_tenant                  =  {<<"B">>,  <<"K">>} }).Check version Upgrade object [1...n] RIAK
  • 17. LOGGING
  • 18. 1. MetricsAnything youd want toplot on a graph
  • 19. 2. (Un)structured Log data logging youd want to process
  • 20. 3. Applicationlogging Error, Notice, Warning, etc
  • 21. Lager Logglygithub.com/kivra/lager_loggly.git
  • 22. Lager Sysloggithub.com/basho/lager_syslog
  • 23. ~197 SLOC ~23 SLOC
  • 24. Lager{lager,  [ {handlers,  [             {lager_console_backend,  info},                    {lager_loggly_backend,  [<<"Riak">>,                          info,  5,  3,                    "https://<Loggly  URI>"]},                      {lager_loggly_backend,  [<<"Riak">>,                      error,  5,  3,                        "https://<Loggly  URI>"]},                      {lager_file_backend,  [                         {"/path/error.log",  error,  10485760,  "$D0",  5},                              {"/path/console.log",  info,  10485760,  "$D0",  5}                    ]} ]},          ...]},
  • 25. DEPLOYMENT Central configuration Infrastructure as Code Bootstrap/Upgrade
  • 26. Data modeling DESIGN Conflict resolution DECISIONS 2i slow and no M/R, Links, Search, etc..TRADEOFFS Key generation Caching
  • 27. What’s up?Riak CoreData encryptionSearchSession backend
  • 28. Thank You!https://www.github.com/kivra Bip Thelin bip@kivra.com @bipthelin