SlideShare a Scribd company logo
1 of 36
SlapOS
Distributed Cloud Computing




Yusei Tahara<yusei@nexedi.com>
           Nexedi KK

                            SlapOS.org
What does SlapOS do actually?
●   Managing computers
●   Building software
●   Deploying software
●   Managing processes
●   Collecting usage
●   Pricing and invoicing
SlapOS automates administration tasks.


                                         SlapOS.org
Introduction and
              why we develop it?
●   We are ERP solution provider.
●   Our customers need solid system.
●   Setup procedure of our ERP is complex.
●   We want to share good configurations with others.
●   We must be able to deploy production system any
    number of times.
●   We may want to change OS.
●   Deployment must be done quickly.
●   Package maintenance is annoying.

                                               SlapOS.org
Master and Slaves



                     One master node           Slave node
Slave node




    Slave node                                 Slave node


                                  Slave node

                 Slave node




                                                            SlapOS.org
Overview
                                      SlapOS Master
                                 System for managing cloud
                                   Web interface available
A real computer used              Master itself is distributed
as a part of cloud                                                       Cloud operating tool

                                              Master                                 Client
       Slave                                             Slap protocol
                       Slap protocol                                            slapconsole
     slapgrid
Office                                 Slap protocol

           Slave                                                                Client

         slapgrid                                                            slapconsole
                           Slave
    Home
                         slapgrid

                        Data center

                                                                                    SlapOS.org
Overview
         Slave                                     Master
                           What should I be?



                              You must be...

Slave node is stateless.                       Master node is statefull.
Slave node asks master                         Master node knows
node anything.                                 everything about slave
                                               node.




                                                               SlapOS.org
Overview

I want ERP5




              Here you are.



                              SlapOS.org
Master node
       ●Stateful
       ●Store various data

       ●User registration

       ●Computer registration

       ●Recipe registration

       ●Computer usage record

       ●Web management UI

       ●Implemented on top of ERP5




                          SlapOS.org
Slave Node
                        1 real computer
                             POSIX
                    Architecture independent


    Core software
                                    Computer partitions(CP)
      Slapgrid
      Buildout
                                               CP
    Supervisord

                                               CP
Software releases(SR)
                                               CP
        XWiki
                                               CP
        KVM




                                                              SlapOS.org
Setup slave node
I want to add a computer
       to my cloud.




                           GNU / Linux




                                         SlapOS.org
Setup slave node

Installation done




                     supervisord

                      Buildout

                      SLAPGrid

                     GNU / Linux




                                   SlapOS.org
Install software release
My node supports
 XWiki and KVM                     Added software
                                   releases
                       KVM
                      XWiki

                    supervisord

                     Buildout

                     SLAPGrid

                    GNU / Linux




                                   SlapOS.org
Install service
                                         Added services
I want 2 KVM and
1 XWiki

                              KVM
                             XWiki

                           supervisord

                            Buildout

                            SLAPGrid

                           GNU / Linux




                                         SlapOS.org
Computer Partition


Directory
                               ●Dedicated directory
                               ●Dedicated user
Isolated Runtime environment
Secure container               ●Dedicated global Ipv6

                               ●Dedicated local Ipv4

                               ●Dedicated network interface(TAP)




                                                     SlapOS.org
3 commands of Slapgrid
                     Request


SR   Node                                     Master

            A list of software releases the
            slave node must have

                     Request


CP   Node
            A list of services the slave
                                              Master

            node must have



              Resource usage report
                                              Master
UR   Node




                                                       SlapOS.org
Demonstration
●   Slapconsole
●   Master node Web UI
●   Slave node
●   Computer partition




                                  SlapOS.org
More information...
●   SlapOS.org
●   ViFiB.net
●   http://git.erp5.org/gitweb/slapos.git
●   https://github.com/SlapOS/slapos




                                            SlapOS.org
Thank you very much




                      SlapOS.org
SlapOS
Distributed Cloud Computing




Yusei Tahara<yusei@nexedi.com>
           Nexedi KK


                               SlapOS.org
                           1
