|
|
|
= 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}
|
|
|
|
|
|
|
|
|
|
|
|
* (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*
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|