Fragmentación en entornos Cloud, DevOps y DevSecOps
¡Hola! Y bienvenido al primer artículo de una serie de cuatro sobre la fragmentación en entornos Cloud, DevOps y DevSecOps.
En esta primera publicación haremos una pequeña introducción al concepto de la fragmentación que luego nos ayudará a poner contexto en los siguientes artículos.
Hace ya un tiempo vengo observando (y seguro que tú también) que a medida que aumenta el nivel de madurez de ciertas tecnologías y ciertos ámbitos tecnológicos también crece la diversidad de opciones, herramientas, productos y metodologías disponibles. Esto es debido a que cuanto más madura es una tecnología más volumen y tipos de uso se le da. Eso está muy bien ya que a más variedad más opciones y mayor grado de adaptación se alcanzará en cada caso que tengamos sobre la mesa y para cada requisito. por otro lado, el mercado y nuestros propios ecosistemas sufren una fragmentación de un “todo” formado por cada vez más piezas diferentes.
Tener muchas piezas nos permite cubrir un amplio abanico de necesidades, pero sumamos (o multiplicamos) complejidad en la gestión de nuestro parque tecnológico, e incluso, en la gestión de los propios equipos de trabajo y el conocimiento que deben tener éstos.
¿Es la fragmentación algo casual o inmediato?
Pero la fragmentación no es algo casual o inmediato. Por poner ejemplos podemos decir que la fragmentación es consecuencia de, entre otras, las siguientes situaciones:
- Aparición de nuevos players.
- Aparición de nuevas tecnologías y/o estándares.
- Nuevos productos o servicios de players existentes.
- Fusión o compra de empresas de terceros.
- Fusión o compra de empresas en la que nuestra organización se vea involucrada.
- Incorporación de nuevos profesionales o equipos.
- Falta de gestión y/o de un marco de trabajo claro.
La importancia de un marco de trabajo adecuado
Ahora bien, no podemos ponernos en contra de la evolución tecnológica ni del negocio de las organizaciones, equipos o individuos. Pero siguiendo el último punto de la lista, lo primero que debemos hacer tanto en Cloud, DevOps, DevSecOps y cualquier otro ámbito es definir un marco de trabajo adaptado a nuestras necesidades, vivo en el tiempo y en continua revisión y evolución. Un marco de trabajo que refleje las tecnologías, herramientas y metodologías necesarias para que una organización alcance sus objetivos. Como se diría en SAFe: Un contexto en continua exploración.
Puede parecer que un marco de trabajo pone barreras a la innovación o a la evolución tecnológica, pero no se trata de poner límites, se trata de ofrecer los mecanismos, procesos, piezas tecnológicas y metodologías oportunas para asegurar la calidad y la continuidad del negocio mientras se innova y evoluciona.
Los orquestadores, una pieza clave contra la fragmentación
Sé lo que estás pensando: lo mejor para luchar contra la fragmentación es utilizar productos que nos ayuden a centralizar todo en un único punto, y te digo que no vas desencaminado, pero no es así del todo: para luchar contra la fragmentación, al menos como parte del enfoque de estos artículos, necesitaremos productos, si, pero no serán centralizadores o aglutinadores, serán orquestadores.
La diferencia entre un centralizador y un orquestador es que el primero busca ser el protagonista dentro de un ecosistema, busca ser una pieza indispensable y a la larga resultan ser puntos de atadura ante los cambios; un orquestador, en cambio, busca dar sentido a otras piezas, es un acelerador, un facilitador y un maximizador del potencial de todo un ecosistema.
El hecho de contar con orquestador y no con centralizadores sigue una filosofía que debería ser clave en cualquier estrategia tecnológica de hoy en día: hay que primar los procesos y el valor de las ideas por encima de las piezas tecnológicas. Es decir (y poniendo un ejemplo básico), lo importante es ser consciente de que tienes la política de versionar tu infraestructura Cloud y desplegarla siguiendo el concepto de infraestructura como código.
En este punto lo primordial es ser consciente y también velar por la buena ejecución de esa política. Ahora bien, lo que debemos tener en el foco es esa idea y la forma que tenemos de trabajar con ello, y lo secundario debería ser la elección de la pieza tecnológica para eso (Terraform, AWS CloudFormation, etc.). Claro que la tecnología importa en la definición de todo proceso, pero a mayor grado de abstracción logremos, menor dependencia tendremos de un entorno fraccionado.
Espero que te resulten interesantes los artículos!