SlapOSDistributed Cloud ComputingYusei Tahara<yusei@nexedi.com>           Nexedi KK                            SlapOS.org
What does SlapOS do actually?●   Managing computers●   Building software●   Deploying software●   Managing processes●   Co...
Introduction and              why we develop it?●   We are ERP solution provider.●   Our customers need solid system.●   S...
Master and Slaves                     One master node           Slave nodeSlave node    Slave node                        ...
Overview                                      SlapOS Master                                 System for managing cloud     ...
Overview         Slave                                     Master                           What should I be?             ...
OverviewI want ERP5              Here you are.                              SlapOS.org
Master node       ●Stateful       ●Store various data       ●User registration       ●Computer registration       ●Recipe ...
Slave Node                        1 real computer                             POSIX                    Architecture indepe...
Setup slave nodeI want to add a computer       to my cloud.                           GNU / Linux                         ...
Setup slave nodeInstallation done                     supervisord                      Buildout                      SLAPG...
Install software releaseMy node supports XWiki and KVM                     Added software                                 ...
Install service                                         Added servicesI want 2 KVM and1 XWiki                             ...
Computer PartitionDirectory                               ●Dedicated directory                               ●Dedicated us...
3 commands of Slapgrid                     RequestSR   Node                                     Master            A list o...
Demonstration●   Slapconsole●   Master node Web UI●   Slave node●   Computer partition                                  Sl...
More information...●   SlapOS.org●   ViFiB.net●   http://git.erp5.org/gitweb/slapos.git●   https://github.com/SlapOS/slapo...
Thank you very much                      SlapOS.org
SlapOSDistributed Cloud ComputingYusei Tahara<yusei@nexedi.com>           Nexedi KK                               SlapOS.o...
What does SlapOS do actually?●   Managing computers●   Building software●   Deploying software●   Managing processes●   Co...
Introduction and              why we develop it?●   We are ERP solution provider.●   Our customers need solid system.●   S...
Master and Slaves                                   One master node           Slave node              Slave node          ...
Overview                                             SlapOS Master                                        System for manag...
Overview         Slave                                     Master                           What should I be?             ...
OverviewI want ERP5              Here you are.                                  SlapOS.org                              7
Master node                               ●Stateful                               ●Store various data                     ...
Slave Node                                     1 real computer                                          POSIX             ...
Setup slave node       I want to add a computer              to my cloud.                                  GNU / Linux    ...
Setup slave node          Installation done                               supervisord                                Build...
Install software releaseMy node supports XWiki and KVM                         Added software                             ...
Install service                                              Added servicesI want 2 KVM and1 XWiki                        ...
Computer Partition            Directory                                           ●Dedicated directory            Isolated...
3 commands of Slapgrid                     RequestSR   Node                                     Master            A list o...
Demonstration●   Slapconsole●   Master node Web UI●   Slave node●   Computer partition                                    ...
More information...●   SlapOS.org●   ViFiB.net●   http://git.erp5.org/gitweb/slapos.git●   https://github.com/SlapOS/slapo...
Thank you very much                           SlapOS.org                      18
Upcoming SlideShare
Loading in …5
×

SlapOS Presentation at VW2011 Seoul

579 views
506 views

Published on

