SlapOS Node Internals Explained

This guide will teach you:

IPv4

Currently the most popular version of Internet is IPv4.

It has quite a limited address space (much less than 32 bits) as it was created before the Internet boom.

From another point of view it is the most supported protocol - by servers, clients, web browsers.

IPv6

IPv6 is the next generation IP protocol which is supposed to be the new internet standard.

It has a very big address space

- about 2^128 addresses are possible.

It dropped from many simplifications which were found in previous IPv4 protocol specification, and aims to support the current and future internet

- with all devices being connected and uniquely identified.

Unfortunately its adoption is slow

- especially in higher level applications (like PHP WordPress, Zope, etc).

Server applications and the core of operating systems support IPv6 quite correctly.

Why IPv6 for SlapOS

SlapOS being a modern technology has chosen to use IPv6 at its hearth, as this is the future.

Having so many IP addresses to choose from simplify application deployment.

In order to provide compatibility with applications not supporting IPv6 SlapOS allows the use of many tools

- like tunnels

- to provide “small IPv4 virtual networks”.

Slapos Node

So what is a SlapOS node? It is a computer (real or virtualised) which is connected to an IPv6 network

- again real or tunnelled

It contains 200 so called Computer Partitions, by default.

It uses machine's RAM, CPU and hard disk in order to deploy and provide deployed applications.

It is controlled by a SlapOS Master.

Slapos.org is Vifib provided SlapOS master, but as its source code is open (GPL), anyone can setup his own SlapOS cluster.

Vifib is currently present in several countries (France, Japan, more and more...)

Computer partitions

Computer partition is a slot on which software can be deployed.

In SlapOS it has at least one publicly available IPv6 address and can have IPv4 addresses (internal or external ones).

Different processes can be run at the same time in a Computer Partition (example : Apache process AND MySQL process)

SlapOS Web Runner provides two Computer Partitions.

Computer partitions can be requested, using slap.request method.

This is one of most important features of SlapOS, which is described in a different presentation.