Project FiFo introduction

1,764 views
1,575 views

Published on

In introduction to Project FiFo

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,764
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Project FiFo introduction

  1. 1. Background ‣ SmartOS is great ‣ zones ‣ dtrace ‣ zfs ‣ crossbow ‣ kvm
  2. 2. Background ‣ ... not so great ‣ single user ‣ one system ‣ root access ‣ direct access ‣ SmartOS is great ‣ zones ‣ dtrace ‣ zfs ‣ crossbow ‣ kvm
  3. 3. SAD!
  4. 4. FiFo to the Rescue! Seems like there is no solution...
  5. 5. FiFo to the Rescue! ... Oh! You still want one?
  6. 6. FiFo to the Rescue! Guess you have to find one yourself!
  7. 7. Users ‣ central management ‣ SSH keys ‣ permissions (treeish) ‣ roles/groups
  8. 8. Virtual machines ‣ create / edit / destroy ‣ noVNC / Console ‣ SSH access (for zones) ‣ snapshots ‣ some metrics
  9. 9. Hypervisors ‣ pick the best ‣ metrics ‣ warnings
  10. 10. Cool Stuff ‣ distributed dtrace ‣ and visualization ‣ dataset creation ‣ distributed (riak_core ;) ‣ CRDT‘s ‣ 100% open source and free!
  11. 11. HAPPY!
  12. 12. Things learned...
  13. 13. build modular ‣ ‘small‘ applications that work together ‣ specializing codebase ‣ well defined interfaces ‣ makes things reusable ‣ abstract in libraries
  14. 14. the mDNS trick ‣ auto discover services ‣ failure auto decays ‣ auto recovery ‣ kind of extending OTP over the network
  15. 15. don‘t model for representation ‣ JSON is nice for an API ‣ BUT! don‘t structure your data to match you representation ‣ nice at the borders ‣ a mess in the center
  16. 16. Erlang - the good ‣ fault tolerance / ‘self healing‘ ‣ distributed architecture ‣ yadda yadda yadda - you know it!
  17. 17. mindset and culture
  18. 18. Erlang - the bad ‣ unix processes (ports) ‣ working as part of (SFM) ‣ unix pipes ‣ missing libraries ‣ sloppy versioning of libs
  19. 19. DEEP DIVE
  20. 20. snarl ‣ right management ‣ users ‣ groups / roles ‣ organizations ‣ stand alone / totally reusable! ‣ client library
  21. 21. Distributed over riak_core
  22. 22. Distributed over riak_core LWW RegisterLWW Register ------------------------------------------------------ namename ------------------------------------------------------ hashhash ------------------------------------------------------ active_orgactive_org ============================ ORSets (GC’ed)ORSets (GC’ed) ------------------------------------------------------ permissionspermissions ------------------------------------------------------ groupsgroups ------------------------------------------------------ organizationsorganizations ============================ StateboxStatebox ------------------------------------------------------ metadatametadata LWW RegisterLWW Register ------------------------------------------------------ namename ------------------------------------------------------ hashhash ------------------------------------------------------ active_orgactive_org ============================ ORSets (GC’ed)ORSets (GC’ed) ------------------------------------------------------ permissionspermissions ------------------------------------------------------ groupsgroups ------------------------------------------------------ organizationsorganizations ============================ StateboxStatebox ------------------------------------------------------ metadatametadata User
  23. 23. Distributed over riak_core LWW RegisterLWW Register ------------------------------------------------ ------ namename ------------------------------------------------ ------ hashhash ------------------------------------------------ ------ active_orgactive_org ========================== == ORSets (GC’ed)ORSets (GC’ed) ------------------------------------------------ ------ permissionspermissions ------------------------------------------------ ------ groupsgroups ------------------------------------------------ ------ organizationsorganizations ========================== == StateboxStatebox ------------------------------------------------ ------ metadatametadata LWW RegisterLWW Register ------------------------------------------------ ------ namename ------------------------------------------------ ------ hashhash ------------------------------------------------ ------ active_orgactive_org ========================== == ORSets (GC’ed)ORSets (GC’ed) ------------------------------------------------ ------ permissionspermissions ------------------------------------------------ ------ groupsgroups ------------------------------------------------ ------ organizationsorganizations ========================== == StateboxStatebox ------------------------------------------------ ------ metadatametadata User RanchTCPServer/mDNSbroadcastRanchTCPServer/mDNSbroadcastRanchTCPServer/mDNSbroadcastRanchTCPServer/mDNSbroadcast pooler+gen_tcp/mdnslistenerpooler+gen_tcp/mdnslistenerpooler+gen_tcp/mdnslistenerpooler+gen_tcp/mdnslistener

×