= project structure  and technologies  used


== Dynamic Structure

[.float-group]
--
[.right]
image::ROOT:swarm-poc.png[float=right]

:hardbreaks:

{empty} +
{empty} 

:!hardbreaks:

.From -> To

* [*] monolithic -> networking architecture
* [*] static -> Dynamic
* [*] host based -> Service based 
* [*] linear -> agile
--

TIP: You will learn to code, coordinate and orchestrate a swarm of self-acting nodes.

== Dynamic Instaces





[.float-group]
--
[.right]
image::ROOT:docker-images.png[210,260,float=right]

:hardbreaks:


{empty} +
{empty} 

:!hardbreaks:

Server instances are *platform agnostic container-based applications.*

To build a large - scale distributed application we take advantage of standardized code deployments using Docker containers.


Docker-based applications can be seamlessly moved from local development machines to production deployments

{empty} +
--


== Dynamic networks - Swarm


[.float-group]
--
[.left]
image::ROOT:gynamic-swarm.png[320,540,float=right]

{empty} +

*From Code to full-blown systems*

* from a single container on your local machine

* to a running cloud native - container-based environment

* in the simplest and most logical format as possible.

:hardbreaks:



{empty} +
{empty} 
{empty} 
{empty} 
{empty} 

 Services in a dynamic and Scalable Distributed Architecture

{empty} 
--

== Datacollector structure


[.float-group]
--
[.right]
image::ROOT:swarm-poc1.png[230,280,float=right]

:hardbreaks:


{empty} +
{empty} 

:!hardbreaks:

* (red)   Redisserver

** redis sync for readmongo_service and dummy_service

* (blue)  readmongo_service 

** reads data from mongodb (Rest api)

*** 1. Webclient -> readmongo_service

*** 2. readmongo_service <- mongo

*** 3. webclient <- readmongo_service

** reads data from mongodb (socket)

*** Webclient <--> readmongo_service <--> redis <--> readmongo_service <--> mongo

* (green) dummy_service

** IoT devive or App -> mongo



TIP: *(red), (blue) and (green) are scalable microservices*

--





