Webová aplikace zabalená v Dockeru spolu s databází

Zdravim,
v jedne ceske firme dodavali hotove webove aplikace zakaznikum tak, ze je zabalili do Dockeru, a ty v sobe mely i databazi.

Nevite nekdo, jak takova vec ma fungovat? Znam jen zpusob, ze databaze jede uplne bokem od hlavni aplikace. Kdyz se to da do dockeru, tak jak se v tom potom treba zvysi verze te aplikace, jak se nad tim udela pripadny continuous delivery?

Prijde mi to nejake zvlastni, ale kdyby to nejak slo udelat, tak by to bylo zajimave reseni.
« Poslední změna: 10. 07. 2022, 22:47:56 od Petr Krčmář »


Re:Webova aplikace zabalena v Dockeru spolu s Databazi
« Odpověď #1 kdy: 03. 07. 2022, 15:55:03 »
Ta databáze je nasměrovaná na perzistentní úložiště. Když je potřeba povýšit verzi čehokoli (databáze, aplikace), vytvoří se nový Docker image a ten se nasadí nad to původní perzistentní úložiště. Samozřejmě se to neobejde bez výpadku (musíte nejprve tu předchozí verzi zastavit a pak až spustit novou verzi).
Výhodu to má jenom tu, že je to všechno zabalené do jednoho kontejneru, takže se o to provozovatel nemusí nijak starat – prostě jenom spustí jeden kontejner.

Re:Webova aplikace zabalena v Dockeru spolu s Databazi
« Odpověď #2 kdy: 03. 07. 2022, 17:51:09 »
Ne, obvykle to není v jednom kontejneru, ale je to sada kontejnerů, které spolu "spolupracují". Takže databáze má vlastní kontejner, obyčejným deployem nové img se tedy aktualizuje sama databáze. Na pozadí je persistentní storage, takže nepříijdete o data. K deploymentu celého stacku kontejnerů se používá obvykle docker-compose.

Zdravim,
v jedne ceske firme dodavali hotove webove aplikace zakaznikum tak, ze je zabalili do Dockeru, a ty v sobe mely i databazi.

Nevite nekdo, jak takova vec ma fungovat? Znam jen zpusob, ze databaze jede uplne bokem od hlavni aplikace. Kdyz se to da do dockeru, tak jak se v tom potom treba zvysi verze te aplikace, jak se nad tim udela pripadny continuous delivery?

Prijde mi to nejake zvlastni, ale kdyby to nejak slo udelat, tak by to bylo zajimave reseni.

Re:Webova aplikace zabalena v Dockeru spolu s Databazi
« Odpověď #3 kdy: 03. 07. 2022, 19:44:46 »
já bych s tím slovem "obvykle" dával pozor. V enterprise prostředí se začínají objevovat krabicové SW, které se dodávají jako jeden velký docker container, spustí se to celé najednou a přidá tomu persistentní uložiště, pro obě strany to je velké zjednodušení.

Docker compose je sice fajn, ale v momentě, kdy třeba vyžadováno, aby veškerá komunikace mezi službami byla šifrovaně, upravovat docker compose skript a dodávat tam nějak pem/jks klíče už není zrovna snadné, pak tam vznikají problémy s formáty, divné chyby a celkově to zanáší problémy jak pro dodavatele, tak i pro zákazníka. To ani nemluvím o problém s autorizací, požadavky na auditování všech TCP komunikací atd. Monolitický docker image naopak má jen pár veřejných portů, které mohou snadno jít přes nějaký envoy či nginx, to si umí klient vyřešit sám a dodavateli to je jedno.

Takže bych s tím slovem "obvykle" šetřil, v některých trzích to totiž obvykle reprezentuje přesně tenhle stav monolitických obrazů.