Technical Overview

[section id=”headerpagesite” background=”https://volumio.org/wp-content/uploads/2015/09/technical_overview_volumio_linux.jpg” opacity=”0.9″]

technical overview

[/section]
[section swatch=”swatch-midnightblue” id=”overview1″ opacity=”1″ style=”margin:0 auto;”width=”no-fullwidth” header_size=”h1″ size=”cover”]

architecture overview


[/section]

[section swatch=”swatch-feat5″ id=”overview” width=”no-fullwidth” header_size=”h1″ size=”cover” ]
[row]
[span4]

[/span4][span7]

node js


Node.js powers the whole Volumio2 backend and its server infrastruture. We choose it thanks to superior performances over php (except memory usage, which remains a big concern), its non-blocking nature and its unparalleled rate of growth and community engagement.

On top of that, Node.js (and javascript in general) is a relatively easy to learn language, allowing a wider audience to contribute to the project.

[/span7]
[/row]
[/section]

[section swatch=”swatch-midnightblue” id=”overview1″ opacity=”1″ width=”no-fullwidth” header_size=”h1″ size=”cover”]
[row]
[span7]

socket io


Socket.io is ideal to exchange communications from the Backend to the FrontEnd (UI), since it works on an event basis (much more efficient than the polling method of REST APIs). Plus, it allows to send the same message to a variety of recipients simoultaneously. Last but not least, it’s fast, really fast.

[/span7][span4]

[/span4]
[/row]
[/section]

[section swatch=”swatch-feat5″ id=”overview” width=”no-fullwidth” header_size=”h1″ size=”cover” ]
[row]
[span4]


[/span4][span7]

angular js


There are so many UI frameworks out there, but angular was our choice since its MVC pattern and the availability of documentation and modules made it perfect to develop our state-of-the-art UI.

[/span7]
[/row]
[/section]
[section swatch=”swatch-midnightblue” id=”overview1″ opacity=”1″ width=”no-fullwidth” header_size=”h1″ size=”cover”]
[row]
[span7]

debian


We choose debian because of its unparalleled stability across releases and updates. Since we build Volumio images and instances with an automated build script, a fundamental aspect is across-release compatibility and stability. Since debian doesn’t allow new packages into stable status until they’ve extensively tested, this gives us enough confidence. That would not have been possible using other, usually fast-paced, distributions.

[/span7][span4]

[/span4]
[/row]
[/section]

[section swatch=”swatch-feat5″ id=”overview” width=”no-fullwidth” header_size=”h1″ size=”cover” ]
[row]
[span4]

[/span4][span7]

docker


Our cloud services are operating following the micro-services architecture: small, specialized and isolated utilities that run on isolated and replicable containers. This way, if one service fails, we can restore its operations in seconds, on another servers, and all other services will not be affected.
[/span7]
[/row]
[/section]