0
Background
‣ SmartOS is great
‣ zones
‣ dtrace
‣ zfs
‣ crossbow
‣ kvm
Background
‣ ... not so great
‣ single user
‣ one system
‣ root access
‣ direct access
‣ SmartOS is great
‣ zones
‣ dtrace...
SAD!
FiFo to the Rescue!
Seems like there is no solution...
FiFo to the Rescue!
... Oh! You still want one?
FiFo to the Rescue!
Guess you have to find one
yourself!
Users
‣ central management
‣ SSH keys
‣ permissions (treeish)
‣ roles/groups
Virtual machines
‣ create / edit / destroy
‣ noVNC / Console
‣ SSH access (for zones)
‣ snapshots
‣ some metrics
Hypervisors
‣ pick the best
‣ metrics
‣ warnings
Cool Stuff
‣ distributed dtrace
‣ and visualization
‣ dataset creation
‣ distributed (riak_core ;)
‣ CRDT‘s
‣ 100% open so...
HAPPY!
Things learned...
build modular
‣ ‘small‘ applications that work
together
‣ specializing codebase
‣ well defined interfaces
‣ makes things r...
the mDNS trick
‣ auto discover services
‣ failure auto decays
‣ auto recovery
‣ kind of extending OTP over the network
don‘t model for representation
‣ JSON is nice for an API
‣ BUT! don‘t structure your data to match
you representation
‣ ni...
Erlang - the good
‣ fault tolerance / ‘self healing‘
‣ distributed architecture
‣ yadda yadda yadda - you know it!
mindset and culture
Erlang - the bad
‣ unix processes (ports)
‣ working as part of (SFM)
‣ unix pipes
‣ missing libraries
‣ sloppy versioning ...
DEEP DIVE
snarl
‣ right management
‣ users
‣ groups / roles
‣ organizations
‣ stand alone / totally reusable!
‣ client library
Distributed over riak_core
Distributed over
riak_core
LWW RegisterLWW Register
------------------------------------------------------
namename
------...
Distributed over
riak_core
LWW RegisterLWW Register
------------------------------------------------
------
namename
-----...
Project FiFo introduction
Project FiFo introduction
Upcoming SlideShare
Loading in...5
×

Project FiFo introduction

1,384

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,384
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×