TI se encuentra en medio de un cambio. Casi todo sobre la forma en que las organizaciones entregan y crean aplicaciones está cambiando, en lo que se conoce como transformación digital.
Esa transformación digital se puede caracterizar por tener tres elementos principales. En primer lugar, ve la habilitación digital de los procesos dentro de las organizaciones y hacia los clientes y socios.
En segundo lugar, está fuertemente influenciado por la nube, por el uso literal de los recursos de la Nube o por el uso de modelos operativos similares a la Nube. En tercer lugar, la forma en que se lleva a cabo el desarrollo de aplicaciones también está cambiando, a un modelo de implementación e integración continua que permite cambios iterativos frecuentes.
En el pináculo de estos tres elementos se encuentra la contenedorización, que reúne la capacidad de crear aplicaciones en un modelo de desarrollo continuo y que son supremamente autónomos, altamente escalables y portátiles, al mismo tiempo que son granulares en términos de los componentes de servicios que encapsulan.
No es exagerado decir que las aplicaciones en contenedores, implementadas y administradas a través de una plataforma de orquestación como Kubernetes, desempeñarán un papel fundamental en la evolución de TI de la próxima década. De acuerdo con Gartner, el 85% de las organizaciones ejecutarán contenedores en producción para 2025, hasta del 35% en 2019.
Los contenedores se pueden ejecutar a una densidad mucho mayor que las cargas de trabajo virtuales tradicionales, lo que significa que se requieren menos servidores. Esto tiene el efecto colateral de reducir los costos de licencias y, lo que es más importante, los requisitos de energía.
Por estas razones, estamos comenzando a ver que la contenedorización respalda la reducción de costos. iniciativas y casos comerciales más amplios, con organizaciones que apuntan al 25% al 40% de las aplicaciones como punto de partida común.
Pero ¿qué sucede con el almacenamiento, la protección de datos, las copias de seguridad, las instantáneas, la replicación, la alta disponibilidad y la recuperación ante desastres? Estos son vitales para la infraestructura de aplicaciones de una organización, pero pueden ser un desafío en las operaciones en contenedores.
Antes de buscar formas de resolverlo, veamos por qué los contenedores son tan importantes y cómo funcionan.
La agilidad de la implementación de aplicaciones en contenedores
Supongamos que el negocio principal de una organización se centra en lanzamientos frecuentes de muchos productos nuevos con picos rápidos en la demanda y los requisitos de análisis que lo acompañan. Podría ser una operación de emisión de tickets, por ejemplo, con picos repentinos y masivos en las ventas.
Aplicaciones construidas tradicionalmente en una arquitectura de tres niveles (cliente-servidor-base de datos) sería lenta de implementar, no escalaría bien y sufriría bajo altos niveles de demanda. Los contenedores están concebidos para lidiar exactamente con esa situación.
Esto se debe a que los contenedores encapsulan la miríada de componentes de una aplicación, lo que significa que muchos de estos microservicios son reutilizables a medida que se desarrollan nuevas aplicaciones, y pueden multiplicarse rápidamente para satisfacer las demandas de escalabilidad.
Además, los contenedores mantienen toda la conectividad API con aquellos de los que dependen y se pueden trasladar a numerosos entornos operativos. Entonces, por ejemplo, ese aumento repentino y rápido en la demanda de tickets para eventos podría acomodarse mediante la reproducción rápida de instancias de servicios en contenedores interconectados y expandirse a múltiples centros de datos, incluso en la Nube pública.
Los fundamentos técnicos de los contenedores, muy simplificados, son que es una forma de virtualización. A diferencia de los servidores virtuales, se ejecutan directamente en el sistema operativo host y sin un hipervisor intermedio.
Eso significa que los contenedores son una máquina virtual mucho más granular y liviana que por lo general, proporciona componentes discretos de toda la aplicación, conectados por código (es decir, API).
Si bien no hay hipervisor ni la consiguiente sobrecarga, los contenedores se benefician de una capa de orquestación, proporcionada por herramientas como Kubernetes, que organiza uno o más contenedores en ejecución, cada uno con su código, tiempo de ejecución, dependencias, llamadas de recursos, en pods. La inteligencia para ejecutar pods se encuentra sobre ellos en uno o más clústeres de Kubernetes.
El desafío del almacenamiento y la copia de seguridad de Kubernetes
Pero uno de los mayores desafíos a superar con Kubernetes es el almacenamiento y la protección de datos. Las raíces del problema se remontan al origen de los contenedores, que originalmente estaban destinados a ejecutarse en una computadora portátil de desarrolladores como una instancia efímera y para los cuales el almacenamiento de datos solo persistió mientras se ejecutaba el contenedor.
Sin embargo, dado que los contenedores se convirtieron en un enfoque empresarial dominante para el desarrollo de aplicaciones, eso simplemente no funcionaría. La mayoría de las aplicaciones de una organización empresarial tienen estado, lo que significa que crean, interactúan y almacenan datos.
Orquestación por encima del orquestador
Por lo tanto, los clientes que desean implementar contenedores con almacenamiento de clase empresarial y protección de datos deben considerar un conjunto de productos emergentes.
Esta es la plataforma de administración de almacenamiento de contenedores, desde donde pueden ejecutar Kubernetes y aprovisionar y administrar sus necesidades de almacenamiento y protección de datos.
¿Qué deben buscar los clientes en esta categoría de productos?
Una cosa clave a tener en cuenta es que cualquier producto de almacenamiento de Kubernetes debe ser nativo del contenedor, lo que significa que los requisitos de almacenamiento de una aplicación se implementan como microservicios en contenedores en los que los requisitos de aprovisionamiento, conectividad y rendimiento se escriben como código, con todo el dinamismo y eso contrasta con otros métodos, como CSI o Container Storage Interface, que se basan en controladores codificados para el almacenamiento asignado a los contenedores.
Mientras tanto, una plataforma de almacenamiento de Kubernetes nativa de contenedores definida por software debe proporcionar acceso al almacenamiento de bloques, archivos y objetos, y también debe poder utilizar el almacenamiento en la nube. Eso significa que los datos deben ser tan portátiles como la aplicación en contenedores, deben administrarse a través de un plano de control común y deben escalar y curarse de forma autónoma.
Cuando se trata de protección de datos, dicho producto debe proporcionar todos los métodos clave para proteger los datos, incluidas copias de seguridad e instantáneas, replicación síncrona y asíncrona y funcionalidad de migración Nuevamente, esto debería permitir que la nube sea el origen o el destino de estas operaciones.
Para manejar la escalabilidad de los entornos de Kubernetes, el producto debe poder administrar clústeres, nodos y contenedores que se ejecuten en cientos, miles y cientos de miles respectivamente, con una capacidad de almacenamiento manejable de decenas de petabytes.
Por último, debe ser inteligente, con una administración automatizada basada en reglas que, por ejemplo, cree, replique y elimine contenedores según lo determinen los activadores de monitoreo preestablecidos, así como aprovisione y redimensione el almacenamiento según sea necesario.
Una vez que encuentre e implemente una solución que cumpla con todos estos requisitos, pronto verá por sí mismo por qué el 85 % de las organizaciones dependerán de los contenedores para 2025 y se preguntará por qué no dio el salto antes.
Por Julio César Castrejón, Country Manager para México de Pure Storage
RECOMENDAMOS Conflicto en la C-suite: ¿quién decide cuándo gastar dinero para ganar dinero?
Recuerda dejarnos un comentario
Te puede interesar