What does SlapOS do actually?
●   Managing computers
●   Building software
●   Deploying software
●   Managing processes
●   Collecting usage
●   Pricing and invoicing
SlapOS automates administration tasks.


                                             SlapOS.org
                                         2
Introduction and
              why we develop it?
●   We are ERP solution provider.
●   Our customers need solid system.
●   Setup procedure of our ERP is complex.
●   We want to share good configurations with others.
●   We must be able to deploy production system any
    number of times.
●   We may want to change OS.
●   Deployment must be done quickly.
●   Package maintenance is annoying.

                                                 SlapOS.org
                                             3
Master and Slaves



                                   One master node           Slave node
              Slave node




                  Slave node                                 Slave node


                                                Slave node
                               Slave node




                                                                          SlapOS.org
                                                                     4


SlapOS is based on a Master and Slave design. We
  are going to provide here an overview of SlapOS
  architecture. We are going in particular to explain the
  role of Master node and Slave nodes, as well as the
  software components which they rely on to operate a
  Distributed Cloud.
Overview
                                             SlapOS Master
                                        System for managing cloud
                                          Web interface available
       A real computer used              Master itself is distributed
       as a part of cloud                                                       Cloud operating tool

                                                     Master                                 Client
               Slave                                            Slap protocol
                              Slap protocol                                            slapconsole
             slapgrid
        Office                                Slap protocol

                   Slave                                                               Client

                 slapgrid                                                           slapconsole
                                  Slave
            Home
                                slapgrid

                               Data center

                                                                                           SlapOS.org
                                                                                       5


Slave nodes request to Master nodes which software
  they should install, which software they show run and
  report to Master node how much resources each
  running software has been using for a certain period
  of time. Master nodes keeps track of available slave
  node capacity and available software. Master node
  also acts as a Web portal and Web service so that
  end users and software bots can request software
  instances which are instantiated and run on Slave
  nodes. Master nodes are stateful. Slave nodes are
  stateless. More precisely, all information required to
  rebuild a Slave node is stored in the Master node.
  This may include the URL of a backup service which
  keeps a online copy of data so that in case of failure
  of a Slave node, a replacement Slave node can be
  rebuilt with the same data.

It is thus very important to make sure that the state
Overview
         Slave                                     Master
                           What should I be?



                              You must be...

Slave node is stateless.                       Master node is statefull.
Slave node asks master                         Master node knows
node anything.                                 everything about slave
                                               node.




                                                               SlapOS.org
                                                           6
Overview

I want ERP5




              Here you are.



                                  SlapOS.org
                              7
Master node
                               ●Stateful
                               ●Store various data
                               ●User registration

                               ●Computer registration

                               ●Recipe registration

                               ●Computer usage record

                               ●Web management UI

                               ●Implemented on top of ERP5




                                                    SlapOS.org
                                                8


Let us now review in more detail the role of the SlapOS
  master node. SlapOS keeps track of the identity of all
  parties which are involved in the process of
  requesting Cloud resources, accounting Cloud
  resources and billing Cloud resources. This includes
  end users (Person) and their company (Organisation
  ). It includes suppliers of cloud resources as well as
  consumers of cloud resources. It also include so-
  called computer partitions which may run a software
  robot to request Cloud resources without human
  intervention. It also includes Slave nodes which need
  to request to SlapOS master which resources should
  be allocated. SlapOS generated X509 certificates for
  each type of identity: X509 certificates for people like
  you and me who login, an X509 certificate for each
  server which contributes to the resources of SlapOS
  and an X509 for each running software instance
  which may need to request or notify SlapOS master.
Slave Node
                                     1 real computer
                                          POSIX
                                 Architecture independent


                 Core software
                                                 Computer partitions(CP)
                   Slapgrid
                   Buildout
                                                            CP
                 Supervisord

                                                            CP
             Software releases(SR)
                                                            CP
                     XWiki
                                                            CP
                     KVM




                                                                           SlapOS.org
                                                                      9


