BACKGROUND IMAGE: iSTOCK/GETTY IMAGES

Evaluar Conozca los pros y contras de las tecnologías, productos y proyectos que está considerando.

Contradicciones en DevOps de base de datos enmaraña la automatización de TI

Las bases de datos son parte del proceso de modernización de aplicaciones, pero también pueden presentar un problema intratable para los equipos de DevOps.

Para muchas empresas, las palabras DevOps de base de datos presentan una contradicción de términos.

Las iniciativas de DevOps de base de datos se producen en dos áreas de la línea de automatización de TI de una empresa: la capa de pruebas de preproducción y el proceso de implementación de la producción. Y ambos ambientes plantean su propio conjunto de preguntas técnicas difíciles.

En DevOps para entornos de prueba de bases de datos, las organizaciones deben generar rápidamente clones del sistema para ofrecer datos que reflejen con precisión el entorno de producción, al tiempo que protegen la información corporativa sensible. Por otro lado, los cambios de la base de datos en la producción representan el abismo más amplio entre las técnicas de desarrollo de aplicaciones ágil y la capacidad de desplegarlas en infraestructuras de TI del mundo real.

DevOps de base de datos desafía los problemas de pruebas

Normalmente, los desarrolladores son los primeros en descubrir las dificultades técnicas de trabajar con bases de datos en entornos de prueba automatizados.

"No tienen los datos correctos", dijo Brandon Cipes, director gerente de DevOps en cPrime, una firma de consultoría ágil en Foster City, California. "¿Cómo hacen que el entorno de prueba ilustre la producción, y cómo mantienen ese ambiente actualizado y seguro?".

Las herramientas de gestión de datos de prueba están disponibles de proveedores como DBmaestro y CA Technologies, pero es aquí donde empiezan a surgir desafíos de personas y procesos, dijo Nirmal Mehta, tecnólogo jefe de la firma de consultoría Booz Allen Hamilton.

"Extraer los datos de producción de una cola y clonar el tráfico de producción para obtener insumos realistas puede ocasionar costos de infraestructura que muchas organizaciones no quieren pagar", dijo Mehta. "Se trata de no querer gastar el dinero para la automatización; DevOps está tratando de forzar la cuestión".

Los contenedores son el furor en las pruebas de aplicaciones automatizadas porque los desarrolladores pueden crearlos rápidamente y luego destruirlos, pero las aplicaciones de base de datos con estado aún no se prestan bien a la contenerización.

"Hasta cierto punto, hay una incongruencia fundamental entre las bases de datos y los contenedores", dijo E.T. Cook, principal defensor de la firma de consultoría etc.io, que ayuda a las empresas a desplegar contenedores.

Existen herramientas para el almacenamiento persistente en aplicaciones contenerizadas, pero los enfoques más probados no resuelven el problema de la verdadera portabilidad de datos, dijo Cook. Ésos requieren fijar un contenedor a un anfitrión, para que permanezca atado a un volumen de datos. Existen productos que ofrecen un almacenamiento persistente de contenedores verdaderamente distribuido, pero las empresas todavía deben aprender cómo administrar e integrar estos sistemas.

Las nuevas herramientas también abordan las bases de datos en contenedores para que se conviertan rápidamente en escenarios de prueba. Algunos ejemplos son la oferta de contenedores de Ocean9 para SAP HANA y el producto de contenedor de WinDocks para Microsoft SQL Server. Microsoft también admite la contenerización de SQL Server en su versión más reciente. En su mayor parte, las bases de datos en contenedores para entornos de prueba automatizados se aproximan más a la alineación de bases de datos y DevOps.

Las herramientas de DevOps de base de datos evolucionan, pero aún hay brechas

Nuevas herramientas siguen apareciendo para DevOps de base de datos en entornos de producción. Las herramientas de seguridad, como Vault de HashiCorp, Docker Secrets y Chef Vault, pueden automatizar la distribución de secretos de seguridad, como contraseñas y claves de acceso, en entornos dinámicamente cambiantes. Pero aún hay espacio para que estas herramientas mejoren la manera en que distribuyen permisos granulares.

