La decana Amalia B. Orúe López y el ponente y egresado de la Universidad Isabel I, José María Pulgar Gutiérrez, durante el webinar.
8 de julio de 2024. En el webinar "El desafío de los nuevos entornos DevOps", organizado por la Facultad de Ciencias y Tecnología de la Universidad Isabel I, José María Pulgar Gutiérrez, el ingeniero informático, egresado de la Universidad Isabel I y CEO de DocExploit, presentó las claves del ciclo de vida de desarrollo de software (SDLC) aplicado al mundo de los contenedores Docker y Kubernetes. Moderado por Amalia B. Orúe López, Decana de la Facultad, el evento se enfocó en cómo estas herramientas pueden optimizar la creación de software de alta calidad gestionando eficientemente tiempo y recursos.
Un poco de historia
El webinar comenzó haciendo un poco de historia acerca del nacimiento de DevOps, presentando algunos conceptos clave que son necesarios tener en cuenta en este tipo de despliegues.
Docker es una solución de virtualización que incluye todo lo necesario para ejecutarse y puede moverse fácilmente entre entornos. Su particularidad es que solo depende del sistema de ejecución, pero está aislado, lo que lo convierte en una opción ideal para los entornos DevOps, eliminando así algunos problemas comunes.Además, indicó que un componente esencial a resolver era la “orquestación” de los contenedores Docker.
Actualmente, Kubernetes es el sistema de gestión de contenedores líder, ofreciendo elasticidad bajo demanda, una característica crucial para los entornos de nube pública y privada.
Otro concepto que ha considerado que se debe tener en cuenta son los microservicios, éstos permiten dividir las aplicaciones en segmentos mucho más pequeños y con menor impacto a la hora de actualizar la aplicación. Los microservicios no solo han permitido dividir los aplicativos, sino que éste puede ser elástico, levantando a demanda más capacidad de computación según necesidades.
También se habló de la importancia de la elasticidad en los contenedores Docker. Esta característica permite escalar automáticamente, aumentando o disminuyendo el número de contenedores en respuesta a la demanda, evitando el sobredimensionamiento de recursos y mejorando la eficiencia en procesamiento, memoria y CPU.
En cuanto a la orquestación se planteó que Kubernetes es una plataforma de código abierto portátil y extensible para administrar cargas de trabajo y servicios. Mencionando su ecosistema en rápido crecimiento y el amplio soporte y herramientas disponibles lo han convertido en una tecnología adoptada por los principales proveedores de nube como Google Cloud, Amazon Web Services y Microsoft Azure.
“Toda tecnología nueva genera nuevos problemas de seguridad”, explicó Pulgar. La implementación de Kubernetes y contenedores plantea desafíos específicos, ya que en lugar de actualizarse, estos se sustituyen. Pulgar recomienda realizar estudios detallados para identificar posibles problemas de seguridad y desarrollar estrategias para mitigarlos. Menciona las principales guías que ofrecen una base sólida para definir cómo deben comunicarse los diversos sistemas de cada proyecto como por ejemplo las de INCIBE.
Los seis pasos del SDLC
Pulgar explicó los seis pasos del SDLC: Planificación, Diseño, Desarrollo, Test, Despliegue y Monitorización, y cómo implementar seguridad en cada uno. Además, profundizó en el concepto de DevOps y la necesidad de optimizar la colaboración entre los equipos de desarrollo y operaciones.
Docker, señaló, “es una solución ideal para los entornos DevOps por su capacidad de virtualización y aislamiento, mientras que Kubernetes se ha convertido en la plataforma líder para la gestión de contenedores debido a su elasticidad y automatización”, matizó el ponente.
En la fase de desarrollo, donde se generan los códigos, subrayó la importancia de herramientas SAST (Static Application Security Testing) para analizar la seguridad del código y las dependencias, mencionando herramientas como DOCdocker y Grype. La fase de test, crucial para asegurar la calidad y seguridad del software, fue explicada con ejemplos de despliegue de infraestructura y pruebas de vulnerabilidades.
El evento concluyó con una discusión sobre la monitorización del entorno que incluye aspectos cruciales como son el rendimiento y la seguridad. Mencionando en el primer caso herramientas como Grafana y Prometheus, esenciales para asegurar el rendimiento. Para la monitorización de la seguridad del sistema, Pulgar destacó tecnologías como eBPF y proyectos emergentes como DocAir para la detección de ataques y gestión de seguridad.
El webinar proporcionó una visión integral de cómo Docker y Kubernetes están revolucionando la creación y gestión de software, subrayando la importancia de la seguridad y la eficiencia en estos procesos.
Sigue el webinar completo en el siguiente enlace.