## <b>Swarmlab Hybrid</b> is Swarmlabs younger, more tech savvy brother.
Swarmlab hybrid provides the user with the unique abillity to create Labrooms (or other applications) and share them as project images expanding the simple swarmlab Labrooms to full-blown systems. An all of that <b>using onlly the browser and the command line</b> of their system.
An open source work/study-from-home application.
## Why?
Swarmlab provides you with all the required tools, tools to teach work or try out demos in a completely virtual environment.
Ever imagined having a normal lesson as you would in the University from the comfort of your livingroom?
Ever created a service that you would like to test on a real-world network?
Swarmlab is a collection of services that aims to:
Ever designed an Labroom/application you would like to distribute to your students/applications?
Swarmlab Hybrid comes to bridge the gap between tutor and student, the coder/developer of a service and the and user and at the same time meet the needs for a real-world testing environment.
- provide teachers and professors with online remote tools to do their lessons
With Hybrid we can now as part of the cloud work <b>independantly</b> but also stay <b>connected</b>.
The hybrid format allows us to utilize the power of Swarmlab itself but also combine it with the practiaclly unlimited computing of our own machines.
- give students the opportunity to study real life examples in their chosen area of expertise
- allow developers to fully test and debug their applications and provide POC’s
Swarmlab, up and running since 2020, is already used for teaching purposes in a university and has proven itself as a powerful tool in the post covid remote-based situation.
## How?
Source code is available at https://git.swarmlab.io:3000 under the AGPL licence.
How does Swarmlab Hybrid differ from Swarmlab? Well...its Swarmlab...just....HYBRID!
Easy enough right? But what does that mean in practice?
Well for us it means a couple million more lines of code. For you it means a few more installation steps and the newfound access to YOUR OWN RESOURCES!
You will be connected to the Swarmlab Cloud (hence HYBRID) but you will be able to use your own storage(move files around, delete/copy etc),your own networking and computational power(cpu/graphics etc) and create a system exactly the way you need it.
This way you will be able to :
### Ready to run out-of-the-box
- <b>create</b> images for testing.
- <b>Run</b> them using docker.
- <b>Share</b> them for others to use and develop.
- Finally <b>browse the cloud</b> for shared images to <b>integrate</b> into your project and make it even better.
## Ready to run out-of-the-box
As of now the services provided by swarmlab are:
Normally the docker dataflow is as described in the following images:
- Labrooms(virtual classrooms in the form of model applications to be tweaked at will)
To make the service easier to use we have created an ever-growing database of readilly accessible images you can choose from, thus making the first step optionall!
- MPI → Instances of Ubuntu Linux with MPICH — portable implementation of Message Passing Interface (MPI) standard. Designed for MPI program development and deployment.
## Swarmlab vs Swarmlab Hybrid in a nutshell
- Node.js
### Swarmlab
- sec → a basic linux-based os with security tools – designed as a template for apps
- Ready to use, on demand virtual labs
- Storage to automatically create a cluster of databases.
- Optimized for both Students and Tutors
- Tutors bootstrap their labrooms using our tools
- Proof Of Concept (POC) options
- datacollector → using provided services a fully developed application may collect data from a swarm and use it for further analysis
- Microservices
- Jupyter
- numpy
- scipy
- nodejs
- nginx
- haproxy
- gns3
- wireshark
- snmpsim
- xelatexthesis
- ansible
- etherpad
- codeserver (vscode)
- redisserver
- mongoserver
- mongoclient (GUI)
to be continued…
### Hybrid
- Create Labrooms/Applications
- Run and manage said rooms and application
- create once - scale up or down without rebuilding
- Connect multiple computers through a network.
- Move Labs between environments
- Create your own labs
- open source barebone -> <b>Share them with your friends</b>
### In any case students can:
- join the created labrooms according to their interrests
- run the evailable labs at will
- create their own rooms for exercising
## IMPORTANT
:exclamation: If you wish to use the service in Hybrid mode, that is if you want to share, download or perform other activites on the cloud you will need a <b>KEY</b>. Read installation instructions to learn how to do that.
Local usage of the service <b>doesnt</b> require one, you only need to log in to your account.
## System requirements<aname="systemrequirements"></a>
## System requirements<aname="systemrequirements"></a>