upravljanjein analitikainfrastrukturnihrešitevv okoljuapi ... · devops„programmability“...

43
Upravljanje in analitika infrastrukturnih rešitev v okolju API vmesnikov in mikrostoritev SRC Bojan Bunić, sistemski inženir (odprtokodne rešitve) Simon Simčič, arhitekt IT rešitev (analitika in varnost) Cisco Connect Slovenija 2019

Upload: others

Post on 10-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Upravljanje in analitika infrastrukturnih rešitev v okolju API vmesnikov in mikrostoritevSRC

Bojan Bunić, sistemski inženir (odprtokodne rešitve)

Simon Simčič, arhitekt IT rešitev (analitika in varnost)Cisco Connect Slovenija 2019

Page 2: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Prehod v svet mikrostoritev, vsebnikov in orkestracije pred varnostne centre postavlja nekaj

novih izzivov upravljanja identitete in varnega dostopa.

SRC JE IT PODJETJE, KI DIGITALNO TRANSFORMIRA KORPORACIJE, FINANČNE

INSTITUCIJE IN JAVNO UPRAVO.

Mikrostoritve in obvladovanja varnosti v okoljih dostopnih preko API vmesnikov

Page 3: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Prehod iz monolitnih aplikacij na mikrostoritve, API vmesnike in vsebnike.

#1

Page 4: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsi moduli v eni aplikaciji

Izpad celotne aplikacije pri nadgradnjah

Težje vzdrževanje

Razširljivost celotne aplikacije

Iz monolitnih aplikacij do mikrostoritev

Page 5: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Mikrostoritve in API vmesniki

Posamezni moduli celotne storitve

Moduli komunicirajo med sabo z API vmesniki

Vsak modul svoj API vmesnik, „API gateway“

Razširljivost posameznega modula

Page 6: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

API vmesniki v mrežnem okolju

*API v transportnih različicah REST / NETCONF standardizira komunikacijo.

API programabilni vmesnik („Application Programming Interface“)

Skupek funkcijskih klicev in programabilnih blokov

Spreminja se način upravljanja, ki preko programskih mehanizmov komunicira z ravnmi infrastrukture.

Page 7: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Machine-to-Machine (Instance of Services )

Non-programmableelements:

Access ProtocolsCommand (Line) Parser

Device Features & Protocols, Virtualized Services, Interpreters

Programmable elements:Access Protocols / API Interfaces

Object Data Models Engine(Open/Native – Configiration/Operation)

Datastores

SSH/Telnet, GUI-http,… API REST function JSON http(s)API NETCONF object XML rpc/ssh

API RESTCONF object XML/JSON http(s)

Human-to-Machine(Command Lines)

API programabilni vmesnik

Page 8: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Namesto obravnave posameznih naprav „collection of devices«, obdelava transakcij modeliranih storitev »infrastructure as a model«.

Ukaz CLI/SSH vrne odziv v obliki teksta, API-klic v formatu XML/JSON –ni konsistence, vrnjeni zapis je odvisen od programske opreme in proizvajalca.

Modelirane storitve („data object“) za standardizirajo interpretacijo YANG „language“ kot template za generiranje konsistentnih (Open-IETF/Openconfig; Native/Vendor) XML/JSON zapisov storitev.

SNMP

MIB

Yang

XML/JSON

Data Model:StructureSyntaxSemantics

InformationModel:RelationshipsAbstractAPI system

HTTP/RPC „client-server /stateless ortransactions“

API

GET

PUT

POST

DELETE

GET

GET_CONF

EDIT-CONF

Retrive

Update

Create

Delete COPY, DELETE ..etc

Page 9: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Aplikacije v virtualiziranih okoljih / v vsebnikih (Docker)

Page 10: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki („Containers“)

Vsebniki („containers“) so po naravi izolirani in brez stanja („stateless“).

Minimalne verzije vsega – okolja, aplikacijskega strežnika, aplikacije, …

Prednosti:• Hitrejši in poenostavljen „deploy“, „upgrade“• V vsebnik zapakiramo vse potrebno za poganjanje aplikacij• Neodvisnost od verzije OS, podpornih knjižnic• Lažji „scaling“

