Contenedorización (informática)
En ingeniería de software, la contenedorización es la virtualización a nivel del sistema operativo o la virtualización a nivel de la aplicación a través de múltiples recursos de red para que las aplicaciones de software puedan ejecutarse en espacios de usuario aislados llamados contenedores en cualquier entorno en la nube o no en la nube, independientemente del tipo o proveedor.[1]
Uso
[editar]Los contenedores son básicamente un entorno de computación usualmente en la nube, totalmente funcional y portátil, que rodea la aplicación y la mantiene independiente de otros entornos que se ejecutan en paralelo.[2] Individualmente, cada contenedor simula una aplicación de software diferente y ejecuta procesos aislados[3] agrupando archivos de configuración, bibliotecas y dependencias relacionadas.[4] Pero, en conjunto, varios contenedores comparten un núcleo de sistema operativo (SO) común.[5]
En los últimos tiempos, la tecnología de contenedorización ha sido ampliamente adoptada por plataformas de computación en la nube como Amazon Web Services, Microsoft Azure, Google Cloud Platform e IBM Cloud.[6] El Departamento de Defensa de EE. UU. también ha impulsado la utilización de contenedores como una forma de desarrollar y desplegar más rápidamente actualizaciones de software, con su primera aplicación en su caza de superioridad aérea F-22.[7]
Tipos de contenedores
[editar]- Contenedores de sistema operativo
- Contenedores de aplicaciones
Temas de seguridad
[editar]- Debido al sistema operativo compartido, las amenazas a la seguridad pueden afectar a todo el sistema en contenedores.
- En entornos en contenedores, los escáneres de seguridad generalmente protegen el sistema operativo pero no los contenedores de aplicaciones, lo que añade vulnerabilidad no deseada.
Gestión de contenedores, orquestación, clustering.
[editar]La orquestación o gestión de contenedores se utiliza principalmente en el contexto de contenedores de aplicaciones. Las implementaciones que proporcionan dicha orquestación incluyen Kubernetes y Docker swarm.
Gestión de clústeres de contenedores
[editar]Es necesario gestionar los clústeres de contenedores. Esto incluye funcionalidad para crear un clúster, actualizar el software o repararlo, equilibrar la carga entre instancias existentes, escalar iniciando o deteniendo instancias para adaptarse a la cantidad de usuarios, registrar actividades y monitorear los registros producidos o la aplicación misma mediante consultas. sensores. Las implementaciones de código abierto de dicho software incluyen OKD y Rancher. Un buen número de empresas ofrecen gestión de clústeres de contenedores como un servicio gestionado, como Alibaba, Amazon, Google, Microsoft, etc.
Véase también
[editar]Referencias
[editar]- ↑ Scheepers, Mathijs Jeroen (2014). «Virtualization and Containerization of Application Infrastructure: A Comparison». Thijs Scheepers.
- ↑ «What is containerization?». www.redhat.com (en inglés). RedHat. Archivado desde el original el 8 de mayo de 2021. Consultado el 10 de julio de 2021.
- ↑ Hinck, Tim Maurer, Garrett. «Cloud Security: A Primer for Policymakers». Carnegie Endowment for International Peace (en inglés). Consultado el 10 de julio de 2021.
- ↑ Rubens, Paul (27 de junio de 2017). «What are containers and why do you need them?». CIO (en inglés). Consultado el 10 de julio de 2021.
- ↑ «Containerization». www.ibm.com (en Indian English). Consultado el 10 de julio de 2021.
- ↑ December 2019, Jonas P. DeMuro 18 (18 de diciembre de 2019). «What is container technology?». TechRadar India (en inglés). Consultado el 10 de julio de 2021.
- ↑ «Flight Test Clears F-22 Fleet To Accept Third-Party Software». Aviation Week. 30 de agosto de 2022.
Bibliografía
[editar]- Bentaleb, Ouafa; Belloum, Adam S. Z.; Sebaa, Abderrazak; El-Maouhab, Aouaouche (8 de junio de 2021). «Containerization technologies: taxonomies, applications and challenges». The Journal of Supercomputing 78: 1144-1181. doi:10.1007/s11227-021-03914-1.
- Watada, Junzo; Roy, Arunava; Kadikar, Ruturaj; Pham, Hoang; Xu, Bing (2019). «Emerging Trends, Techniques and Open Issues of Containerization: A Review». IEEE Access 7: 152443-152472. doi:10.1109/ACCESS.2019.2945930.
- van den Berg, Tom; Siegel, Barry; Cramp, Anthony (April 2017). «Containerization of high level architecture-based simulations: A case study». The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology 14 (2): 115-138. doi:10.1177/1548512916662365.
- Zhang, Xiao; Tang, Yu; Li, Hao; Liu, Shaotao; Lin, Di (2021). «Containerization Design for Autonomous and Controllable Cloud Distributed System». Communications, Signal Processing, and Systems. Lecture Notes in Electrical Engineering 654. pp. 30-38. ISBN 978-981-15-8410-7. doi:10.1007/978-981-15-8411-4_4.
- Odun-Ayo, Isaac; Geteloma, Victor; Eweoya, Ibukun; Ahuja, Ravin (2019). «Virtualization, Containerization, Composition, and Orchestration of Cloud Computing Services». Computational Science and Its Applications – ICCSA 2019. Lecture Notes in Computer Science 11622. pp. 403-417. ISBN 978-3-030-24304-3. doi:10.1007/978-3-030-24305-0_30.
- Gabriel N. Schenker, Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu, (2019) Introducción a la contenedorización: reduzca la carga operativa de su sistema automatizando y gestionando sus contenedores, Packt Publishing ,ISBN 978-1-83864-903-6
- Jeeva S. Chelladhurai, Vinod Singh, Pethuru Raj (2014), Learning Docker, Packt Publishing ,ISBN 978-0-9888202-0-3