Pěkný článek, krátké doplnění.
Immutable systémy přesouvají veškeré konfigurační a administrační věci do fáze, kdy se systémový obraz vytváří. Je to daleko méně pohodlné, každý software nebo změnu je nutné relativně dlouze testovat v cyklu: vytvořit nový obraz, nainstalovat nebo spustit a otestovat. Proč by tedy někdo podstupoval takové peklo když je v tomto lepší tradiční systém?
Hlavním typem zákazníka pro tento postup je organizace s flotilou stejných strojů. Typicky jsou to servery na pobočkách, nebo pokladny v jednotlivých prodejnách. Prostě místa kde nemáte IT technika, protože jich je moc a bylo by to drahé. Pak tato vyšší vstupní investice do vytvoření a otestování takového systému smysl má, navíc aktualizace jsou pak robustnější a některé technologie umí A/B partitioning s možností rollbacku, například ostree.
Ve článku není zmíněn asi nejnadějnější projekt Fedory s názvem bootc (bootable containers), který řeší zmíněný problém s dlouhým cyklem testování před nasazením. Místo speciálního způsobu instalace immutable systému, který má každá technologie jiný, se používají kontejnery.
Jinými slovy, vytvoříte Dockerfile z bootable kontejneru, odladíte si aplikace a nastavení pomocí dockeru nebo podmanu a jakmile jste spokojeni, vytvoříte si immutable image pro cloud, VMWare nebo holé železo. Celý cyklus se tak výrazně zkrátí protože spustit kontejner trvá méně než vteřinu. Pohodlně se do systému kopírují vlastní binárky a hlavně můžete využít veškeré nástroje, které byly vytvořené pro kontejnery (např. CI/CD). Software, který se používá k vytváření obrazů z bootovatelných kontejnerů, se jmenuje osbuild (image builder).
Kolega má na to téma přednášku na letošním LinuxDays 2024 tak hlasujte a poznačte si to do kalendáře, jestli máte o to téma zájem. Já na tom projektu dělám a myslím si, že je to jedna z nejzajímavějších věcí od Fedory / Red Hatu. Kdyby snad měl někdo zájem o článek na toto téma, ozvěte se a s redakcí něco domluvím :-D
Immutable systémy přesouvají veškeré konfigurační a administrační věci do fáze, kdy se systémový obraz vytváří. Je to daleko méně pohodlné, každý software nebo změnu je nutné relativně dlouze testovat v cyklu: vytvořit nový obraz, nainstalovat nebo spustit a otestovat. Proč by tedy někdo podstupoval takové peklo když je v tomto lepší tradiční systém?
To není vlastnost immutable systémů obecně ale pouze konkrétních implementací. Např. NixOS nebo GNU Guix žádným takovým problémem netrpí: požadovaný stav deklarujete v konfiguraci, systém provede vyhodnocení změny a běžící systém na tu novou verzi přejde okamžitě.
23. 9. 2024, 11:13 editováno autorem komentáře
Jenze tu vec v ty kase chces kazdy 3 dny aktualizovat, protoze si nejakej chuj usmyslel ze mas tisknout nejaky eet. Ta kasa pak musi byt nekam napojena, pouzivat nejaly to tls ... a to znamena kazdou chvili aktualizovat nejakou tu deravou knihovnu.
Testovat to nikdo nebude, protoze na to nema ani cas, natoz penize. Nez by dotestoval, najde se dalsi dira.
Přesně, jeden z největších hobbymarketů v ČR nedávno nasadil kasy co jsou pouze on-line kiosky. V podstatě je to prohlížeč, vše běží v cloudu. To už je extrém, ale je to realita.
Asi nemá cenu moc reagovat na ten komentář, je plný nesmyslů. Naši zákazníci jsou hodně z této oblasti a aktualizují řekl bych v normálním režimu a samozřejmě že se aplikace testuje, dokonce i na samotných zařízeních ostree má na to funkci. Zrovna taková kasa běží izolovaně bez přístupu na internet (a to i on-line kasa, tam je pouze VPN do datacentra), tam není potřeba dělat aktualizace na denní bázi.