Infrastructure as Code (IaC) permite que una empresa automatice sus m¨¦todos de aprovisionamiento para poder escalar la nube de manera efectiva, ahorrando tiempo y dinero.
Infrastructure as Code permite que los negocios controlen cambios y configuraciones de un ambiente en la nube de forma mucho m¨¢s eficiente. IaC ofrece las pr¨¢cticas de DevOps que permiten que los desarrolladores y operaciones trabajen de forma m¨¢s cercana en el despliegue de m¨¢quinas virtuales, las redes virtuales que se construyen a su alrededor y las aplicaciones dentro de ellas.
Una de las decisiones que deben tomarse para potenciar IaC es si se deben hacer cambio a su ambiente con automatizaci¨®n imperativa o declarativa. La mayor¨ªa de la IaC es declarativa por naturaleza. Esta es una forma m¨¢s f¨¢cil de verlo: imperativo vs. declarativo es la diferencia entre c¨®mo deber¨ªa operar el programa vs. lo que el programa necesita lograr.
Para hacer cambios de automatizaci¨®n imperativa a su infraestructura, puede usar una Command Line Interface (CLI). Dirige los cambios primero hacia la nube dentro de un container, luego a la m¨¢quina virtual (VM) y luego a la nube privada virtual, en ese orden, a trav¨¦s de un script. Este es un checklist detallado, pero si se necesita cambiar la configuraci¨®n despu¨¦s del empuje hacia varias m¨¢quinas, se tienen que rehacer los pasos y el script.
Un enfoque de automatizaci¨®n declarativa requiere creaci¨®n de metas. Por ejemplo, en lugar de usar el CLI y listar paso por paso la configuraci¨®n exacta para una VM, simplemente dir¨ªa que quiere una VM con, digamos, un dominio adjunto, y dejar que la automatizaci¨®n haga el resto. El enfoque declarativo le permite declarar m¨¢s f¨¢cilmente qu¨¦ es lo que las herramientas de automatizaci¨®n necesitan lograr.
Mutable vs. inmutable
El desv¨ªo de las configuraciones es un gran problema cuando se trata de la configuraci¨®n de cualquiera y de todas las partes de la infraestructura. Esto ocurre cuando se tiene una infraestructura mutable. Mutable significa que es propenso al cambio. Si una parte de la infraestructura cambia, se desalinea del resto. Lo m¨¢s importante en lo que respecta a la seguridad es que se debe establecer una aplicaci¨®n consistente de configuraciones a lo largo de la infraestructura.
Una infraestructura inmutable no puede cambiarse una vez que se despliega. A¨²n ocurrir¨¢n los cambios, pero se har¨¢n a los estados declarativos originales. Una vez que est¨¢n listos los cambios, todos los dispositivos o configuraciones se cambian de forma consistente. La consistencia es necesaria desde una perspectiva de seguridad porque los hackers s¨®lo necesitan una puerta abierta para entrar. Cerrar todas las puertas de la misma forma complica las cosas para el hacker.
El desarrollo, prueba y despliegue de aplicaciones a un ambiente de producci¨®n a menudo requiere que los desarrolladores esperen a la producci¨®n o viceversa. Es posible hacer que el despliegue sea m¨¢s r¨¢pido y presente menos fricci¨®n cuando se hacen las configuraciones virtuales y de red a trav¨¦s de un sistema controlado. Los desarrolladores pueden solicitar entonces containers o m¨¢quinas virtuales a trav¨¦s de una solicitud automatizada con el mismo nivel de estabilidad que se aplica al c¨®digo. Esto da como resultado mejores versiones que son m¨¢s f¨¢ciles de rastrear.
Art¨ªculos Relacionados
Investigaciones Relacionadas