Page 11: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki in orkestracija

Page 12: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki in orkestracija

Page 13: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki in orkestracija

Page 14: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki in orkestracija

Page 15: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki in orkestracija

Page 16: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Kubernetes

„Service discovery“, „load balancing“Orkestracija diskovnega prostora„Self-healing“Upravljanje konfiguracij in poverilnic

Avtomatizacija „rollouts“ in „rollbacks“Hkratno izvajanje opravilHorizontalni „scaling“

„Open source“ sistem za avtomatiziranje „deploymentov“, „scaling“ in upravljanje aplikacij v vsebnikih.

Page 17: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Kubernetes

Enota je pod, lahko je en ali več vsebnikovEnoten API vmesnik za „deploy“ aplikacij, opravil in baz podatkovUpravlja in spremlja globalen pogled celotnega „cluster“-aPodpira „multi-cloud“ in „bare-metal“ postavitveBogat ekosistem dodatkov za upravljanje diskovnega prostora, omrežja, …

Orkestrira poganjanje in upravljanje vsebnikov

Page 18: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Worker node kube-proxy

docker

kubelet

pod

containerpod

containerpod

container

pod

cadvisor

pod

containerpod

container

Kubernetes cluster

Kubernetes "Cluster" arhitekturaMaster node:„Upravljalski node za cluster

scheduling, replikacija & kontrola

več master node za HA“

Worker nodes:„Node, kjer tečejo podi

docker engine

kubelet agent sprejme & izvede ukaze iz master node za upravljanje podov

cadvisor – Container Advisor sporoča uporabo resursov in performančnestatistike

kube-proxy – routa vhoden ali ingress promet“

Master node

APIs

schedulingactuator REST

authenticationauthorization

controllermanager Distributed

watchablestorage(etcd)

firewallkubectl

internet

Worker node kube-proxy

docker

kubelet

pod

containerpod

containerpod

container

pod

cadvisor

pod

containerpod

container

Page 19: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Kubernetes postavitev v IBM Cloud Private

Page 20: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Programabilnost, Devnet, DevOps, Cloud Native, Microservices, API

Operativni model delovanja v okoljih API & mikrostoritvah

„Upravljanje in analitika je (tudi) „software““

Page 21: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Primer rabe: Regulativa PSD2

PSD2 nalaga dostopnost bančnih storitev preko odprtih vmesnikov API.

Razvijalci pričakujejo infrastrukturne funkcije „on demand“, „compute-storage-networking for continuous delivery“; odprte API vmesnike za dostop do infrastrukture in funkcij aplikacij („microservices“).

Idealna priložnost za uporabo novih tehnologij, kot je Kubernetes v „cloudnative“ okoljih.

Page 22: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

„Cloud-native“ v podatkovnih centrih pomeni arhitekturo mikrostoritev s prehodom na »serverless containers“ ekosistem

funkcij odprtih preko API vmesnikov.

Podlaga za „cloud-native“ okolja so avtomatizacijo/orkestracija, analitika in „container“-ska ponudbo oz. novo razvojno ter

produkcijsko okolje („DevOps)“.

Page 23: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

DevOps „Programmability“Razvojna API platforma za „software“ inženirje

Programabilnost ne govori o tehnologijah, temveč o tem kako se spreminja industrija oz. „software development“.

DevOps - avtomatizacija in monitoring v vseh fazah od razvoja storitve, integracije testiranja postavitve, upravljanja infrastrukturnih rešitev.

Organizacija dela sledi paradigmi „kaj se zgodi, ko programer dobi nalogo dizajnirati operativni proces v infrastrukturi“.

Avtomatizacija/okrestracija kot proces pretoka podatkov skozi sisteme, ki sprejemajo odločitve in ne nadomeščanja nabora CLI ukazov s „script“-ami.

Page 24: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

• Development EnviromentDevelopers

• Delivery Pipeline• Scheduling & Container Layer• Application & Middleware• Cloud Managment & Automation

DevOps Engineers

• Operating System• Infrastructure

InfrastructureArchitects & Operations

