GitOps como única fuente de verdad en el desarrollo de aplicaciones cloud nativeAlejandro de Fuenmayor 23 marzo, 2021 Probablemente os hayáis encontrado alguna vez en la tesitura de estar programando o trabajando con una hoja de cálculo y que, de repente, algo se tuerza. Pasar de ir todo conforme a los planes y estar cerca de la implementación a que no funcione. Uno entonces empieza a revisar, de arriba abajo, de derecha a izquierda pero, por mucho que revise, añada o quite, el problema sigue ahí. Se pierde tanto tiempo que sería el equivalente a rehacer desde cero, que es lo que al final se acaba haciendo… Ahí radica la utilidad de GitOps para aplicaciones nativas en la nube. Y es que la situación que describía es perfectamente extrapolable a cualquier proyecto de transformación digital. Con la dificultad añadida de que esa gestión o trabajo no es individual, sino colectivo. El proceso implica a diferentes departamentos, incluso a agentes externos a la organización. En mi día a día profesional reconozco pocas cosas de las que aprendí en la escuela o la universidad. Todo a nuestro alrededor -la sociedad, las ciudades- también ha cambiado tremendamente en los últimos años. Incluso el liderazgo económico y empresarial. Y, cómo no, el mundo de la tecnología, que, además, impulsa y realimenta todos los demás cambios. GitOps para simplificar y acelerar las implementaciones de aplicaciones Hace tiempo que dejamos de tratar a nuestros sistemas como infraestructuras inmutables.. Esto supuso un cambio de paradigma para muchos departamentos de sistemas y uno de sus retos actuales es disponer de “una única fuente de verdad”. Me explico: a la hora de analizar y proponer mejoras en los servicios TIC es muy útil contar con un repositorio que defina qué es lo que hay desplegado y todas las versiones de código e infraestructura que se han ido utilizando (las fotos intermedias). GitOps se ha establecido como el modelo operativo para el desarrollo y construcción de aplicaciones nativas en la nube desde la aparición de los contenedores como pieza central de la implementación de iniciativas agile en los departamentos de sistemas. GitOps tiene como motor de sus operaciones, cómo no podía ser de otra manera, a Git, la herramienta de gestión de versiones desarrollada por Linus Torvald. Sí, el padre de Linux, uno de los mayores fenómenos alrededor del movimiento del software libre. Y, por supuesto, Git, como sistema de control de versiones distribuido, se basa en una licencia de código abierto, que permite gestionar el despliegue de código con la velocidad y eficiencia que los departamentos de sistemas requieren en el entorno VUCA actual. Una visión extremo a extremo Desde el nacimiento de Kubernetes como herramienta para la gestión de contenedores y microservicios, el modelo GitOps ha definido diferentes buenas prácticas en lo que a la administración de clústeres de Kubernetes y entrega de aplicaciones se refiere. Git se usa como una fuente única de verdad para la infraestructura declarativa y las aplicaciones. Permite monitorizar cada uno de los elementos desplegados en el clúster y alerta de diferencias entre el código del repositorio Git y la infraestructura y aplicaciones desplegadas. La metodología GitOps, junto a diferentes modelos de trabajo como implementación y distribución continua (CI/CD), permite disponer de una visión extremo a extremo de todo el proceso de creación y despliegue de infraestructura y aplicaciones. Esto garantiza la reducción de los tiempos de entrega de nuevas versiones, elimina errores y permite sistemas mucho más robustos, en lo que a pruebas unitarias y de seguridad se refiere. Pilares de una correcta implementación de GitOps A continuación os dejo los cuatro principios que hay que tener en cuenta para implementar de forma correcta la metodología GitOps: Todos los sistemas han de estar descritos de forma declarativaLas versiones del estado ideal de la plataforma serán custodiadas en GitLa gestión de cambios se automatizará y centralizará en un único sistema/herramienta.Y, por último, pero no menos importante, hay que monitorizar y gestiona los entornos mediante agentes para alertas ante cualquier anomalía entre el estado deseado y los recursos desplegados. GitOps es una solución para incrementar la productividad de los recursos, aumentar la estabilidad de los sistemas, dotarlos de escalabilidad “ilimitada”, mejorar la experiencia de los desarrolladores o alcanzar mejores estándares de seguridad. Imagen; spacemoeba El talento como la fuerza motriz que impulsa a la organización y la cohesionaMiríadax: la formación exponencial que requiere la era digital
Clara Estrada Merayo Importancia de las soft skills en los futuros líderes digitales: la LEDU STEM Cátedras Telefónica Decía el filósofo Karl Popper que hacemos combatir a los argumentos para que no lo hagan las personas. Y hacer combatir a los argumentos no es otra cosa que...
Mercedes Núñez Noticias fantásTICas de junio Me ha encantado la campaña de turismo de Islandia, OutHorse your email. Juega con el término «outsource» y podría traducirse como «Externaliza tus correos electrónicos a un caballo». A...
Equipo Editorial Siete claves del retail en este momento En este post vamos a ver las siete claves del retail en este momento, que es un sector que podríamos decir que se enfrenta a su «reseteo» o reinicio....
Equipo Editorial Diez aclaraciones sobre agile: una transformación pendiente Agile tiene adeptos y también muchos detractores. Las metodologías -alguien decía que tienen nombre de juegos de sobremesa- erigidas en religión, un lenguaje ininteligible y una aplicación estricta de...
Equipo Editorial Doce posts sobre liderazgo Sobre el concepto de líderes han corrido ríos de tinta, y más aún de un tiempo a esta parte. Los buenos ejemplos de gestión no abundan, lo cual justifica...
Mercedes Núñez Misiones de la Administración pública en el horizonte 2030 Ya escribí de los “Desafíos de la Administración en la era pos-COVID”. Ahora -y es el quinto año- la comunidad NovaGob ha tomado el pulso de nuevo a los...