Solución propuesta apalancando el ecosistema de productos HashiCorp

Nuestro patrón de diseño propuesto esta basado en el concepto de infraestructura inmutable, integrando una combinación de contenedores y Packer para generar instancias AMI para la nube de Amazon Web Services.

picture1

Conceptos clave y propiedades de la solución propuesta

Clusters de alta disponibilidad: Los componentes en cluster son desplegados en la nube de Amazon Web Services en modalidad múltiples zonas de disponibilidad.

Recuperación automática ante fallos: el stack puede detector el fallo de cualquiera de sus componentes y generar eventos para lanzar el remplazo de los componentes que han fallado.

Infraestructura reproducible: Terraform y Puppet nos permiten reproducir instalaciones y configuraciones automáticamente, permitiendo a la solución poder reinstalarse en cuestión de minutos.

Inmutabilidad: Packer nos Brinda la capacidad de generar tanto instancias EC2 pre-configuradas como contenedores Docker, los cuales son previamente testeados para asegurar el correcto funcionamiento

“¿Porque?” y “Cómo?” optamos por componentes HashiCorp

Cuando exploramos nuevas tecnologías y analizamos el impacto positivo que pueden tener en las implementaciones multi-zona o multi-región de nuestros clientes, nuestro proceso de desarrollo de pruebas de concepto apunta a validar aspectos múltiples.

A continuación, detallamos el “¿Porqué?” hemos decidido incorporar las tecnologías desarrolladas por HashiCorp a nuestro ecosistema:

 

picture2

Terraform habilita a nuestro equipo a colaborar, validar y aprovisionar infraestructura de manera abstracta en múltiples proveedores Cloud. Nos permite desarrollar, testear y aprovisionar infraestructura incluso en casos de infraestructuras hibridas (on-prem + on-Cloud). Terraform hoy en día es estándar industrial en el paradigma de Infraestructura como Código dada su capacidad de aumentar la productividad de nuestros equipos DevOps y a la vez incrementar la agilidad y la celeridad de nuestras soluciones.

Como Partners AWS, nuestros la transición hacia la nube de AWS en nuestros clientes esta acelerada con Terraform, esto les permite versionar su infraestructura AWS y al mismo tiempo aprovisionar entornos de manera programática, reutilizando su Código.

 

picture3

Vault nos permita almacenar contraseñas de manera segura, y encriptar los datos para su transmisión. Actualmente nos provee de una manera segura, confiable y descentralizada que puede ser integrada con proveedores de Identidad como Okta. Implementamos para nuestros clientes almacenamiento de información sensible (contraseñas, API Keys, SSH keys, etc.) segura, e integramos los distintos servicios para poder consumir esta información de manera centralizada y asi evitar el almacenamiento de información sensible los distintos componentes de nuestra infraestructura (archivos de configuración, herramientas de gestión de configuración, etc.). También implementamos Vault para generar One-Time-Passwords para validad keys SSH y proveer autenticación segura a servicios como Bastion.

 

picture4

Consul nos provee con el servicio de Discovery, detección de fallos y Key-Value store para interconectar nuestro ecosistema de micro-servicios. Estas conexiones son almacenadas de manera segura mediante Vault en modalidad de almacenamiento de datos sensibles. Nuestras implementaciones de Consul pueden ser Multi-zona o Multi-región, de ser necesarias.

 

picture5

Packer es la herramienta para generar nuestros componentes Docker o AWS EC2 en nuestra infraestructura inmutable. También nos permite agilizar y optimizar el proceso de AutoScaling en plataformas de alta demanda. Teniendo un proceso de armado de imágenes pre-configuradas, el tiempo de aprovisionamiento es reducido de manera considerable.