Entorno de pruebas en AWS 1: Elegir Ansible o Terraform

Vamos a plantear un entorno de pruebas en AWS ya que el diseñado en anteriores capítulos está al límite de lo que es un portátil y muchas veces vamos a necesitar que dicho entorno sea accesible por un cliente al que no tenemos acceso. Hablaremos de un entorno en Amazon Web Service, aunque la idea es utilizar herramientas que puedan adaptarse a otros proveedores, intentando no casarnos de ninguna manera con el proveedor, pensando especialmente en lo que sería un entorno de demostración. Diseño de referencia Para empezar plantemos una arquitectura de referencia, para ello tomamos lo que es un diseño tradicional con MZ y DMZ, evitando en lo posible elementos que salgan fuera de lo que sería un entorno de demostración (por ejemplo balanceadores, CDN, caché, etc) ya que nos interesa que el despliegue sea rápido y la pretensión es que dure poco en el tiempo (y por lo tanto reducir en lo posible sus costes). De manera resumida tenemos los siguientes elementos: Entorno de pruebas: Máquinas virtuales con Kubernetes y los servicios desplegados que formarán parte de la prueba. No serán accesibles desde internet. Bastión: Máquina virtual que será accesible desde Internet y cuya principal función será desplegar servicios. DMZ: Red donde están las máquinas virtuales con Kubernetes, accesible desde la red de bastión (MZ), pero no desde Internet, para salir a Internet requiere de NAT. MZ: Red que dispone de salida a Internet y cuyos dos elementos (NAT GW y bastión) dispone de IP de Internet accesible. En este primer capítulo vamos a plantear dos posibles opciones de infraestructura como código (IaC) para desplegar el entorno y las ventajas/desventajas de cada una. Las soluciones que vamos a plantear son Ansible y Terraform. En el segundo artículo iremos revisando como son los elementos en cada una de las soluciones y que opciones tenemos ante las deficiencias de cada uno. Los ejemplos de código se basan en el disponible en https://github.com/aescanero/disasterproject, tanto para Ansible como para Terraform. Instalar Para instalar Ansible lo haremos como se han indicado en artículos anteriores (como KVM, Ansible y como hacer un entorno de pruebas), para el caso de Terraform, simplemente lo descargamos de https://releases.hashicorp.com/terraform/ para nuestro sistema operativo, para ubuntu, para instalar la versión 0.12.18 seguimos lo siguiente: En este punto podemos ver que efectivamente es más fácil la instalación inicial de Terraform, pero hemos de tener en cuenta que Ansible trae en […]

Volver arriba