25
Okruženje za Cloud Native aplikacije Kubernetes i Docker u Coming Cloudu Nevena Krunić

Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Okruženje za Cloud Native aplikacije

Kubernetes i Docker u Coming Cloudu

Nevena Krunić

Page 2: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

● Kontejneri

● Docker

● Mikroservisi

● Kubernetes

● Cloud Native Applications● Machine learning

● Big Data

● Blockchain

● …

“Buzzwords”

Aktuelne teme u svetu razvoja aplikacija

Page 3: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Cloud Native Aplikacije

• Aplikacije “rođene u oblaku”

• Izmeštanje aplikacija na Cloud platformu omogućava:

▪ Fleksibilnost

▪ Skalabilnost

▪ Inovativnost

• Međutim Cloud Native postavlja određene izazove i specifične

zahteve u pogledu samog razvoja aplikacije

Page 4: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Nove paradigme arhitekture

aplikacija

Mikroservisna vs monolitna arhitektura aplikacija

- Mikroservisi

Page 5: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

● Kontejneri

● Docker

● Mikroservisi

● Kubernetes

● Cloud Native Applications

“Buzzwords”

Aktuelne teme u svetu razvoja aplikacija

Page 6: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kontejneri

?

Page 7: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kontejneri - šta su zapravo

● Virtuelizovana sredina na nivou operativnog sistema

● Koriste zajednički kernel operativnog sistema

● Omogućavaju izvršavanje procesa sa zasebnim mrežnim

i memorijskim resursima

Page 8: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Gde su kontejneri u pogledu razvoja

aplikacija?● Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom i

izvršnim okruženjem

● Na taj način zapakovane celine „selimo“ kroz različita okruženja, bez uticaja na

njeno ispravno funkcionisanje

Page 9: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

• Docker - najšire zastupljen alat

Docker na klijentskim mašinama

1. Docker za Linux

2. Docker za Windows

3. Docker za MacOS

Kako developeri rade sa kontejnerima?

Page 10: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

• Docker host na serveru

1. On-prem server

2. Cloud server

Coming Cloud!

A šta dalje?

Page 11: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Orkestracija kontejnera

Kako organizovati servise aplikacije upakovane

u kontejnere?

Orkestracija!

Page 12: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Orkestracija kontejnera

● Tehnologija “Sledeće generacije”

● Omogućava organizaciju, uvezivanje i

olakšano skaliranje servisa

zapakovanih u kontejnere

Page 13: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

● Kontejneri

● Docker

● Mikroservisi

● Kubernetes

● Cloud Native Applications

“Buzzwords”

Aktuelne teme u svetu razvoja aplikacija

Page 14: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kubernetes

● Najpopularnije rešenje za orkestraciju kontejnera

● Razvijen od strane kompanije Google

● On prem

● Cloud bazirano rešenje

Page 15: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kubernetes - Arhitektura

● Gradivne jedinice

➢ Pod

➢ Node

➢ Klaster

Page 16: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kubernetes - Arhitektura

Glavne komponente :

•etcd (Distributed key/value store)

•kubernetes master (Controller Manager, Scheduler and API Server)

•kubernetes worker nodes (kubelet, proxy and runtime)

Page 17: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kubernetes - Arhitektura

● Kako bi postigli redundansu i napravili otpornije na otkaze, u

okviru Cloud platforme napravili bi možda ovakvo okruženje:

Cloud Platform

Page 18: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Coming vCloud CSE

● Container Service Extension

● Nadograđuje se na vCloud Director rešenje, koje se u

pozadini oslanja na vSphere i NSX platformu

Page 19: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

vCloud CSE

Page 20: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom
Page 21: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kako korisnik ovo vidi?

Page 22: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kako Developer /DevOps

ovo vidi?

Page 23: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Kako SysAdmin / DevOps

inženjer ovo vidi?

CSE servisi dostupni su posredstvom APIja koje

obezbeđuje vCloud direktor.

vcd-cli !

Korisnik na ovaj način može da:

● Kreira Kubernetes klaster

● Izlista dostupne klastere

● Rekonfiguriše / skalira postojeći klaster

● Izbriše klaster

Page 24: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

~Suma Sumarum

Coming Cloud – okruženje u kome se može naći:

● Docker host

● Kubernetes Cluster

● Standardno okruženje sa VM

● Mix & Match

Page 25: Okruženje za Cloud Native aplikacije · 2019-10-10 · Gde su kontejneri u pogledu razvoja aplikacija? Omogućuju nam da “upakujemo” mikroservise sa potrebnom konfiguracijom

Hvala na pažnji!