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