Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma...

27
Infrastruktura za moderne aplikacije Dragan Kešelj

Transcript of Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma...

Page 1: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

Infrastruktura za moderne aplikacijeDragan Kešelj

Page 2: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 2

Pre interneta…

Godine 1895, Nikola Tesla i Džordž Vestinghaus grade prvu hidroelektranu na svetu na Nijagarinim vodopadima baziranu na Teslinom pronalasku generatora i sistema prenosa naizmenične struje

Tomas Edison u to vreme vodeći američki pronalazač i industrijalac pokreće marketinšku kampanju kako bi promovisao jednosmernu struju.

Edison bi organizovao javnu egzekuciju životinja kako bi dočarao opasnosti naizmenične struje. Ova kampanja je kasnije dobila naziv "Rat struja"

Page 3: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 3

Infrastruktura

Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za prenos, niskonaponskog sistema i konačno kućnih priključaka.

Na slici je prikazan model trofazne infrastrukture iz Muzeja Nikole Tesle.

Page 4: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 4

Korisnička strana

• Samo dva elementa, sijalica i prekidač• Sa strane korisnika infrastruktura nije bitna

Page 5: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 5

Arhitektura aplikacije

Zone interesa:• Korisnik

• Aplikacija

• Developer• Aplikacija

• Baza

• Korisnik?• OS

• Serveri

Server

Baza

OS

Aplikacija

Page 6: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 6

Virtualizacija

Zone interesa:• Korisnik

• Aplikacija

• Developer• Aplikacija

• Baza

• Cloud usluga• VM

Baza

VM

Aplikacija

Page 7: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 7

Virtualizacija

Problemi

Rešeni◦ Visoka dostupnost

◦ Izolacija

◦ Briga o infrastrukturi

Preostali◦ Aplikacije su se preselile na Internet

◦ Skalabilnost◦ Više instanci

◦ Geografska

◦ Izmena delova sistema po potrebi

◦ Ažuriranje bez prekida u radu (hotswap)

Page 8: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 8

Struktura sistema

Statistics Module

Management Console

Buyers

Seller

SmartCAL

ERP

Odyssey ConnectERP Services

Odyssey

pri

ces,

ava

ilab

ility

, in

voic

es,

art

icle

s, u

pd

ate

s

orders orders

prices, availability,

invoices

prices, availability,

invoices

Page 9: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 9

Korisnici

Colombia

South Africa

United KingdomSlovakia

Croatia

Bosnia and Herzegovina

Serbia

Greece

Macedonia

MontenegroEl Salvador

Ireland

Page 10: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

· Premium support · Monitoring centre · 24/7 critical support ·

2019 10

Customer care

QUANTUM-AutoMARKET

Page 11: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

Docker

Mikro servisi

2019 QUANTUM - AutoMARKET 11

Moderna infrastruktura

DB servis

Hardverski sloj

App 1

Softver kao servis SaaS

Redis / State Storage

X86Int/AMD

ARM GPU Risc V ASIC FPGA

Virtualizacija

Multicloud

AWS Azure VMWare LocalGoogle COMING

Login

Kubernetes

App 2

Page 12: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 12

Moderna infrastruktura

Page 13: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 13

Mikroservisi

Prednosti MS arhitekture

◦ Mali timovi

◦ Nezavisna od razvojnog jezika

◦ Lokalizacija problema

◦ Skalabilnost sistema

◦ Na nivou mikroservisa

◦ Mikroservisi mogu imati druge mikroservise kao izvor podataka

Page 14: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 14

Netflix mikroservis arhitektura

Page 15: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 15

Kubernetes

Hosting mikroservisa

◦ Najefikasniji hosting mikroservisa je u kontejneru

◦ Za automatizaciju, redudantnost i skalabilnost koristimo Kubernetes

Page 16: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 16

Kubernetes

Šta je Kubernetes – K8s

Kubernetes predstavlja set gradivnih blokova koji zajedno obezbeđuju mehanizme za:

◦ Publikaciju (Depoyment)

◦ Održavanje

◦ Skaliranje aplikacija

Bazirano na potrebama za procesorskim vremenom, memorijom ili korisničkom metrikom

Page 17: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 17

Kubernetes - Rečnik

◦ Pod◦ Pokreće jedan ili više kontejnera

◦ Kontejner sadrži kopiju mikroservisa

◦ Nod - Host◦ Komunicira sa masterom

◦ Pokreće i održava u životu podove

◦ Master◦ Kontroliše klaster i nodove na njemu

◦ Servis◦ Prihvata zahteve

◦ Tipično ima ulogu load balancer-a

◦ Deployment◦ Definiše željeno stanje aplikacije –

Kubernetes radi ostalo

Page 18: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 18

Kubernetes

Hosting mikroservisa – K8s POD

◦ Najmanja jedinica za deployment

◦ Predstavlja grupu usko vezanih kontejnera

◦ Može sadržati jedan ili više kontejnera

◦ Dele mrežni i pristup podacima

◦ Imaju rutabilnu IP adresu

◦ Smrtni su!

Page 19: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 19

Kubernetes

Hosting mikroservisa – Kada se sve spoji:Developer postaje hosting provajder!

Page 20: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 20

Automatizacija

Primer – K8s deployment

Yaml skripta za kreiranje K8s klastera:

◦ Definiše “desired state”

◦ Pristupna adresa/port

◦ Broj instanci

◦ Verzija aplikacije

◦ Verzija okruženja

Page 21: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 21

Automatizacija

Infrastructure as a Code - IaC

◦ Developer opisuje željeno stanjesistema

◦ K8s automatski obezbeđuje:◦ Load balancing

◦ Skalabilnost

◦ Redudantnost

◦ Zaštitu od otkaza

Page 22: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 22

Kubernetes

Page 23: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 23

Moderne baze podataka – DB as a Service

Hyperscale SQL◦

Page 24: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 24

Strategije

◦Strategije za Deployment◦ CI/CD◦ Automatizovana distribucija (deployment)◦ Definisanje hardverskog okruženja kroz skripte

◦Strategije za aplikacije◦ Mikroservisi (nezavisni od OS - .NET Core)◦ Kubernetes (za orkestraciju)

◦Strategije za baze podataka◦ DB as a Service - Hyperscale DB◦ Kubernetes friendly DB – MongoDB, Elastic Search, Cassandra

Page 25: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 25

Pouka

Perspektive se razlikuju!

Page 26: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

2019 QUANTUM - AutoMARKET 26

Pouka

• Softver se više ne dizajnira

prema okruženju, već okruženje

prema potrebama softvera!

• Prvi put u istoriji smo došli do

infrastrukture stvorene baš za

developera - IaC.

• Ovo je početak nove ere u

razvoju softverskih rešenja.

Page 27: Infrastruktura za moderne aplikacije Dragan Kešelj...Infrastruktura je za to vreme bila veoma komplikovana i sastojala se od: generatora, transformatora, visokonaponskog sistema za

Hvala na pažnji!

2019 27

QUANTUM – AutoMARKET d.o.o.Toše Jovanovića 7

11030 Beograd / Belgrade

Srbija / Serbia

Tel: +381 (0)11 2310 145

+381 (0)11 2310 182

Email: [email protected]

[email protected]: www.AutoMARKET.rs