"Por lo general, hay una brecha en el mercado en el conjunto de herramientas donde los subconjuntos de permisos no son fácilmente identificables dentro de perfiles de aplicación", dijo Nirmal Mehta, tecnólogo jefe de Booz Allen Hamilton. Aun así, hay muchas más herramientas de seguridad de base de datos dinámicas disponibles que las organizaciones están utilizando ahora mismo.

Los clientes empresariales han mostrado recientemente un mayor interés en las herramientas de aprovisionamiento de bases de datos rápidas, como las comercializadas por Datical y Redgate Software, conforme las aplicaciones tradicionales se incorporan al pliegue de DevOps, dijo Robert Stroud, analista de Forrester Research.

A pesar de la disponibilidad de estas herramientas, muchas empresas aún desarrollan sus propias capas de abstracción para administrar múltiples tipos de bases de datos. Estas capas de abstracción actúan como amortiguadores entre las aplicaciones y las bases de datos, para que los cambios en cualquiera de ellos no interrumpan al otro, dijo Cipes de cPrime. Los enfoques de estas herramientas de abstracción pueden variar ampliamente dependiendo de los datos de una empresa individual y de los tipos de bases de datos utilizados.

"Espero que habrá más jugadores [proveedores] en el próximo año o dos", predijo Cipes. "Los clientes están haciendo cada vez más preguntas sobre datos".

Las bases de datos de producción presentan desafíos adicionales de DevOps

Incluso cuando los problemas de DevOps en bases de datos se resuelven en la prueba, el abismo sigue siendo amplio entre el entorno de prueba y la infraestructura de producción donde se ejecutarán realmente las aplicaciones. Las bases de datos de producción pueden ser engorrosas para actualizar, requieren el conocimiento tribal de esquemas de datos complejos para acceder y operar, y son lentas para escalar.

Para abordar estos problemas, algunas organizaciones han movido las aplicaciones de producción a bases de datos NoSQL, que no requieren esquemas. Sin embargo, muchos han retrocedido después de que los sistemas NoSQL presentaran problemas de gestión en la producción, dijo Cook.

"Muchos equipos se dieron cuenta de que, cuando la gente decía que MongoDB era más simple, significaba para la instalación", dijo Cook. "Pero para una aplicación de producción, la gente termina por tener que construir un esquema y un sistema de sanitización de datos encima de todos modos, y si no eres un DBA [administrador de bases de datos], NoSQL se convierte en un desastre muy fácilmente".

Al mismo tiempo, las bases de datos como PostgreSQL han avanzado en los últimos 18 meses para incorporar objetos no esquemáticos, que permiten que los datos no estructurados sean parte de las consultas contra índices.

"De repente, Postgres se convirtió en el mejor de ambos mundos", dijo Cook.

El resultado es que muchas organizaciones se encuentran con un parche de diferentes bases de datos que van desde bases de datos en memoria, como ElastiCache y Redis, a almacenes de datos centrales tradicionales en sistemas MySQL y Postgres, y repositorios de objetos no estructurados en bases de datos NoSQL, como Mongo Y DynamoDB de Amazon. Esto puede cargar a los DBAs con demasiados sistemas para administrar en el entorno de producción.

Muchas organizaciones recurren a servicios de base de datos en la nube para evitar la necesidad de contratar y entrenar ejércitos de DBAs. Los servicios de base de datos en la nube también pueden resolver problemas comunes de bases de datos locales con un rápido escalamiento y un ajuste de desempeño en la producción a medida que cambian las aplicaciones. Como siempre, la computación en la nube viene con advertencias sobre los costos operacionales y la seguridad de los sistemas fuera del firewall corporativo.

Y todo eso, por supuesto, supone que los DBAs de una organización han acordado venir al viaje de DevOps de base de datos.

Este artículo se actualizó por última vez en agosto 2017

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close