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

Tvorba klaudových aplikácií