SlapOS Slave nodes are pretty simple compared to the
  Master node. Every slave node needs to run
  software requested by the Master node. It is thus on
  the Slave nodes that software is installed. To save
  disk space, Slave nodes only install the software
  which they really need.

Each slave node is divided into a certain number of so-
 called computer partitions. One may view a computer
 partition as a lightweight secure container, based on
 Unix users and directories rather than on
 virtualization. A typical barebone PC can easily
 provide 100 computer partitions and can thus run
 100 wordpress blogs or 100 e-commerce sites, each
 of which with its own independent database. A larger
 server can contain 200 to 500 computer partitions.

SlapOS approach of computer partitions was designed
Setup slave node
       I want to add a computer
              to my cloud.




                                  GNU / Linux




                                                     SlapOS.org
                                                10


SlapOS Slave software consists of a POSIX operating
  system, SlapGRID, supervisord and buildout.

SlapOS is designed to run on any operating system
  which supports GNU's glibc and supervisord. Such
  operating systems include for example GNU/Linux,
  FreeBSD, MacOS/X, Solaris, AIX, etc. We hope in
  the future that Microsoft Windows will also be
  supported as a host (Microsoft Windows is already
  supported as a guest) through glibc implementation
  on windows and a port of supervisord to Windows.
Setup slave node

          Installation done




                               supervisord

                                Buildout

                               SLAPGrid

                               GNU / Linux




                                                  SlapOS.org
                                             11


SlapOS relies on mature software: buildout and
  supervisord. Both software are controlled by
  SlapGRID, the only original software of SlapOS.
  SlapGRID acts as a glue between SlapOS Master
  node (ERP5) and both buildout and supervisord.
  SlapGRID requests to SlapOS Master Node which
  software should be installed and executed.
  SlapGRID uses buildout to install software and
  supervisord to start and stop software processes.
  SlapGRID also collects accounting data produced by
  each running software and sends it back to SlapOS
  Master. Let us now study with more detail the role of
  supervisord and buildout.

Supervisord is a process control daemon. It can be
 used to programmatically start and stop processes
 with different users, handle their output, their log
 files, their errors, etc. It is a kind of much improved
Install software release
My node supports
 XWiki and KVM                         Added software
                                       releases
                       KVM
                      XWiki

                    supervisord

                     Buildout

                     SLAPGrid

                    GNU / Linux




                                       SlapOS.org
                                  12
Install service
                                              Added services
I want 2 KVM and
1 XWiki

                              KVM
                             XWiki

                           supervisord

                            Buildout

                            SLAPGrid

                           GNU / Linux




                                              SlapOS.org
                                         13
Computer Partition


            Directory
                                           ●Dedicated directory
            Isolated Runtime environment   ●Dedicated user
            Secure container               ●Dedicated global Ipv6

                                           ●Dedicated local Ipv4

                                           ●Dedicated network interface(TAP)




                                                                   SlapOS.org
                                                              14


Every computer partition consists of a dedicated IPv6
 address, a dedicated local IPv4 address, a dedicated
 tap interface (slaptapN), a dedicated user (slapuserN
 ) and a dedicated directory (/srv/slapgrid/slappartN).
 Optionnaly, a dedicated block device and routable
 IPv4 address can be defined.

SlapOS is usually configured to use IPv6 addresses.
  Although use of IPv6 is not a requirement (an IPv4
  only SlapOS deployment is possible) it is a strong
  recommendation. IPv6 simplifies greatly the
  deployment of SlapOS either for public Cloud
  applications or for private Cloud applications. In the
  case of public Clouds, use of IPv6 helps
  interconnecting SlapOS Slave Nodes hosted at
  home without having to setup tunnels or complex
  port redirections. In the case of private Cloud, IPv6
  replaces existing corporate tunnels with a more
3 commands of Slapgrid
                     Request


SR   Node                                     Master

            A list of software releases the
            slave node must have

                     Request


CP   Node
            A list of services the slave
                                              Master

            node must have



              Resource usage report
                                              Master