Developers - DevOps - Infrastructure Engineering

GitHub

Continuous Integration / Development

Page 25: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Arhitektura upravljanja mikrostoritev/vsebnikov

Page 26: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnostni izzivi in kako jih naslavljamo -Mikrostoritve

#2

Page 27: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Vsebniki

Varnost

Privzeto na izolirani mreži

Minimalne verzije aplikacijskih strežnikov – manj nastavitev

Novi izzivi varovanja zaradi novih konceptov delovanja

„Multicloud clustri“

Potrebno poskrbeti za varnost „clustra“ in vsebnikov

Page 28: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnost nove infrastrukture

Varovanje na večih ravneh

• Večja kompleksnost rešitve• Virtualiziran je le en process• Nove grožnje• Novi varnostni mehanizmi

Page 29: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnost nove infrastrukture - Aplikacije in Dockerji

Izolacija:• “Načeloma” je vsak kontejner ločen• Komunikacija je možna preko omrežja

Page 30: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnost nove infrastrukture - Aplikacije in Dockerji

Izolacija:• Nameščanje zaupanja vrednih aplikacij• Ustrezno zmanjševanje pravic na gostitelju

Page 31: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - Docker

Če so okolja večja, moramo nasloviti lažje upravljanje z varnostjo• „Auditing, Auditing, Auditing“• Zbiranje spletnih dnevnikov• Centralizacija dogodkov

Page 32: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - Docker

Če so okolja večja, moramo nasloviti lažje upravljanje z varnostjo• Izolacija• Doslednost skozi orkestracijo

Page 33: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - Docker in API

Če so okolja večja, moramo nasloviti lažje upravljanje z varnostjo• Uporaba Application Delivery Controller (zWAF funkcionalnostjo, aplikativnimi

zlorabami – buffer overflow napadi, SQL injection napadi)• Zaščita pred aplikativnimi DoS napadi• Uporaba API Gateway mehanizma

Page 34: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnostni izzivi in kako jih naslavljamo – API vmesniki

#3

Page 35: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnost nove infrastrukture

API vmesniki

Delujejo kot spletne storitve oz. Web Services• Vsekakor vpeljava avtentikacijskih mehanizmov• Vsekakor HTTPS kot zaščita transporta

Page 36: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varnost nove infrastrukture - API vmesniki

Delujejo kot spletne storitve oz. Web Services• Dodajanje preverjanja časovnih žigov• Skrivanje skrivnih podatkov v URL-ju

Page 37: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - API

Če so okolja večja, moramo nasloviti lažje upravljanje z varnostjo• Zagotavljanje zaupnosti povezav• Spremljanje vsebine zahtevkov

Page 38: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - API Gateway• Deluje kot posrednik• Opravlja funkcije varnosti• Optimizacije• Spremljanje delovanja

Page 39: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - API Gateway• Deluje kot posrednik• Opravlja funkcije varnosti

• Zaključevanje SSL sej• Avtentikacija• IP naslovi• Rate Limiting• Web Application Firewall

Page 40: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Varovanje nove infrastrukture - API Gateway• Deluje kot posrednik• Optimizacija

• Pomnjenje zahtevkov – caching• Agregacija zahtevkov• Izvajanje (de)kompresije zahtevkov• Nudenje statične vsebine

• Spremljanje delovanja• Beleženje dogodkov• Monitoring

Page 41: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Naprednejše spremljanje v okoljumikrostoritev - App Dynamics

• Rešitev za spremljanje delovanja aplikacij• Spremljanje zdravja sistema• Spremljanje zdravja poslovne logike in procesov

Page 42: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,

Bojan Bunić - sistemski inženir

Simon Simčič - arhitekt IT rešitev

SRC JE IT PODJETJE, KI DIGITALNO TRANSFORMIRA KORPORACIJE, FINANČNE

INSTITUCIJE IN JAVNO UPRAVO.

Hvala za pozornost!

Page 43: Upravljanjein analitikainfrastrukturnihrešitevv okoljuAPI ... · DevOps„Programmability“ Razvojna API platforma za „software“ inženirje Programabilnostne govori o tehnologijah,