CloudFormation o Terraform ¿Cual usar?
Vamos a señalaros algunas diferencias básicas entre CloudFormation y Terraform, y algunas ideas para que podais tomar una decisión a la hora de elegir la herramienta adecuada para tu proyecto.
Publicado el 23 de Agosto de 2018
Compartir
Vamos a señalaros algunas diferencias básicas entre CloudFormation y Terraform, y algunas ideas para que puedas tomar una decisión a la hora de elegir la herramienta adecuada para tu proyecto.
Cloudformation
- CloudFormation es la solución oficial de Amazon Web Services (AWS) para manejar infraestructura como código.
- Soporta casi todos los tipos de recursos que define Amazon.
- Se escribe en JSON o YAML.
- Además de funcionar en Amazon Web Services funciona también en OpenStack, a través del servicio Heat, aunque con algunas limitaciones.
- Resulta muy sencillo de usar a la hora de romper infraestructuras monolíticas creando Substacks.
Terraform
- Terraform es la solución de HashiCorp para la infraestructura como código.
- Es una solución independiente del sistema de nube que queramos usar, se puede usar con AWS, con OpenStack y muchos otros proveedores.
- Cada proveedor puede ofrecer mayor o menor soporte a la nube que va a usar por detrás.
- Soporta el refresco de recursos desde la nube, es decir, si algún recurso se borra, podemos notificárselo a Terraform.
- Usa un lenguaje propio: HCL (HashiCorp Configuration Language).
CloudFormation o Terraform ¿Qué usar?
Sí tenemos que decidir entre usar CloudFormation o Terraform, tenemos que tener en cuenta varios aspectos importantes.
CloudFormation nos puede interesar si...
- No necesitamos soporte para otros proveedores de nube.
- Solo estamos usando Amazon Web Services.
- Si necesitamos acceso a casi todos los tipos de recurso de AWS que CloudFormation puede proveer.
- Si queremos soporte oficial de AWS, ya que de lo contrario no nos lo podrán dar.
En el caso de Terraform puede ser interesante si...
- Tenemos que soportar varios proveedores de nubes.
- Siempre que todos los recursos que necesitemos estén soportados por nuestro proveedor de Terraform.
- Si no estamos pagando soporte AWS, ya que podemos usar Terraform de forma gratuita o elegir tener soporte con HashiCorp.
- Por otro lado, HCL se considera normalmente un lenguaje algo más asequible que JSON o YAML.
Compartir este post