Sobes.tech
Middle

Kas yra nekintama infrastruktūra (Immutable Infrastructure)?

sobes.tech AI

Atsakymas iš AI

Šis požiūris, kurā infrastruktūras komponenti (serveriai, konteineriai) nepakitė po išdėstymo. Kiekviena pakeitimas reikalauja sukurti naują komponento egzempliorių su reikiamomis konfigūracijomis ir pakeisti seną:

Pagrindinės idėjos:

  • Paprastas atstatymas: Jei nauja versija sukelia problemų, lengva grįžti prie ankstesnės, tiesiog nukreipiant srautą į senus, nepakitusius egzempliorius.
  • Patikimumas: Pašalina "konfigūracijos nuokrypio" (configuration drift) riziką, kai rankiniu būdu atlikti pakeitimai veikiantys serveriai sukelia nesuderintus būsenas.
  • Testavimo paprastumas: Kiekvienas išdėstomas egzempliorius yra pastatytas vienodai, kas daro kūrimo, testavimo ir gamybos aplinkas panašesnes.
  • Mastelio keitimas: Požiūris gerai dera su horizontaliu mastelio keitimu ir automatinio klasterių valdymo sprendimais.

Įgyvendinimo pavyzdžiai:

  • Naudojant virtualių mašinų vaizdus (AMI AWS) arba konteinerius (Docker images), kurie yra sukurti vieną kartą ir nekeičiami po paleidimo.
  • Naudojant įrankius kaip Packer vaizdų kūrimui.
  • Kubernetes tipo orkestratoriai, kurie valdo konteinerių gyvavimo ciklą ir leidžia lengvai keisti senus podus naujais.

Palyginimas su keičiamąja infrastruktūra:

Bruožas Keičiamoji infrastruktūra Nekeičiama infrastruktūra
Pakeitimai Tiesiogiai daromi veikiančiuose egzemplioriuose Sukuriamas naujas egzempliorius, senas pakeičiamas
Atstatymas Sudėtingas, reikalauja rankinių veiksmų Paprastas, perjungimas į senus egzempliorius
Patikimumas Konfigūracijos nuokrypio rizika Aukšta nuoseklumas
Valdymas Dažnai rankinis valdymas, konfigūracija Naudojant vaizdus, automatizavimas

Šis požiūris reikalauja didesnės automatizacijos komponentų kūrimo ir diegimo procesuose, tačiau žymiai padidina infrastruktūros prognozuojamumą ir patikimumą.