Tvorba klaudových aplikácií
Mikroslužby
Aplikácia je rozdelená na komponenty komunikujúce medzi sebou
Lepšie škálovanie
Jednoduchší vývoj
Architektúra webovej aplikácie
Oddelený frontend a backend
Frontend
Interakcia s používateľom
- reverzný proxy server (ingress)
- Web Klient
- Appka na mobile
Serializačné a komunikačné protokoly:
- REST
- Websockets
Backend
Logika a stav aplikácie
- relačná databáza
- cache server, workqueue (redis, memcached)
- object storage
Konfigurácia aplikácie
Tá istá aplikácia bude bežať v rôznych prostrediach
- lokálny vývoj
- nasadenie mimo kontajnera
- nasadenie pomocou kontajtera a Docker Compose
- nasadenie do Kubernetes
- nasadenie do inej klaudovej služby (Azure App)
Nie je dobré mať konfiguračné údaje v zdrojových kódoch
- mená a prístupové heslá ku databáze v zdrojových kódoch sú bezpečnostné riziko.
- pre zmenu konfigurácie je nutné znovu zostaviť aplikáciu
- je to neprehľadné - nie je jasné na prvý pohľad ako aplikáciu nakonfigurovať.
Oddelenie konfiguračných premenných od kódu aplikácie
Konfigurácia aplikácie:
- premenné prostredia
- konfiguračné súbory
- argumenty príkazového riadka
Ako implementovať konfiguráciu do Vašej aplikácie:
- globálne premenné, tie umiestnite do jedného súboru.
- definujte si premenné prostriedia, tie načítajte do globélnych premenných.
- načítajte argumenty príkazového riadka.
- použite špecializovanú knižnicu na konfiguráciu aplikácie.
konfiguračné objekty k8s
- Config
- Secret
Pozná ich aj Docker
konfiguračné objekty k8s
- zdieľaná zložka iba na čítanie.
- asociatívne pole s premennými prostredia.
CI CD
- Continous Integration - Continous Deployment
- Automatické spúšťanie a sledovanie úloh súvisiacich s tvorbou aplikácie a so zabezpečením kvality zdrojových kódov.
CI CD
Optimalizácia procesu tvorby aplikácie:
- zostavenie (obrazu)
- testovanie
version control - build - test