Las aplicaciones modernas deben ser rápidas, estar disponibles y ser seguras. Están formadas por numerosos microservicios, a menudo soportados por múltiples servicios de datos. La gestión de cada uno de estos servicios de datos en el mundo dinámico de Kubernetes es compleja, lleva mucho tiempo y deja poco margen para la innovación.
Gestionar las aplicaciones con estado en Kubernetes en un entorno de producción es una tarea difícil. Según un estudio que hemos realizado desde Pure Storage, los requisitos más importantes para los clientes son:
● Las copias de seguridad y la restauración (55%)
● La movilidad de los datos (49%)
● La gestión de la capacidad (49%)
● La alta disponibilidad (48%)
● La multinube (45%)
● El cifrado (43%)
● La recuperación de desastres (43%).
La mayoría de las aplicaciones utilizan algún tipo de base de datos, cola o almacén de clave-valor para gestionar el estado. Sin embargo, cuando hay que ejecutar estos servicios de datos en contenedores, los problemas se multiplican, porque los contenedores y los programadores populares como Kubernetes no se han diseñado para tratar los problemas relacionados con las bases de datos.
Estos son algunos de los problemas que plantean las bases de datos contenedorizadas:
A la complejidad de gestionar una base de datos contenedorizada hay que sumarle el hecho de que las aplicaciones desarrolladas con microservicios necesitan acceder a bases de datos SQL y NoSQL, como MySQL, PostreSQL, Cassandra y Couchbase, y a pipelines de transmisión, búsqueda e IA/AA, como Elasticsearch y Kafka. La administración de tantos tipos de servicios de datos es compleja, pero esta complejidad aumenta aún más debido al número de instancias de bases de datos que se utilizan para gestionar y escalar en distintos entornos de prueba, desarrollo y producción, zonas de disponibilidad y nubes.
Una de las maneras tradicionales de gestionar estos servicios de datos consiste en recurrir al scripting y a numerosas actividades manuales repetitivas, lo que conlleva un esfuerzo muy importante para garantizar que las bases de datos permanecen en línea y soportan las aplicaciones de misión crítica. Estas actividades muy manuales son propensas a los errores humanos y a los tiempos de inactividad excesivos y además no pueden automatizarse fácilmente con las herramientas de automatización de la infraestructura existentes.
Kubernetes proporciona un cierto soporte para esta automatización, pero la ejecución de los servicios de datos en Kubernetes sigue siendo compleja. Actualmente, los equipos de desarrollo y operaciones tienen que hacer un gran esfuerzo para gestionar los numerosos servicios de datos que las empresas tienen desplegados en Kubernetes, ya que cada uno de ellos tiene su propia serie de requisitos complejos relacionados con el rendimiento, la alta disponibilidad, la protección de los datos, la seguridad de los datos, etc. Por ello, en lugar de lanzar al mercado nuevas características y aplicaciones, estos equipos dedican una gran parte del tiempo a resolver los problemas y a gestionar el funcionamiento de estos servicios de datos.
Lo que los equipos de desarrollo y operaciones necesitan es una experiencia como servicio que proporcione unos servicios de datos fiables y con un buen rendimiento para sus aplicaciones que se ejecutan en Kubernetes, sin quedar en manos de un solo proveedor, que es lo que suele pasar con algunas plataformas de base de datos como servicio (DBaaS) alojadas por proveedores de servicios en la nube. Los desarrolladores tienen que acceder a unos servicios de datos fiables para sus aplicaciones, pero con las ofertas como servicio lo que hacen es consumir, pero no gestionar, la base de datos. Una manera de solucionar este problema consiste en disponer de una sola capa de gestión de los datos para todos los servicios con estado, independientemente del lugar en el que se ejecuten. Con una plataforma DBaaS de este tipo, es muchísimo más fácil ejecutar los servicios de datos en Kubernetes.
Este tipo de plataforma integrada permite que las empresas ejecuten automáticamente los servicios de datos gestionados, en cualquier nube y con un coste bajo. De este modo, pueden disfrutar de las ventajas de las bases de datos como servicio, sin quedar limitadas a un proveedor. Además, la plataforma automatiza la gestión de los servicios de datos, lo que deja más tiempo para la innovación. Esta clase de plataforma de software como servicio se ha diseñado para gestionar bases de datos on-premise o en la nube. Permite automatizar numerosas tareas rutinarias de gestión y administración de las bases de datos. Con una plataforma DBaaS eficaz, los equipos pequeños pueden dar soporte a muchos usuarios y proporcionar un funcionamiento fiable y una experiencia de usuario sencilla y en modo autoservicio.
Las herramientas tradicionales de realización de copias de seguridad y recuperación no son lo suficientemente granulares para abordar la complejidad de las copias de seguridad de los contenedores y las cargas de trabajo distribuidas de Kubernetes. Sin embargo, la función de realización de copias de seguridad de una plataforma DBaaS, que se ha desarrollado desde cero para Kubernetes, proporciona una protección de los datos y de la aplicación de nivel empresarial, así como una recuperación rápida, con la granularidad mejorada necesaria para proteger los datos a nivel de la aplicación. Los desarrolladores obtienen un plano de control definido por la aplicación, que permite que las aplicaciones se ejecuten en múltiples máquinas y que ofrece coherencia de la aplicación para las bases de datos distribuidas. Además, se integra totalmente en Kubernetes y proporciona reconocimiento de los espacios de nombres.
Una plataforma de almacenamiento de contenedores definida por software proporciona un almacenamiento persistente y servicios de datos para los contenedores y los microservicios. Además, oculta la complejidad de la infraestructura de almacenamiento subyacente, para proporcionar una sola capa de almacenamiento unificada para las aplicaciones nativas de la nube. Con un solo clic, los desarrolladores pueden desplegar un servicio de datos de producción de nivel empresarial, que permite la realización de copias de seguridad, la restauración, la alta disponibilidad, la recuperación y la seguridad de los datos, la gestión automatizada de la capacidad y la migración de los datos.
Con una plataforma DBaaS para Kubernetes, las bases de datos y otros servicios con estado se pueden desplegar y gestionar en cualquier clúster de Kubernetes con un solo clic, lo que proporciona a las empresas las ventajas de una base de datos gestionada, sin los inconvenientes de quedar limitadas a un proveedor. Una plataforma DBaaS hace que ejecutar los servicios de datos en Kubernetes sea mucho más fácil y libera a los equipos de desarrollo y operaciones para que se dediquen a la innovación y a otras actividades de mayor valor añadido.
En esta tribuna, Joaquim Borrás, consejero asesor de SISQUAL, explica cómo la inteligencia artificial transforma…
En esta tribuna, Adam Levine, CCO de Data4 Group, explica los retos para que los…
En esta tribuna, David Parry-Jones, Director de Ingresos de DeepL, analiza el impacto de la…
En esta tribuna, Ignacio Zaera, fundador y CEO de Simpling.pro, explica la importancia del sampling…
Sergio Rodríguez de Guzmán, CTO de PUE, explica en esta tribuna cómo la calidad de…
En esta tribuna, Mark Ryland, Director de Seguridad de Amazon, explica la importancia de una…