UR   Node




                                                       SlapOS.org
                                                  15
Demonstration
●   Slapconsole
●   Master node Web UI
●   Slave node
●   Computer partition




                                       SlapOS.org
                                  16
More information...
●   SlapOS.org
●   ViFiB.net
●   http://git.erp5.org/gitweb/slapos.git
●   https://github.com/SlapOS/slapos




                                                 SlapOS.org
                                            17
Thank you very much




                           SlapOS.org
                      18

More Related Content

What's hot

Automated CloudStack Deployment
Automated CloudStack DeploymentAutomated CloudStack Deployment
Automated CloudStack DeploymentShapeBlue
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)rootfs32
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkAljoscha Krettek
 
Introduction to ELK
Introduction to ELKIntroduction to ELK
Introduction to ELKYuHsuan Chen
 
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...Verdanatech Soluções em TI
 
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitterApache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitterApache Zeppelin
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用cyberagent
 
AWS CDK in Practice
AWS CDK in PracticeAWS CDK in Practice
AWS CDK in PracticeChulwoo Choi
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Databricks
 
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)Dimitris Kontokostas
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Neo4j
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...HostedbyConfluent
 
Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Zhenxiao Luo
 
Managing Apache Spark Workload and Automatic Optimizing
Managing Apache Spark Workload and Automatic OptimizingManaging Apache Spark Workload and Automatic Optimizing
Managing Apache Spark Workload and Automatic OptimizingDatabricks
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stackAnne Nicolas
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekVenkata Naga Ravi
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearchFadel Chafai
 

What's hot (20)

Automated CloudStack Deployment
Automated CloudStack DeploymentAutomated CloudStack Deployment
Automated CloudStack Deployment
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on Flink
 
Introduction to ELK
Introduction to ELKIntroduction to ELK
Introduction to ELK
 
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...
Gerenciamento de Serviços O que é um serviço e como usar o Zabbix; SALES, Hal...
 
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitterApache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用
 
AWS CDK in Practice
AWS CDK in PracticeAWS CDK in Practice
AWS CDK in Practice
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
 
Flask-Python
Flask-PythonFlask-Python
Flask-Python
 
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)
RDFUnit - Test-Driven Linked Data quality Assessment (WWW2014)
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
 
Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019
 
Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem
 
ORC Deep Dive 2020
ORC Deep Dive 2020ORC Deep Dive 2020
ORC Deep Dive 2020
 
Managing Apache Spark Workload and Automatic Optimizing
Managing Apache Spark Workload and Automatic OptimizingManaging Apache Spark Workload and Automatic Optimizing
Managing Apache Spark Workload and Automatic Optimizing
 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeek
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
 

Viewers also liked

English greek god ppt
English greek god pptEnglish greek god ppt
English greek god pptDiane Kang
 
Glucósidos cardíacos
Glucósidos cardíacosGlucósidos cardíacos
Glucósidos cardíacosEika Maldonado
 
Adobe Photoshop - руководство пользователя
Adobe Photoshop  -  руководство пользователяAdobe Photoshop  -  руководство пользователя
Adobe Photoshop - руководство пользователяинна ветрова
 
Medidas antropométricas
Medidas antropométricasMedidas antropométricas
Medidas antropométricasEika Maldonado
 
Ppt prevencion vial minga
Ppt prevencion vial mingaPpt prevencion vial minga
Ppt prevencion vial mingaVictor Cortes
 

Viewers also liked (6)

Court Order Admission
Court Order AdmissionCourt Order Admission
Court Order Admission
 
English greek god ppt
English greek god pptEnglish greek god ppt
English greek god ppt
 
Glucósidos cardíacos
Glucósidos cardíacosGlucósidos cardíacos
Glucósidos cardíacos
 
Adobe Photoshop - руководство пользователя
Adobe Photoshop  -  руководство пользователяAdobe Photoshop  -  руководство пользователя
Adobe Photoshop - руководство пользователя
 