Yusei Tahara Monday 28th Nov 2011 at Seoul I talked about SlapOS, hosted by ETRI and organized by CCR (Consortium of Cloud Computing Research), 한국클라우드컴퓨팅연구조합. Original document can be found on Nexedi KK web site (http://www.nexedi.co.jp/NXD-Yusei.Tahara.ETRI.2011.Announcement)

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
579
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

SlapOS Presentation at VW2011 Seoul

  1. 1. SlapOSDistributed Cloud ComputingYusei Tahara<yusei@nexedi.com> Nexedi KK SlapOS.org
  2. 2. What does SlapOS do actually?● Managing computers● Building software● Deploying software● Managing processes● Collecting usage● Pricing and invoicingSlapOS automates administration tasks. SlapOS.org
  3. 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. 4. Master and Slaves One master node Slave nodeSlave node Slave node Slave node Slave node Slave node SlapOS.org
  5. 5. Overview SlapOS Master System for managing cloud Web interface availableA real computer used Master itself is distributedas a part of cloud Cloud operating tool Master Client Slave Slap protocol Slap protocol slapconsole slapgridOffice Slap protocol Slave Client slapgrid slapconsole Slave Home slapgrid Data center SlapOS.org
  6. 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 knowsnode anything. everything about slave node. SlapOS.org
  7. 7. OverviewI want ERP5 Here you are. SlapOS.org
  8. 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. 9. Slave Node 1 real computer POSIX Architecture independent Core software Computer partitions(CP) Slapgrid Buildout CP Supervisord CPSoftware releases(SR) CP XWiki CP KVM SlapOS.org
  10. 10. Setup slave nodeI want to add a computer to my cloud. GNU / Linux SlapOS.org
  11. 11. Setup slave nodeInstallation done supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  12. 12. Install software releaseMy node supports XWiki and KVM Added software releases KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  13. 13. Install service Added servicesI want 2 KVM and1 XWiki KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org
  14. 14. Computer PartitionDirectory ●Dedicated directory ●Dedicated userIsolated Runtime environmentSecure container ●Dedicated global Ipv6 ●Dedicated local Ipv4 ●Dedicated network interface(TAP) SlapOS.org
  15. 15. 3 commands of Slapgrid RequestSR Node Master A list of software releases the slave node must have RequestCP Node A list of services the slave Master node must have Resource usage report MasterUR Node SlapOS.org
  16. 16. Demonstration● Slapconsole● Master node Web UI● Slave node● Computer partition SlapOS.org
  17. 17. More information...● SlapOS.org● ViFiB.net● http://git.erp5.org/gitweb/slapos.git● https://github.com/SlapOS/slapos SlapOS.org
  18. 18. Thank you very much SlapOS.org
  19. 19. SlapOSDistributed Cloud ComputingYusei Tahara<yusei@nexedi.com> Nexedi KK SlapOS.org 1
  20. 20. What does SlapOS do actually?● Managing computers● Building software● Deploying software● Managing processes● Collecting usage● Pricing and invoicingSlapOS automates administration tasks. SlapOS.org 2
  21. 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. 22. Master and Slaves One master node Slave node Slave node Slave node Slave node Slave node Slave node SlapOS.org 4SlapOS 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. 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 5Slave 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. 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 knowsnode anything. everything about slave node. SlapOS.org 6
  25. 25. OverviewI want ERP5 Here you are. SlapOS.org 7
  26. 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 8Let 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. 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 9SlapOS 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. 28. Setup slave node I want to add a computer to my cloud. GNU / Linux SlapOS.org 10SlapOS Slave software consists of a POSIX operating system, SlapGRID, supervisord and buildout.SlapOS is designed to run on any operating system which supports GNUs 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. 29. Setup slave node Installation done supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 11SlapOS 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. 30. Install software releaseMy node supports XWiki and KVM Added software releases KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 12
  31. 31. Install service Added servicesI want 2 KVM and1 XWiki KVM XWiki supervisord Buildout SLAPGrid GNU / Linux SlapOS.org 13
  32. 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 14Every 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. 33. 3 commands of Slapgrid RequestSR Node Master A list of software releases the slave node must have RequestCP Node A list of services the slave Master node must have Resource usage report MasterUR Node SlapOS.org 15
  34. 34. Demonstration● Slapconsole● Master node Web UI● Slave node● Computer partition SlapOS.org 16
  35. 35. More information...● SlapOS.org● ViFiB.net● http://git.erp5.org/gitweb/slapos.git● https://github.com/SlapOS/slapos SlapOS.org 17
  36. 36. Thank you very much SlapOS.org 18

×