We will be trying to create a swarm implementation that will allow communication between all of the members/nodes.
[NOTE]
====
.Imaging a swarm
image:./Swarming2.png[alt="Swarm"]
To undertand this better lets look at the picture bellow and imagine that red dots are iot devices that can send and receive and black ones are clients that gather data.
* You can also see detailed information about the sessions etc in the *callendar* (main page of the swarmlab client) after installation (see section "What tools will I need")
* For any questions you can visit our community page on https://gitter.im/swarmlab-hybrid/community[gitter^]
* If none of the above solved your problem, you can always use good old-fashioned mailto:support@swarmlab.io[email!]
You should also have *installed swarmlab* to be able to recreate the steps and if you wish contribute to projects and communicate with your schoolmates.
=== Will there be some kind of exam/certificate? What will i gain?
* The will NOT be an exam or certificate.
* You will gain contributions in form of commits and merge requests into larger projects, which you can then add to your C.V. and upgrade it.
TIP: Just to give some context, *contribution of code is regarded as the most important factor when choosing a software engineer*, thus making the course very helpful for future employment
== Course Description
=== Cloud & microservice
==== docker app
The section guides you through the following activities:
* Create a Dockerized Sample application
* Start an app container
==== docker swarm
The section guides you through the following activities:
* initializing a cluster of Docker Engines in swarm mode
* adding nodes to the swarm
* deploying application services to the swarm
* managing the swarm once you have everything running
==== Orchestration
The section guides you through the following activities:
* scale our containerized applications across clouds and datacenters
=== Administer and maintain a swarm of Docker Engines
==== manager nodes
==== Monitor swarm health
==== Scheduling Services on a Docker Swarm Mode Cluster
* Scheduling Preferences
* Rescheduling on Failure
==== ansible
* Using ansible to perform operations on managed nodes aka Configurations, deployment, and orchestration/automation
* Deploying Docker Containers with Ansible
=== Create service on nodes
This section includes Docker images and an application for Node development using containers.
Create Real-time Application with
* Node.js
* Express.js
* Socket.io
* Redis
=== Monitoring - service applications communication
==== Real-Time data/Log Collection
=== create noSQL DB (mongo cluster)
A replica set is a group of mongod processes that maintain the same data set