Medidas antropométricas
Medidas antropométricasMedidas antropométricas
Medidas antropométricas
 
Ppt prevencion vial minga
Ppt prevencion vial mingaPpt prevencion vial minga
Ppt prevencion vial minga
 

Similar to SlapOS Presentation at VW2011 Seoul

Malware analysis
Malware analysisMalware analysis
Malware analysisxabean
 
meetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypesmeetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypesMax Małecki
 
Ryu: network operating system
Ryu: network operating systemRyu: network operating system
Ryu: network operating systemIsaku Yamahata
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllersIsaku Yamahata
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayyfauser
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Waysmalltown
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
AFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and NetfilterAFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and Netfilterjvehent
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)Flowdock
 
COP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxCOP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxNitesh95975
 
Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Jérôme Petazzoni
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on RailsJonathan Weiss
 
OpenStack Dragonflow shenzhen and Hangzhou meetups
OpenStack Dragonflow shenzhen and Hangzhou  meetupsOpenStack Dragonflow shenzhen and Hangzhou  meetups
OpenStack Dragonflow shenzhen and Hangzhou meetupsEran Gampel
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usagevideos
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud ComputingBuild a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud ComputingMark Hinkle
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Arun Gupta
 

Similar to SlapOS Presentation at VW2011 Seoul (20)

Malware analysis
Malware analysisMalware analysis
Malware analysis
 
meetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypesmeetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypes
 
Ryu: network operating system
Ryu: network operating systemRyu: network operating system
Ryu: network operating system
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-day
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
AFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and NetfilterAFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and Netfilter
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
 
COP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxCOP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptx
 
Ryu ods2012-spring
Ryu ods2012-springRyu ods2012-spring
Ryu ods2012-spring
 
Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Let's Containerize New York with Docker!
Let's Containerize New York with Docker!
 
Splunking the JVM
Splunking the JVMSplunking the JVM
Splunking the JVM
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
OpenStack Dragonflow shenzhen and Hangzhou meetups
OpenStack Dragonflow shenzhen and Hangzhou  meetupsOpenStack Dragonflow shenzhen and Hangzhou  meetups
OpenStack Dragonflow shenzhen and Hangzhou meetups
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usage
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud ComputingBuild a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009
 

Recently uploaded

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

