Přeskočit na obsah

Kontejnerizace (výpočetní technika)

Z Wikipedie, otevřené encyklopedie

Kontejnerizace je v softwarovém inženýrství virtualizace na úrovni operačního systému nebo na aplikační úrovni mezi více síťovými prostředky, takže softwarové aplikace mohou běžet v izolovaných uživatelských prostorech nazývaných kontejnery v nějakém cloudovém nebo necloudovém prostředí, bez ohledu na typ nebo dodavatele.[1] Termín „kontejner“ se používá v různých významech, a je důležité zajistit, aby použitá definice souhlasila s chápáním zainteresovaných osob.[2]

Každý kontejner je v zásadě plně funkční a přenositelné cloudové nebo necloudové výpočetní prostředí včetně podpůrných aplikací, které je nezávislé na jiných prostředích běžících paralelně.[3] Každý kontejner simuluje určené softwarové aplikace a spouští izolované procesy[4] podle obsažených programů, konfiguračních souborů, knihoven a dalších závislostí.[5] Souhrnně však několik kontejnerů sdílí společné jádro operačního systému.[6]

Po roce 2005 byla technologie kontejnerizace široce převzata cloudovými výpočetními platformami, jako je Amazon Web Services, Microsoft Azure, Google Cloud Platform a IBM Cloud.[7] Kontejnerizaci také rozvíjelo Ministerstvo obrany USA jako metodu rychlejšího vývoje a aktualizace softwaru v poli, jehož první aplikace byla pro stíhací letoun F-22 pro získání vzdušné nadvlády.[8]

Typy kontejnerů

[editovat | editovat zdroj]
  • Kontejnery na úrovni operačního systému
  • Aplikační kontejnery

Problémy datové bezpečnosti

[editovat | editovat zdroj]
  • Kvůli sdílenému operačnímu systému mohou bezpečnostní hrozby ohrozit celý kontejnerizovaný systém.
  • V kontejnerizovaném prostředí bezpečnostní skenery obvykle chrání OS, ale ne aplikační kontejnery, což přidává nežádoucí zranitelnost.

Správa kontejnerů, orchestrace, clustering

[editovat | editovat zdroj]

Orchestrace nebo správa kontejnerů se většinou používá pro aplikační kontejnery.[9] K implementacím poskytujícím takové orchestrace patří Kubernetes a Docker swarm.

Správa kontejnerového clusteru

[editovat | editovat zdroj]

Kontejnerové clustery vyžadují nástroje na správu. Je třeba mít funkce pro vytváření clusterů, aktualizaci softwaru a jeho opravy, vyrovnávání zátěže mezi existujícími instancemi, škálování pomocí spouštění nebo zastavování instancí, aby se cluster přizpůsobil počtu uživatelů, pro logování činnosti a monitorování vytvářených logů nebo samotných aplikací dotazováním senzorů. K implementacím takového softwaru s otevřeným zdrojovým textem patří OKD a Rancher. Nemálo společností poskytuje správu kontejnerového clusteru jako spravovanou službu, např. společnosti Alibaba, Amazon, Google a Microsoft.

V tomto článku byl použit překlad textu z článku Containerization (computing) na anglické Wikipedii.

  1. SCHEEPERS, Mathijs Jeroen, 2014. Virtualization and Containerization of Application Infrastructure: A Comparison [online]. Thijs Scheepers, 2014. Dostupné online. S2CID 18129086. 
  2. Cloud Foundry: The Definitive Guide Develop, Deploy, and Scale. [s.l.]: [s.n.] ISBN 9781491932544. 
  3. What is containerization? [online]. RedHat [cit. 2021-07-10]. Dostupné v archivu pořízeném z originálu dne 2021-05-08. (anglicky) 
  4. HINCK, Tim Maurer, Garrett; HINCK, Tim Maurer, Garrett. Cloud Security: A Primer for Policymakers [online]. Carnegie Endowment for International Peace [cit. 2021-07-10]. Dostupné online. (anglicky) 
  5. RUBENS, Paul. What are containers and why do you need them? [online]. CIO, 2017-06-27 [cit. 2021-07-10]. Dostupné online. (anglicky) 
  6. Containerization [online]. www.ibm.com [cit. 2021-07-10]. Dostupné online. (anglicky) 
  7. DECEMBER 2019, Jonas P. DeMuro 18. What is container technology? [online]. TechRadar India, 2019-12-18 [cit. 2021-07-10]. Dostupné online. (anglicky) 
  8. Flight Test Clears F-22 Fleet To Accept Third-Party Software [online]. 2022-08-30. Dostupné online. 
  9. What is Container Orchestration? Definition & Related FAQs [online]. Avi Networks [cit. 2024-04-29]. Dostupné online. 

Literatura

[editovat | editovat zdroj]
Časopis články
  • BENTALEB, Ouafa; BELLOUM, Adam S. Z.; SEBAA, Abderrazak; EL-MAOUHAB, Aouaouche. Containerization technologies: taxonomies, applications and challenges. The Journal of Supercomputing. 2021-06-08, roč. 78, s. 1144–1181. doi:10.1007/s11227-021-03914-1. S2CID 236220833. 
  • WATADA, Junzo; ROY, Arunava; KADIKAR, Ruturaj; PHAM, Hoang; XU, Bing, 2019. Emerging Trends, Techniques and Open Issues of Containerization: A Review. IEEE Access. Roč. 7, s. 152443–152472. doi:10.1109/ACCESS.2019.2945930. S2CID 204970781. Bibcode 2019IEEEA...7o2443W. 
  • VAN DEN BERG, Tom; SIEGEL, Barry; CRAMP, Anthony. Containerization of high level architecture-based simulations: A case study. The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology. Duben 2017, roč. 14, čís. 2, s. 115–138. doi:10.1177/1548512916662365. S2CID 64405143. 
  • ZHANG, Xiao; TANG, Yu; LI, Hao; LIU, Shaotao; LIN, Di, 2021. Communications, Signal Processing, and Systems. [s.l.]: [s.n.]. (Lecture Notes in Electrical Engineering). ISBN 978-981-15-8410-7. doi:10.1007/978-981-15-8411-4_4. S2CID 236762442. Kapitola Containerization Design for Autonomous and Controllable Cloud Distributed System, s. 30–38. 
  • ODUN-AYO, Isaac; GETELOMA, Victor; EWEOYA, Ibukun; AHUJA, Ravin, 2019. Computational Science and Its Applications – ICCSA 2019. [s.l.]: [s.n.]. (Lecture Notes in Computer Science). ISBN 978-3-030-24304-3. doi:10.1007/978-3-030-24305-0_30. S2CID 195769647. Kapitola Virtualization, Containerization, Composition, and Orchestration of Cloud Computing Services, s. 403–417. 
Knihy
  • SCHENKER, Gabriel N.; SAITO, Hideto; LEE, Hui-Chuan Chloe; HSU, Ke-Jou Carol. Getting Started with Containerization: Reduce the operational burden on your system by automating and managing your containers. [s.l.]: Packt Publishing, 2019. ISBN 978-1-83864-903-6. 
  • CHELLADHURAI, Jeeva S.; SINGH, Vinod; RAJ, Pethuru. Learning Docker. [s.l.]: Packt Publishing, 2014. ISBN 978-0-9888202-0-3. 

Související články

[editovat | editovat zdroj]