¿Qué es la infraestructura como código (IAC)?
Cuando se trata de automatización de infraestructuras, a menudo se oye el término infraestructura como código, también conocido como IaC.
Tradicionalmente, la infraestructura de TI (servidores, almacenamiento, red, etc.) se aprovisionaba manualmente o mediante herramientas. No existía un portal de autoservicio. Como resultado, una solicitud de aprovisionamiento de un servidor o una red podía tardar días o semanas en completarse.
Pero con la llegada de la computación en nube, el aprovisionamiento de infraestructura se ha convertido en algo sencillo, ya que los proveedores de la nube abstraen la mayor parte de las configuraciones complejas mediante la virtualización y las redes definidas por software (nubes privadas y públicas). Puede aprovisionar la red, los servidores y el almacenamiento en unos minutos.
Y lo mejor es que todo está basado en API. Todos los proveedores de nubes exponen APIs para interactuar con su plataforma para aprovisionar infraestructura. Si está basada en API, puedes utilizar cualquier lenguaje de programación para gestionar tu infraestructura informática. Y no sólo para aprovisionar, sino también para configurar los recursos aprovisionados mediante código.
Si utiliza código para aprovisionar y configurar la infraestructura, se denomina IaC (IaC). En pocas palabras, codificar el aprovisionamiento y la configuración de la infraestructura.
Con el concepto de IaC, puede seguir el mismo workflow que utiliza para el desarrollo de aplicaciones para el desarrollo de IaC. Es decir, versionar el código de la infraestructura en git, ejecutar pruebas unitarias y de integración y, a continuación, desplegarlo.
Con el tiempo, muchas herramientas han evolucionado para simplificar la IaC. Estas herramientas abstraen aún más la complejidad del código utilizando sus lenguajes específicos de dominio. En el backend, utiliza llamadas a API específicas de la nube para aprovisionar y gestionar los recursos. Ayuda a los administradores de sistemas e ingenieros sin conocimientos de programación a adoptar la IaC.