Documente Academic
Documente Profesional
Documente Cultură
CURSUL 01 INTRODUCERE
I. Descrierea disciplinei
II. Introducere în Cloud Computing
III. Containerizare și Docker
2
I
Descrierea disciplinei
Desfășurarea orelor
Cursul – 2h la fiecare două săptămâni
Laboratorul – 2h în fiecare săptămână (obligatoriu)
Titulari de disciplină
Ș.l. dr. ing. Adrian ALEXANDRESCU
Ș.l. dr. ing. Cristian Nicolae BUȚINCU
3
I
Metode de evaluare
4
I
Descrierea cursului
5
II
Introducere în Cloud Computing
1. Scurt istoric
2. Definiții
3. Motivații și avantajele Cloud
4. Resurse IT
5. Provizionare Cloud
6
II
Scurt Istoric
8
II
Scurt Istoric
9
II
Scurt Istoric
10
II
Scurt Istoric
11
II
Definiții
12
II
Definiții
13
II
Definiții
14
II
Definiții
15
II
Definiții
16
II
Definiții
GARTNER - 2008
“Cloud computing is a style of computing in which scalable
and elastic IT-enabled capabilities are provided as a service
using Internet technologies to multiple external customers.”
17
II
Definiții
18
II
Definiții
19
II
Motivații și avantaje cloud
20
II
Motivații și avantaje cloud
2. Fiabilitate
Redundanța este asigurată de furnizorul de cloud
Costul investiției realizate de furnizorul de cloud în
redundanță este distribuit pe întreaga sa bază de
clienți
22
II
Motivații și avantaje cloud
23
II
Motivații și avantaje cloud
4. Virtualizarea
Infrastructura IT bazată pe cloud poate fi virtualizată
și dislocată geografic
Startup-urile nu sunt obligate să ia în considerare
locația fizică a infrastructurii sale IT și a centrelor de
date în deciziile de operare a afacerilor
24
II
Motivații și avantaje cloud
5. Agilitatea organizațională
Companiile au nevoie de capacitatea de a se adapta și
de a evolua pentru a face față cu succes schimbărilor
cauzate atât de factori interni cât și externi.
Agilitatea organizațională este măsura receptivității
unei organizații la schimbări.
Presupune îmbunătățirea resurselor IT dincolo de
sfera celor prevăzute anterior sau planificate
25
II
Resurse IT
Source: https://patterns.arcitura.com/cloud-computing-patterns/basics/basic-concepts-and-terminology/it_resource 26
II
Resurse IT
Servere virtuale
Servicii
Dispozitive de
stocare
27
II
Resurse IT
Scalare
capacitatea resursei IT de a gestiona cererile de
utilizare crescute sau diminuate
Tipuri de scalare
Scalare pe orizontală (en., horizontal scaling)
scaling out – scaling in
Scalare pe verticală (en., vertical scaling)
scaling up – scaling down
28
II
Resurse IT
Scalare pe orizontală
Alocarea sau eliberarea de resurse IT de același tip
Source: https://patterns.arcitura.com/cloud-computing-patterns/basics/basic-concepts-and-terminology/scaling 29
II
IT Resources
Scalarea pe verticală
Modernizarea sau înlocuirea unei resurse IT cu o alta
de capacitate mai mare sau mai mică
Source: https://patterns.arcitura.com/cloud-computing-patterns/basics/basic-concepts-and-terminology/scaling 30
II
Provisionare Cloud
31
III
Containerizare și Docker
1. Docker
2. Container
3. Container vs. Mașină virtuală
4. Containerizare
5. Automatizare vs. Orchestrare
6. Orchestrare
7. Kubernetes
8. Docker Swarm
9. Kubernetes vs. Docker Swarm
10. Ansible
32
III
Docker
Docker
Un instrument conceput pentru a facilita crearea,
implementarea și rularea aplicațiilor utilizând containere.
Container
Permite unui dezvoltator să împacheteze o aplicație cu
toate componentele de care are nevoie, cum ar fi
bibliotecile și alte dependențe, și să le expună pe toate ca
un singur pachet.
Containerizarea
Implică încapsularea unei aplicații într-un container cu
propriul său mediu de operare.
33
III
Docker
Source> https://blog.usejournal.com/what-is-docker-in-simple-english-a24e8136b90b 34
III
Container
Container
Un proces care rulează cu funcții de încapsulare
adăugate.
Este ținut izolat de gazdă și de alte containere.
Fiecare container interacționează cu propriul sistem
de fișiere private; acest sistem de fișiere este furnizat
de o imagine Docker.
O imagine include tot ceea ce este necesar pentru a
rula o aplicație - codul sau codul compilat, rulările,
dependențele și orice alte obiecte ale sistemului de
fișiere necesare.
35
III
Container vs. Mașină virtuală
36
III
Container vs. Mașină virtuală
Source: https://www.electronicdesign.com/technologies/dev-tools/article/21801722/whats-the-difference-between-containers-and-virtual-machines 37
III
Containerizare
38
III
Containerizare
39
III
Containerizare
40
III
Automatizare vs. Orchestrare
41
III
Automatizare vs. Orchestrare
42
III
Orchestrarea
Orchestratori
Instrumente pentru gestionarea, scalarea și
întreținerea aplicațiilor containerizate
Exemple: Ansible, Kubernetes, Docker Swarm
43
III
Kubernetes
44
III
Kubernetes
Pod-uri
grupuri de containere localizate care împărtășesc
unele resurse
Deployment-uri
grupuri scalabile de pod-uri menținute automat de
Kubernetes
Fișiere Kubernetes YAML
descrie toate componentele și configurațiile aplicației
dvs. Kubernetes și poate fi folosită pentru a crea și
distruge aplicația cu ușurință
45
III
Docker Swarm
46
III
Docker Swarm
Servicii
grupuri scalabile de containere cu funcții de rețea
adăugate care sunt întreținute automat de Swarm.
Fișiere stack (Fișiere YAML)
descrie toate componentele și configurațiile aplicației
Swarm și poate fi folosită pentru a crea și distruge
aplicația cu ușurință în orice mediu Swarm.
47
Kubernetes vs. Docker Swarm
Kubernetes
planificarea și rețeaua (en., scheduling and
networking) sunt gestionate separat:
deployment-urile (sau alte controlere) gestionează
planificarea containerelor ca pod-uri
serviciile sunt responsabile numai de adăugarea funcțiilor
de rețea la aceste pod-uri
Docker Swarm
un serviciu oferă atât facilități de planificare, cât și de
rețea, crearea de containere și furnizarea de
instrumente pentru dirijarea traficului către acestea
48
III
Ansible
49
III
Ansible
50
III
Ansible
51
III
Ansible
Module Ansible
mici programe scrise pentru a fi modele de resurse
ale stării dorite a sistemului
sunt executate de Ansible prin SSH și eliminate după
terminare
52
53
References
54