5 minute read

Contenedores y Kubernetes

Motor de innovación de las organizaciones La velocidad a la que se están produciendo los cambios en la sociedad está llevando a organizaciones de todo tipo a innovar constantemente para dar respuesta a las necesidades de consumidores y usuarios. En esta búsqueda incesante, empresas y Administraciones públicas exploran las posibilidades del software y de las tecnologías cloud. Es aquí donde conceptos como contenedores, Kubernetes o microservicios se incorporan en la nueva ecuación del TI.

El software y las tecnologías cloud se han impuesto a la hora de emprender cualquier transformación. Facilitan la adaptación a cualquier circunstancia, una cualidad fundamental en estos tiempos de cambios. La posibilidad de generar un servicio digital a medida para cubrir cualquier necesidad ha llevado a las organizaciones a transformarse en compañías de software capaces de entregar aplicaciones con rapidez y eficiencia. Si analizamos las tecnologías que están detrás de este gran cambio, los contenedores y Kubernetes encabezan esta revolución. El uso masivo se debe a la conjunción de elementos como: » Microservicios, base de las nuevas arquitecturas de aplicaciones. » DevOps, tanto por las nuevas metodologías como por los procesos y herramientas de desarrollo. » Comunidades de código abierto, procedente de Kubernetes y de la mayor parte de la innovación en el área de software. Los microservicios son, a la vez, una arquitectura y una manera de escribir software. Las aplicaciones se trocean en componentes básicos, independientes unos de otros. A diferencia de las aplicaciones monolíticas donde se codificaba en una sola pieza, los microservicios están separados y colaboran para desempeñar la misma funcionalidad. Son más ligeros y permiten compartir procesos entre múltiples aplicaciones. Se puede desarrollar fácilmente cada microservicio por separado, o incluso escalar solo uno de ellos si es necesario. Esto permite crear o modificar código mucho más rápido y optimizar las aplicaciones para despliegues en la nube. Esta era una idea ya usada en arquitecturas previas, que ahora se une a la tecnología de los contenedores Linux. Básicamente, permiten ejecutar múltiples partes de una aplicación de manera independiente en el mismo hardware, alcanzando el control total de cada uno de los elementos y de su ciclo de vida. Los contenedores constituyen una nueva forma de empaquetar

Advertisement

*Los contenedores son una

nueva forma de empaquetar y desplegar las aplicaciones, que encaja perfectamente con los microservicios

y desplegar las aplicaciones, que encaja perfectamente con los microservicios. El contenedor alberga todos los elementos necesarios, de manera que se pueden desplegar y ejecutar en cualquier entorno. Se consigue así la portabilidad entre entornos, ya sea físico, virtual, nube privada, pública o incluso entornos edge. Sus características proporcionan beneficios a: » Desarrolladores. Mitigan los problemas de compatibilidad, versionado y portabilidad, simplificando el empaquetado y testeo del código de modo que estos se pueden despreocupar del detalle de los entornos de desarrollo y despliegue, y enfocarse en escribir código con valor de negocio. » Operaciones. La consistencia que ofrecen sobre la infraestructura de nube híbrida implica que los despliegues y operaciones sean predecibles y automatizables. Además, se pueden escalar de una manera automática ante aumentos de carga, con los ahorros que ello conlleva. » Infraestructura y recursos. Los contenedores arrancan más rápido que las máquinas virtuales y son más ligeros, lo que implica una mejor explotación de los recursos y mucha mayor escalabilidad.

ORQUESTACIÓN DE CONTENEDORES

La necesidad de orquestación y automatización surge cuando queremos desplegar cientos, miles o millones de contenedores. Kubernetes es un orquestador de contenedores open source que automatiza muchos de los procesos manuales asociados al despliegue, gestión y escalado de aplicaciones. Los clústeres de Kubernetes pueden abarcar hosts sobre infraestructuras de nube pública y del centro de datos, ya sea en máquinas físicas o virtuales. Ofrece beneficios adicionales tales como la maximización de los recursos físicos que requieren las aplicaciones, control y automatización de despliegues y actualizaciones, escalado de aplicaciones y recursos sobre la marcha, gestión de almacenamiento persistente, o chequeo y reparación de aplicaciones. En cuanto a infraestructura, el escenario que se ha de considerar es la nube híbrida, ya que es idónea para los requerimientos de escalabilidad, flexibilidad y agilidad que exigen las cargas de trabajo asociadas a aplicaciones nativas en la nube. Por ello, es necesario valorar plataformas de contenedores, disponibles tanto para el centro de datos como para nubes públicas, para proporcionar una experiencia consistente a los equipos de desarrollo y a los de operaciones. Los desarrolladores dispondrán de todo lo necesario para programar y testear de manera homogénea, usando la misma interfaz y herramientas en cualquier escenario. Operaciones puede desplegar en cualquier entorno y disponer siempre de las mismas herramientas.

GESTIÓN UNIFICADA DE CLÚSTERES Y APLICACIONES

Es importante que la plataforma elegida sea capaz de proporcionar servicios a los desarrolladores, como entornos integrados de desarrollo (IDE); a las aplicaciones (soporte de lenguajes, bases de datos, entornos de ejecución [runtimes] o automatización); y a la propia plataforma, que va a requerir soluciones para networking, registro de imágenes de contenedores, métricas y gestión de logs, chargeback, o soporte de los pipelines de CI/CD usadas en DevOps. Para despliegues en nube híbrida, o en entornos con un elevado número de clústeres de contenedores, es recomendable disponer de una herramienta de gestión que, desde un punto único, permita controlar los clústeres y aplicaciones, e incluir políticas de seguridad para disminuir los costes de operación. De este modo se implementa una gestión unificada de múltiples clústeres, se puede hacer gestión avanzada del ciclo de vida de las aplicaciones y disponer de un enfoque de cumplimiento, riesgo y control basado en políticas. Aplicando intermediación se puede conseguir el despliegue de las aplicaciones en los entornos más adecuados, por coste o por otros criterios, como los regulatorios. Para implementar esta actualización tecnológica para el desarrollo y despliegue de aplicaciones contenerizadas en un entorno de nube híbrida, empresas como BBVA han implantado la plataforma de contenedores Red Hat OpenShift, como atestiguaba su responsable global de infraestructura, servicios y sistemas abiertos en el Red Hat Summit: “Necesitábamos estar 100% seguros de que cada solución o nuevo proyecto implementado se convirtiese con éxito en un nuevo producto para nuestros clientes” . En la Administración pública, la Junta de Comunidades de Castilla-La Mancha (JCCM) también ha agilizado los servicios ofrecidos a los ciudadanos en modalidad multicanal con la implementación de Red Hat OpenShift.

Javier Sánchez Rubio

OpenShift Business Development Manager

RED HAT

redhat.com/es

Tras la adopción, Juan Pedro de Ruz Ortega, jefe del Área Tecnologías de la Información y Comunicaciones de la JCCM, ha comentado que todos sus nuevos servicios ahora están diseñados para seguir los principios de accesibilidad y movilidad multicanal respaldado por la infraestructura de Red Hat. Las tecnologías de contenedores y Kubernetes son fundamentales para responder a las necesidades de consumidores y usuarios. La diferencia en esta carrera por la innovación la va a marcar la disponibilidad de una plataforma completa, que permita utilizar componentes software innovadores (ya sean de las comunidades de código abierto o de fabricantes vanguardistas), y que posibilite una experiencia consistente y completa a los departamentos de desarrollo y operaciones, dentro del entorno de nube híbrida.

This article is from: