SlideShare uma empresa Scribd logo
1 de 25
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
‣ zfs
‣ crossbow
‣ kvm
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 source and free!
HAPPY!
Things learned...
build modular
‣ ‘small‘ applications that work
together
‣ specializing codebase
‣ well defined interfaces
‣ makes things reusable
‣ abstract in libraries
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
‣ nice at the borders
‣ a mess in the center
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 of libs
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
------------------------------------------------------
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
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

Mais conteúdo relacionado

Semelhante a Project FiFo introduction

Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveChris Mills
 
Onyx data processing the clojure way
Onyx   data processing  the clojure wayOnyx   data processing  the clojure way
Onyx data processing the clojure wayBahadir Cambel
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSDocker, Inc.
 
stackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure driftstackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure driftNETWAYS
 
Making clouds: turning opennebula into a product
Making clouds: turning opennebula into a productMaking clouds: turning opennebula into a product
Making clouds: turning opennebula into a productCarlo Daffara
 
Making Clouds: Turning OpenNebula into a Product
Making Clouds: Turning OpenNebula into a ProductMaking Clouds: Turning OpenNebula into a Product
Making Clouds: Turning OpenNebula into a ProductNETWAYS
 
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...OpenNebula Project
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorAnil Madhavapeddy
 
17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboardsDenis Ristic
 
Ops for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless AppsOps for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless AppsErica Windisch
 
DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5Frédéric Harper
 
Surviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-studySurviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-studypeter_ibuildings
 
Laravel's ecosystem
Laravel's ecosystemLaravel's ecosystem
Laravel's ecosystemLuiz Messias
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style councilChris Mills
 
BSides Iowa 2018: Windows COM: Red vs Blue
BSides Iowa 2018: Windows COM: Red vs BlueBSides Iowa 2018: Windows COM: Red vs Blue
BSides Iowa 2018: Windows COM: Red vs BlueAndrew Freeborn
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityDirk Ginader
 
the productive programer: mechanics
the productive programer: mechanicsthe productive programer: mechanics
the productive programer: mechanicselliando dias
 

Semelhante a Project FiFo introduction (20)

Understand study
Understand studyUnderstand study
Understand study
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
Onyx data processing the clojure way
Onyx   data processing  the clojure wayOnyx   data processing  the clojure way
Onyx data processing the clojure way
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
stackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure driftstackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure drift
 
Making clouds: turning opennebula into a product
Making clouds: turning opennebula into a productMaking clouds: turning opennebula into a product
Making clouds: turning opennebula into a product
 
Making Clouds: Turning OpenNebula into a Product
Making Clouds: Turning OpenNebula into a ProductMaking Clouds: Turning OpenNebula into a Product
Making Clouds: Turning OpenNebula into a Product
 
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...
OpenNebulaConf 2013 - Making Clouds: Turning OpenNebula into a Product by Car...
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards
 
Ops for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless AppsOps for NoOps - Operational Challenges for Serverless Apps
Ops for NoOps - Operational Challenges for Serverless Apps
 
Small Screen Development
Small Screen DevelopmentSmall Screen Development
Small Screen Development
 
DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5
 
groovy & grails - lecture 6
groovy & grails - lecture 6groovy & grails - lecture 6
groovy & grails - lecture 6
 
Surviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-studySurviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-study
 
Laravel's ecosystem
Laravel's ecosystemLaravel's ecosystem
Laravel's ecosystem
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
 
BSides Iowa 2018: Windows COM: Red vs Blue
BSides Iowa 2018: Windows COM: Red vs BlueBSides Iowa 2018: Windows COM: Red vs Blue
BSides Iowa 2018: Windows COM: Red vs Blue
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web Accessibility
 
the productive programer: mechanics
the productive programer: mechanicsthe productive programer: mechanics
the productive programer: mechanics
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Project FiFo introduction

  • 1.
  • 2. Background ‣ SmartOS is great ‣ zones ‣ dtrace ‣ zfs ‣ crossbow ‣ kvm
  • 3. Background ‣ ... not so great ‣ single user ‣ one system ‣ root access ‣ direct access ‣ SmartOS is great ‣ zones ‣ dtrace ‣ zfs ‣ crossbow ‣ kvm
  • 5. FiFo to the Rescue! Seems like there is no solution...
  • 6. FiFo to the Rescue! ... Oh! You still want one?
  • 7. FiFo to the Rescue! Guess you have to find one yourself!
  • 8. Users ‣ central management ‣ SSH keys ‣ permissions (treeish) ‣ roles/groups
  • 9. Virtual machines ‣ create / edit / destroy ‣ noVNC / Console ‣ SSH access (for zones) ‣ snapshots ‣ some metrics
  • 10. Hypervisors ‣ pick the best ‣ metrics ‣ warnings
  • 11. Cool Stuff ‣ distributed dtrace ‣ and visualization ‣ dataset creation ‣ distributed (riak_core ;) ‣ CRDT‘s ‣ 100% open source and free!
  • 14. build modular ‣ ‘small‘ applications that work together ‣ specializing codebase ‣ well defined interfaces ‣ makes things reusable ‣ abstract in libraries
  • 15. the mDNS trick ‣ auto discover services ‣ failure auto decays ‣ auto recovery ‣ kind of extending OTP over the network
  • 16. 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
  • 17. Erlang - the good ‣ fault tolerance / ‘self healing‘ ‣ distributed architecture ‣ yadda yadda yadda - you know it!
  • 19. Erlang - the bad ‣ unix processes (ports) ‣ working as part of (SFM) ‣ unix pipes ‣ missing libraries ‣ sloppy versioning of libs
  • 21. snarl ‣ right management ‣ users ‣ groups / roles ‣ organizations ‣ stand alone / totally reusable! ‣ client library
  • 22.
  • 24. 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
  • 25. 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