Devops

ARTÍCULO DE OPINIÓN

DevOps y evolutionary architecture

Cómo DevOps y las arquitecturas evolutivas influyen positivamente en la industria, un artículo de Agustín Hernández, Alliance Manager de Microsoft en VISEO.

El mayor reto de todas las compañías en la era digital es ser tecnológicamente competitivos y al mismo tiempo ser eficientes en los costes IT. Muchas veces en la trepidante carrera por estar a la vanguardia se pierden muchas cosas por el camino que a la larga penalizan el cambio y la modernización.  Por eso es importante identificar los aspectos como arquitectura y pila tecnológica para no caer eliminados en las fase de grupos y poder competir por la “champion league”. Elegir a los jugadores, el entrenamiento y la estrategia son claves para jugar y ganar contra los equipos grandes.

 

Arquitecturas evolutivas aderezadas con microservicios

Los elementos arquitectónicos son "difíciles de cambiar a posteriori". Una arquitectura evolutiva se diseña para soportar cambios incrementales sin impacto.  Son beneficiosas porque el cambio normalmente es difícil de anticipar y costoso de modernizar. Si  la arquitectura está pensada para evolucionar, el cambio en el software se vuelve más fácil y económico. Es muy importante la toma de decisiones tempranas como: Estructura de la aplicación, la pila de tecnología, herramientas específicas o patrones de comunicación. En una arquitectura tradicional, estas decisiones se manifiestan temprano, antes de escribir el código. En una arquitectura evolutiva, esperamos el mejor momento posible para tomar decisiones. 

 

Los microservicios cumplen con esta definición debido a su fuerte principio de contexto acotado, lo que hace que la división lógica que ofrece “Domain Drive Design” sea una separación física. Los microservicios logran esta separación mediante prácticas avanzadas de DevOps como aprovisionamiento de aplicaciones, pruebas e implementaciones automatizadas. Debido a que cada servicio está desacoplado de otros servicios (a nivel estructural), la sustitución de un microservicio por otro se parece al intercambio de un bloque de Lego por otro.

 

“A medida que más personas se están dando cuenta del papel central de los sistemas de software en nuestro mundo humano del siglo XXI, saber cuál es la mejor manera de responder al cambio y mantenerse en pie será una habilidad esencial para cualquier líder de software.“ – Martin Fowler.

 

La cultura de trabajo DevOps es el complemento perfecto para entornos de microservicios

Arquitecturas distribuidas y desacopladas necesitan muchos puntos de control, despliegue, testing, Monitorización seguridad, control de costos… para todo esto el modelo de operación debe funcionar como un reloj y requiere que cada jugador realice su rol en cada espacio del campo en cada fase del partido, esto equivale al ciclo de vida de código. Utilizar microservicios sin aplicar buenas prácticas puede ser doloroso  ya que si no se aplican correctos criterios de diseño acompañados por una cultura de compañía  que incluya a las áreas de negocio ya que también son pieza fundamental en los procesos de desarrollo.

 

Recordemos que DevOps no es únicamente una serie de herramientas sino una cultura de trabajo que envuelve a todas las personas que intervienen con cualquier en el proyecto. Al hilo de esto, DevOps potencia un aspecto muy importante y diferenciador de antiguas prácticas ,  Devops permite visibilidad a todos los niveles ya que por su propia naturaleza hace que personas que tradicionalmente trabajaban en silos, ahora se tengan que comunicar, esto propicia que la información llegue a distintos responsables que acaban aportando valor al Proyecto. “Resultados inesperados surgen cuando alejas a las personas de las consecuencias de sus acciones.”  - Jez Humble.

 

¿Tienes un proyecto en mente?

 

Contáctanos