SlapOS Presentation at VW2011 Seoul

  • 1. SlapOS Distributed Cloud Computing Yusei Tahara<yusei@nexedi.com> Nexedi KK SlapOS.org
  • 2. What does SlapOS do actually? ● Managing computers ● Building software ● Deploying software ● Managing processes ● Collecting usage ● Pricing and invoicing SlapOS automates administration tasks. SlapOS.org
  • 3. Introduction and why we develop it? ● We are ERP solution provider. ● Our customers need solid system. ● Setup procedure of our ERP is complex. ● We want to share good configurations with others. ● We must be able to deploy production system any number of times. ● We may want to change OS. ● Deployment must be done quickly. ● Package maintenance is annoying. SlapOS.org
  • 4. Master and Slaves One master node Slave node Slave node Slave node Slave node Slave node Slave node SlapOS.org
  • 5. Overview SlapOS Master System for managing cloud Web interface available A real computer used Master itself is distributed as a part of cloud Cloud operating tool Master Client Slave Slap protocol Slap protocol slapconsole slapgrid Office Slap protocol Slave Client slapgrid slapconsole Slave Home slapgrid Data center SlapOS.org
  • 6. Overview Slave Master What should I be? You must be... Slave node is stateless. Master node is statefull. Slave node asks master Master node knows node anything. everything about slave node. SlapOS.org
  • 7. Overview I want ERP5 Here you are. SlapOS.org
  • 8. Master node ●Stateful ●Store various data ●User registration ●Computer registration ●Recipe registration ●Computer usage record ●Web management UI ●Implemented on top of ERP5 SlapOS.org
  • 9. Slave Node 1 real computer POSIX Architecture independent Core software Computer partitions(CP) Slapgrid Buildout CP Supervisord CP Software releases(SR) CP XWiki CP KVM SlapOS.org
  • 10. Setup slave node I want to add a computer to my cloud. GNU / Linux SlapOS.org
  • 11. Setup slave node Installation done supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  • 12. Install software release My node supports XWiki and KVM Added software releases KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  • 13. Install service Added services I want 2 KVM and 1 XWiki KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  • 14. Computer Partition Directory ●Dedicated directory ●Dedicated user Isolated Runtime environment Secure container ●Dedicated global Ipv6 ●Dedicated local Ipv4 ●Dedicated network interface(TAP) SlapOS.org
  • 15. 3 commands of Slapgrid Request SR Node Master A list of software releases the slave node must have Request CP Node A list of services the slave Master node must have Resource usage report Master UR Node SlapOS.org
  • 16. Demonstration ● Slapconsole ● Master node Web UI ● Slave node ● Computer partition SlapOS.org
  • 17. More information... ● SlapOS.org ● ViFiB.net ● http://git.erp5.org/gitweb/slapos.git ● https://github.com/SlapOS/slapos SlapOS.org
  • 18. Thank you very much SlapOS.org
  • 19. SlapOS Distributed Cloud Computing Yusei Tahara<yusei@nexedi.com> Nexedi KK SlapOS.org 1
  • 20. What does SlapOS do actually? ● Managing computers ● Building software ● Deploying software ● Managing processes ● Collecting usage ● Pricing and invoicing SlapOS automates administration tasks. SlapOS.org 2
  • 21. Introduction and why we develop it? ● We are ERP solution provider. ● Our customers need solid system. ● Setup procedure of our ERP is complex. ● We want to share good configurations with others. ● We must be able to deploy production system any number of times. ● We may want to change OS. ● Deployment must be done quickly. ● Package maintenance is annoying. SlapOS.org 3
  • 22. Master and Slaves One master node Slave node Slave node Slave node Slave node Slave node Slave node SlapOS.org 4 SlapOS is based on a Master and Slave design. We are going to provide here an overview of SlapOS architecture. We are going in particular to explain the role of Master node and Slave nodes, as well as the software components which they rely on to operate a Distributed Cloud.
  • 23. Overview SlapOS Master System for managing cloud Web interface available A real computer used Master itself is distributed as a part of cloud Cloud operating tool Master Client Slave Slap protocol Slap protocol slapconsole slapgrid Office Slap protocol Slave Client slapgrid slapconsole Slave Home slapgrid Data center SlapOS.org 5 Slave nodes request to Master nodes which software they should install, which software they show run and report to Master node how much resources each running software has been using for a certain period of time. Master nodes keeps track of available slave node capacity and available software. Master node also acts as a Web portal and Web service so that end users and software bots can request software instances which are instantiated and run on Slave nodes. Master nodes are stateful. Slave nodes are stateless. More precisely, all information required to rebuild a Slave node is stored in the Master node. This may include the URL of a backup service which keeps a online copy of data so that in case of failure of a Slave node, a replacement Slave node can be rebuilt with the same data. It is thus very important to make sure that the state
  • 24. Overview Slave Master What should I be? You must be... Slave node is stateless. Master node is statefull. Slave node asks master Master node knows node anything. everything about slave node. SlapOS.org 6
  • 25. Overview I want ERP5 Here you are. SlapOS.org 7
  • 26. Master node ●Stateful ●Store various data ●User registration ●Computer registration ●Recipe registration ●Computer usage record ●Web management UI ●Implemented on top of ERP5 SlapOS.org 8 Let us now review in more detail the role of the SlapOS master node. SlapOS keeps track of the identity of all parties which are involved in the process of requesting Cloud resources, accounting Cloud resources and billing Cloud resources. This includes end users (Person) and their company (Organisation ). It includes suppliers of cloud resources as well as consumers of cloud resources. It also include so- called computer partitions which may run a software robot to request Cloud resources without human intervention. It also includes Slave nodes which need to request to SlapOS master which resources should be allocated. SlapOS generated X509 certificates for each type of identity: X509 certificates for people like you and me who login, an X509 certificate for each server which contributes to the resources of SlapOS and an X509 for each running software instance which may need to request or notify SlapOS master.
  • 27. Slave Node 1 real computer POSIX Architecture independent Core software Computer partitions(CP) Slapgrid Buildout CP Supervisord CP Software releases(SR) CP XWiki CP KVM SlapOS.org 9 SlapOS Slave nodes are pretty simple compared to the Master node. Every slave node needs to run software requested by the Master node. It is thus on the Slave nodes that software is installed. To save disk space, Slave nodes only install the software which they really need. Each slave node is divided into a certain number of so- called computer partitions. One may view a computer partition as a lightweight secure container, based on Unix users and directories rather than on virtualization. A typical barebone PC can easily provide 100 computer partitions and can thus run 100 wordpress blogs or 100 e-commerce sites, each of which with its own independent database. A larger server can contain 200 to 500 computer partitions. SlapOS approach of computer partitions was designed
  • 28. Setup slave node I want to add a computer to my cloud. GNU / Linux SlapOS.org 10 SlapOS Slave software consists of a POSIX operating system, SlapGRID, supervisord and buildout. SlapOS is designed to run on any operating system which supports GNU's glibc and supervisord. Such operating systems include for example GNU/Linux, FreeBSD, MacOS/X, Solaris, AIX, etc. We hope in the future that Microsoft Windows will also be supported as a host (Microsoft Windows is already supported as a guest) through glibc implementation on windows and a port of supervisord to Windows.
  • 29. Setup slave node Installation done supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 11 SlapOS relies on mature software: buildout and supervisord. Both software are controlled by SlapGRID, the only original software of SlapOS. SlapGRID acts as a glue between SlapOS Master node (ERP5) and both buildout and supervisord. SlapGRID requests to SlapOS Master Node which software should be installed and executed. SlapGRID uses buildout to install software and supervisord to start and stop software processes. SlapGRID also collects accounting data produced by each running software and sends it back to SlapOS Master. Let us now study with more detail the role of supervisord and buildout. Supervisord is a process control daemon. It can be used to programmatically start and stop processes with different users, handle their output, their log files, their errors, etc. It is a kind of much improved
  • 30. Install software release My node supports XWiki and KVM Added software releases KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 12
  • 31. Install service Added services I want 2 KVM and 1 XWiki KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 13
  • 32. Computer Partition Directory ●Dedicated directory Isolated Runtime environment ●Dedicated user Secure container ●Dedicated global Ipv6 ●Dedicated local Ipv4 ●Dedicated network interface(TAP) SlapOS.org 14 Every computer partition consists of a dedicated IPv6 address, a dedicated local IPv4 address, a dedicated tap interface (slaptapN), a dedicated user (slapuserN ) and a dedicated directory (/srv/slapgrid/slappartN). Optionnaly, a dedicated block device and routable IPv4 address can be defined. SlapOS is usually configured to use IPv6 addresses. Although use of IPv6 is not a requirement (an IPv4 only SlapOS deployment is possible) it is a strong recommendation. IPv6 simplifies greatly the deployment of SlapOS either for public Cloud applications or for private Cloud applications. In the case of public Clouds, use of IPv6 helps interconnecting SlapOS Slave Nodes hosted at home without having to setup tunnels or complex port redirections. In the case of private Cloud, IPv6 replaces existing corporate tunnels with a more
  • 33. 3 commands of Slapgrid Request SR Node Master A list of software releases the slave node must have Request CP Node A list of services the slave Master node must have Resource usage report Master UR Node SlapOS.org 15
  • 34. Demonstration ● Slapconsole ● Master node Web UI ● Slave node ● Computer partition SlapOS.org 16
  • 35. More information... ● SlapOS.org ● ViFiB.net ● http://git.erp5.org/gitweb/slapos.git ● https://github.com/SlapOS/slapos SlapOS.org 17
  • 36. Thank you very much SlapOS.org 18