zeus
4 years ago
6 changed files with 5651 additions and 0 deletions
After Width: | Height: | Size: 42 KiB |
@ -0,0 +1,174 @@ |
|||
= Cloud computing - Service mesh and microservices networking! |
|||
Apostolos rootApostolos@swarmlab.io |
|||
// Metadata: |
|||
:description: Dockerfile instructions |
|||
:keywords: Dockerfile |
|||
ifndef::env-browser[] |
|||
:data-uri: |
|||
endif::[] |
|||
:images-cdn: http://localhost:3080/images |
|||
:toc: right |
|||
:toc-title: Table of contents |
|||
:toclevels: 4 |
|||
:source-highlighter: highlight |
|||
:no-header-footer: |
|||
:nofooter: |
|||
:last-update-label!: |
|||
:icons: font |
|||
:sectnums: |
|||
:url_mongodb: https://en.wikipedia.org/wiki/MongoDB |
|||
|
|||
|
|||
|
|||
.Service mesh and microservices networking |
|||
**** |
|||
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. |
|||
|
|||
.Architecture of swarm communication |
|||
image:./swarmlabn-1.png[alt="Swarm Gateway"] |
|||
|
|||
- Red Node: Server/Client and Gateway Role |
|||
- Black and Red Node: Client Role |
|||
==== |
|||
|
|||
|
|||
|
|||
*To make our life easier at this task we will be using the following tools...* |
|||
|
|||
* Docker image:link_icon_16.png[link="https://en.wikipedia.org/wiki/Docker_(software)",window=_blank] |
|||
* Ansible image:link_icon_16.png[link="https://en.wikipedia.org/wiki/Ansible_(software)",window=_blank] |
|||
* NodeJS image:link_icon_16.png[link="https://en.wikipedia.org/wiki/Node.js",window=_blank] |
|||
* VueJS image:link_icon_16.png[link="https://en.wikipedia.org/wiki/Vue.js",window=_blank] |
|||
* Redis image:link_icon_16.png[link="https://en.wikipedia.org/wiki/Redis",window=_blank] |
|||
* MongoDB image:link_icon_16.png[link="https://en.wikipedia.org/wiki/MongoDB",window=_blank] |
|||
|
|||
**** |
|||
|
|||
== General info: |
|||
|
|||
=== Timeframe: |
|||
This is a project that will be deleveloped thoughout the semester 2021. |
|||
|
|||
=== What will i learn? |
|||
You will learn to code, coordinate and orchestrate a swarm of self-acting nodes. |
|||
|
|||
=== What tools will I need |
|||
|
|||
Internet και ένα laptop ή σταθερό υπολογιστή |
|||
|
|||
tools klp lai oti allo softwariko tha to kanpume mazi kata tin anaptixi |
|||
|
|||
gia to synolo ton tools |
|||
Please reffer to the tools section below. |
|||
|
|||
=== What students can take this course |
|||
Any student with basic knowledge of networking and computer programming should be able to cope with the needs. |
|||
|
|||
=== How is the course going to take place |
|||
|
|||
The course will be divided into following parts |
|||
|
|||
* A list of videos, asciinemas and instructions explaining the project |
|||
|
|||
* lectures BASED ON THE VIDEOS for deeper analysis and questions |
|||
|
|||
* and a Gitter for further conversations kai na λύσεις οποιαδήποτε απορία σου απευθείας |
|||
|
|||
=== 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 |
|||
|
|||
==== create replicas |
|||
|
|||
* Replication in MongoDB |
|||
* Change Streams |
|||
** work with the change stream cursor. |
|||
** Watch Collection/Database/Deployment etc |
|||
|
|||
|
|||
=== central web admin interface |
|||
|
|||
Create a CRUD App |
|||
|
|||
==== vuejs |
|||
|
|||
Create single-page application |
|||
|
|||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
After Width: | Height: | Size: 26 KiB |
Loading…
Reference in new issue