TI

Las bases de datos en DevOps requieren una gestión de datos ágil

Las bases de datos son una parte crítica de DevOps, pero cuando se requiere la agilidad de la base de datos, los desarrolladores y operadores a menudo se sirven con diferentes propósitos. Aquí hay algunas estrategias recomendadas que pueden ayudar.

Las bases de datos y DevOps parecen agua y aceite. Si bien las bases de datos se consideran entidades estancadas, DevOps es conocido por ser ágil y ofrecer una entrega continua, lo que requiere muchos cambios en un período de tiempo muy corto. Sin embargo, las aplicaciones no se pueden entregar sin datos. La base de datos debe ser parte de DevOps y no funcionar con propósitos cruzados, lo que puede parecer difícil. El uso de las herramientas y técnicas adecuadas para mantener la flexibilidad de las bases de datos (en algunos casos, el uso de almacenes de datos separados y más pequeños) puede contribuir en gran medida a lograr ese objetivo, dicen los expertos.

Lo mejor de DevOps es que debe ser ágil y rápido. «Si el núcleo del valor de su negocio radica en los datos que almacena y administra para sus clientes, es fundamental tener la flexibilidad para cambiar los datos de manera rápida, fácil y confiable», dijo Blake Smith, Director de Ingeniería de Infraestructura en Sprout Social. “La entrega continua tiene que ver con acortar el tiempo desde que se crea el valor hasta que llega a manos de los clientes”.

Desafortunadamente, la mayoría de los equipos se olvidan de cambiar el modelo de datos cuando cambian el código de la aplicación a través de la entrega continua, dijo Smith. Si bien la necesidad de flexibilidad se puede satisfacer con tecnologías de base de datos sin esquema o NoSQL, los equipos a menudo no desarrollan una estrategia para administrar los cambios en las estructuras de datos. Esto hace que la base de datos quede inutilizable con aplicaciones ágiles. Agregó que las empresas deben adaptarse a las cambiantes necesidades de datos comerciales en las aplicaciones y mantener una complejidad baja. Esto comienza con la base de datos.

Dónde encajan las bases de datos en DevOps

Por definición, DevOps es la fusión de desarrollo y operaciones trabajando en equipo. Según Robert Heuts, director de ingeniería de software de POP, las bases de datos se encuentran en el dominio de las operaciones y, por lo tanto, se convierten en una parte importante de DevOps. Las operaciones no pueden ignorar lo que está haciendo el desarrollo cuando se trata de garantizar que los datos impulsen las aplicaciones, y viceversa.

«El problema con las bases de datos es que no son transitorias por diseño, lo que hace que empujarlas a través de una canalización de entrega continua, por ejemplo, sea mucho más difícil que el código», dijo Heuts. Para complicar las cosas, los datos de producción deben pasar por la canalización de forma anónima, lo que convierte a la base de datos en uno de los aspectos más difíciles de DevOps. Esto requiere más esfuerzo, y garantizar que la arquitectura y el contenido se puedan migrar de manera segura y eficiente en un entorno de entrega continua puede tener un gran impacto.

modo de procesamiento

Sin embargo, Joshua Eichorn, CTO de Pagely, dijo que simplemente cambiar el esquema de la base de datos mediante programación no resolverá todo. «Una nueva versión puede requerir cambios de esquema que requieran implementaciones simultáneas con el resto de la aplicación».

LEER  Google quiere usar sus capacidades de búsqueda y aprendizaje automático para ayudar a más personas a encontrar trabajo

A diferencia del resto de la pila, los cambios de esquema tampoco se pueden realizar en una copia de la base de datos y luego reemplazarlos como lo hacen los equipos con instancias o contenedores. La base de datos es la parte principal de la aplicación y no se puede voltear fácilmente. Como resultado, los equipos a menudo tratan la base de datos como una entidad separada y aplican cambios de esquema manualmente fuera de una configuración de entrega continua, dijo Eichorn.

featureddownload2

Guía de un líder de TI para hacer que DevOps funcione

Cada vez más organizaciones se suben al carro de DevOps y se benefician de una mayor productividad y flujos de trabajo más fluidos. Este libro electrónico analiza cómo aprovechar al máximo un enfoque DevOps.
Gratis para suscriptores de Tech Pro Research.

Mover a una base de datos más ágil

Las operaciones también pueden inspirarse en el desarrollo cuando se trata de administrar bases de datos. Según Kevin McGrath, arquitecto senior de CTO en Sungard Availability Services, los microservicios y la infraestructura inmutable de compilación y reemplazo están alejando a los equipos de una sola base de datos hacia un almacén de datos más pequeño. Esto significa pasar de una base de datos relacional o NoSQL que proporciona datos para muchas aplicaciones a varias bases de datos que admiten cada servicio.

Esto ayuda a respaldar la integración continua y la entrega continua para DevOps. El código debe moverse rápidamente a través de la canalización y los cambios en la base de datos deben mantenerse, dijo McGrath. Los cambios más pequeños se pueden enviar rápidamente a producción al habilitar o deshabilitar indicadores de funciones para tablas, columnas, documentos y procedimientos almacenados. Luego, la base de datos se incorpora a la infraestructura como código y comienza a parecerse a otros elementos de configuración.

Eso no significa cambiar constantemente los datos y la estructura de la base de datos, dijo McGrath. «Los datos y la estructura de una base de datos deben cambiar tanto como los servicios que satisfacen sus necesidades». Si bien esto puede parecer contradictorio, la implementación de la infraestructura donde reside la base de datos y la práctica constante de restauraciones de copias de seguridad y fallas de maestro a esclavo aumentarán con la paga. apagado con el tiempo. Ayuda a probar cómo la base de datos y todo el entorno manejarán las fallas, lo que ayuda a medir cuánta carga puede manejar, dijo.

Obviamente, la base de datos siempre estará entrelazada con DevOps, ya que las aplicaciones creadas por los equipos de desarrollo dependen de la base de datos para funcionar. Para el equipo de operaciones, los almacenes de datos más pequeños, los cambios en la arquitectura y las pruebas repetidas de fallas pueden ayudar a proporcionar el backend que ambos equipos necesitan para implementaciones ágiles y entrega continua.

LEER  El 66% de los estadounidenses no quiere que la IA ayude con las decisiones de contratación

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba