En vivo desde San Francisco. Desde su cambio del modelo de código abierto a BSL (Business Source License), Hashicorp tiene mucho que explicar a sus clientes y socios. La organización de su evento anual Hashiconf en San Francisco, al que se esperan 1.500 personas in situ (11.000 en línea) del 10 al 12 de octubre, es, por tanto, una buena oportunidad para revisar la estrategia y los últimos anuncios de productos del especialista en software. infraestructura y seguridad en la nube. Como muchos otros editores (Red Hat, MongoDB, Redis Labs, Sentry y Minio), Hashicorp ha abandonado el enfoque de código abierto MPL 2.0 (Mozilla Public License v2.0) que dio origen a sus productos, en particular la famosa Infraestructura como Código ( IaC) herramienta Terraform en 2014 para una licencia más restrictiva, Business Source License (BSL), que se considera "disponible en la fuente" y no de código abierto en ningún sentido tradicional. En respuesta, la comunidad disidente lanzó OpenTofuuna bifurcación de Terraform nacida de la frustración por la decisión de Hashicorp.

“He trabajado en el mundo del software de infraestructura durante unos 25 años. Y ofrecemos software de infraestructura de código abierto.[IaC]», nos explicó durante una conferencia de prensa en SF David Mc Jannet, director ejecutivo de Hashicorp, “pero también sé cómo crear empresas de código abierto exitosas […] y soy muy consciente de cómo los modelos de concesión de licencias deben evolucionar para garantizar que podamos ser socios sostenibles a largo plazo para poder crecer”. En una publicación publicada en el blog del editor.Armon Dadgar, CTO y cofundador de Hashicorp, fue sin embargo mucho más claro: “Los proveedores aprovechan los modelos OSS (software de código abierto) puro y la comunidad trabaja en proyectos OSS, para sus propios objetivos comerciales, sin recibir ninguna contribución material. en cambio. No creemos que esto esté en el espíritu del código abierto. Como resultado, creemos que los modelos de negocio de código abierto deben evolucionar para que el ecosistema siga proporcionando software abierto y disponible gratuitamente”. Una observación desafortunada pero lúcida: si el código abierto está en el centro de muchos proyectos y productos de software, los contribuyentes están dispersos y es difícil ganar dinero. Centreon, editorial francesa especializada en seguridad, nos explicó el pasado mes de junio que un fabricante francés estaba utilizando su herramienta en más de 70 sitios de producción, pero en su versión comunitaria. ¡Y los equipos técnicos pidieron soporte, pero sin considerar cambiar a la versión comercial del producto por falta de fondos!

David McJannet, director ejecutivo de Hashicorp desde junio de 2016, es un veterano de la industria de TI con experiencia en VMware y Microsoft. (Crédito SL)

“El catalizador de la transformación en la construcción de aplicaciones modernas, que se han convertido en una especie de agregado, se basa en este nuevo sustrato de que la nube es la infraestructura”, nos dijo el director general de la editorial. Como explica Hashicorp, “IaC reemplaza los procedimientos operativos estándar y las acciones manuales necesarias para administrar los recursos de TI con líneas de código. En lugar de configurar manualmente los nodos de la nube o el hardware físico, IaC automatiza la gestión de la infraestructura de procesos a través del código fuente”. Desarrollado en Go y compatible con las principales nubes, Terraform es utilizado por los equipos de DevOps para automatizar diversas tareas de infraestructura, como el aprovisionamiento de servicios en la nube. Terraform le permite declarar e implementar en forma de código, a través de archivos de configuración estructurados, toda la infraestructura subyacente, incluso si los servidores están asociados con diferentes proveedores, por ejemplo AWS o Azure. Terraform puede crear y gestionar estos recursos en paralelo. Por ejemplo, una infraestructura aloja un servidor web y una base de datos configurada en Terraform. Para agregar una segunda base de datos, simplemente agréguela en la configuración de Terraform, lo que creará una base de datos adicional que corresponda al estado declarado con el código.

Con motivo de su evento Hashiconf, Armon Dadgar, CTO y cofundador de Hashicorp, destacó durante su discurso de apertura el 11 de octubre las últimas características imaginadas para los productos del editor, a saber, Terraform, Packer y Waypoint para la infraestructura de piezas; Bóveda, Límite y Cónsul para la parte de seguridad, a la que volveremos mañana en un segundo tema. El producto estrella de Hashicorp, Terraform, se fortalece con la llegada de pruebas y mejoras en la interfaz de usuario destinadas a reducir errores en el código de infraestructura. "La comunidad Terraform ha creado varias herramientas de prueba excelentes, pero a menudo utilizan lenguajes de programación con todas las funciones como Ruby o Go. Durante algún tiempo, hemos querido integrar pruebas nativas en Terraform utilizando el lenguaje de configuración HashiCorp (HCL). eliminando así la necesidad de cambiar de contexto o aprendizaje adicional”, explica en un blog Yushuo Huang, director senior de marketing de productos Terraform en Hashicorp.

El historial de los resultados de las pruebas de un módulo se rastrea directamente en el registro privado. (Crédito Hashicorp)

Otra adición notable son las pruebas de módulos. Un componente esencial de Terraform, estos módulos son utilizados por los desarrolladores para estandarizar el aprovisionamiento de infraestructura. Sin embargo, por su propia naturaleza, un error en el código de un módulo puede causar daños, desde interrupciones hasta violaciones de seguridad. Como explicó Armon Dadgar en el escenario, Terraform 1.6 da la bienvenida a un marco de prueba directamente integrado en el registro privado, con un método de lanzamiento basado en ramas utilizado para controlar cómo y cuándo se lanzan los módulos, un alejamiento del lanzamiento actual basado en etiquetas Git. Sin embargo, si bien ejecutar pruebas automáticamente es útil, escribir los scripts puede ser una tarea ardua, especialmente considerando la necesidad de aprender un nuevo marco. “Los usuarios de Terraform Cloud Free pueden tener hasta cinco módulos integrados en las pruebas, mientras que los usuarios de Terraform Cloud Standard pueden tener hasta diez módulos integrados en las pruebas. Los clientes que utilicen el nivel Terraform Cloud Plus tendrán una cantidad ilimitada de módulos integrados en las pruebas”, afirma Yushuo Huang.

Los desarrolladores pueden copiar y pegar código de prueba generado por IA para ejecutar el marco de prueba Terraform. (Crédito Hashicorp)

Como admitió con humor el CTO de Hashicorp, ya no es posible realizar un discurso de apertura en ciencia ficción sin hablar de IA generativa. Por tanto, el editor lo implementa para facilitar la redacción de las pruebas del módulo. Sin embargo, la empresa cree que los resultados pretenden servir como punto de partida para los autores de módulos. "Nuestra nueva función de prueba de módulo generado aprovecha un modelo de lenguaje grande (LLM) para generar automáticamente un conjunto de pruebas personalizado para un módulo dentro del registro privado", asegura Yushuo Huang. “Este modelo está entrenado específicamente en HCL y el marco de prueba Terraform para ayudar a los autores de módulos a comenzar a probar su código de inmediato. » Al igual que con herramientas similares, Terraform Cloud generará un código de prueba personalizado para el módulo. Luego, el código se puede copiar o descargar desde la interfaz de usuario y agregar al repositorio del módulo, donde se guardará para su uso posterior.

Para responder a las preguntas sobre privacidad sobre el uso de los datos de la empresa para impulsar los modelos de generación de pruebas, el director de marketing especifica en su blog que "la seguridad de los datos de los clientes es muy importante, y nuestra generación cuenta con herramientas de prueba de IA que han sido diseñadas para que ningún cliente o comunidad Los datos del módulo se utilizan para entrenar modelos y los datos del módulo no se almacenan con proveedores externos ».

Facilitar implementaciones a gran escala

Además de las pruebas de módulos generados por IA, la compañía también demostró una validación mejorada del editor en la extensión Terraform para Visual Studio Code (ahora disponible para todos) y su concepto Stacks, que actualmente se encuentra en modo de acceso reservado (las inscripciones para pruebas están abiertas). Stacks es un nuevo enfoque que ayuda a los usuarios a automatizar y optimizar la coordinación, la implementación y la gestión del ciclo de vida de configuraciones Terraform interdependientes, reduciendo el tiempo y los gastos generales de gestión de la infraestructura, explica Stacks. 'editor. Aunque el enfoque modular de infraestructura de Terraform funciona bien para algunas aplicaciones, la compañía admite que "el despliegue y la gestión a escala a menudo siguen siendo tediosos, complejos y repetitivos". Se pueden organizar e implementar múltiples módulos Terraform juntos en una pila utilizando componentes, una construcción que agrupa diferentes sistemas interdependientes, como módulos de red y bases de datos. Una vez definido este conjunto de componentes, se puede replicar sin esfuerzo varias veces en las llamadas implementaciones en una pila. Esto es particularmente útil para implementar la misma infraestructura en múltiples entornos (por ejemplo, ensayo, control de calidad y producción) o regiones. Con diferentes valores de entrada en cada implementación, los usuarios pueden crear y ampliar consistentemente infraestructura compleja en una sola acción, agrega Yushuo Huang. Es una visión interesante de los problemas que encuentran los usuarios de Terraform cuando se enfrentan a implementaciones a gran escala. Aún así, la empresa no es la única empresa de infraestructura como código (IAC) que intenta trabajar en este espacio. Otros como CloudFormation History (Cdk) o Youngest Pulumi También tiene seguidores, incluso si el primero está dedicado a AWS y el segundo depende de una comunidad más pequeña que Terraform a pesar de su exitoso manejo. IaC tiene muchos otros beneficios, pero la velocidad, la precisión, la visibilidad de los datos y la seguridad son las principales razones por las que las empresas recurren a soluciones como Terraform.