Terraform: Despliegue automatizado de infraestructura con Azure DevOps

Article only available in Spanish

Este post muestra paso a paso cómo desplegar infraestructura básica de forma automatizada en Azure usando Terraform y pipelines de CI/CD en Azure DevOps.

Dicho de forma simple, se parte de un fichero básico de configuración de Terraform donde se define la infraestructura a desplegar y se configura Azure DevOps para habilitar pipelines de CI/CD que despliegan los cambios de infraestructura definidos en el fichero de Terraform cada vez que se produce un commit en el repositorio que los contiene.

[More]

Terraform: Creación de Load Balancer sobre Cluster de Máquinas Virtuales en Azure

Article only available in Spanish

En este artículo se muestra cómo crear un Load Balancer sobre un cluster de Máquinas Virtuales Windows con Terraform en Azure.

En artículos anteriores vimos como crear clusters de máquinas virtuales Windows usando simplemente recursos del proveedor Azure para Terraform (azurerm) o mediante el uso de módulos de Terraform Registry. En cualquiera de los dos casos el resultado final era la creación de un availability set con dos update domains y dos fault domains sobre los cuales se ubicaban las máquinas virtuales como cluster de alta disponibilidad ante actualizaciones o fallos de hardware

Esto está bien, pero nos falta algo más. En concreto, echo de menos algún componente que nos permita distribuir tráfico sobre ambas máquinas virtuales de forma balanceada y teniendo en cuenta el estado de salud de cada máquina.

[More]

Terraform: Cluster de Máquinas Virtuales Windows con módulos de Terraform Registry

Article only available in Spanish

En este artículo se muestra cómo crear un cluster de máquinas virtuales Windows con Terraform en Azure con uso de módulos externos de Terraform Registry.

En el artículo Terraform: Creación de Cluster de Máquinas Virtuales Windows vimos como crear un cluster de máquinas virtuales Windows usando solamente recursos del proveedor de Azure para Terraform (azurerm). En este artículo se muestra cómo crear el mismo cluster pero haciendo uso de módulos de Terraform Registry para Azure. El uso de módulos nos permite reutilizar código con características comunes, escribir mucho menos código en nuestros proyectos y en definitiva "no volver a reinventar la rueda" en nuestros proyectos.

[More]

Terraform: Creación de Cluster de Máquinas Virtuales Windows en Azure

Article only available in Spanish

En este artículo se muestra cómo crear un cluster de máquinas virtuales Windows con Terraform en Azure sin usar módulos externos.

Este artículo supone una ampliación al artículo anterior Terraform: Creación de Máquinas Virtuales Windows en Azure. En este artículo se añaden los componentes necesarios para crear dos máquinas virtuales en un mismo availability set de Azure, lo cual puede considerarse como un cluster de servidores.

[More]

AKS: Creación de Azure Kubernetes Service y despliegue de aplicación multi-container (3/3)

Article only available in Spanish

En este artículo, último de la serie, se muestra cómo crear el Servicio de Kubernetes en Azure y cómo realizar despliegues de la aplicación multi-container. Se explican conceptos fundamentales de Kubernetes utilizados en los ficheros de configuración YAML tales como deployments, services o uso de load balancers. Además se muestra en detalle toda la infraestructura creada automáticamente en Azure que da soporte a los clusters de kubernetes (Virtual Machine Scale Sets, Load Balancer, Backends, Virtual Nerwoks, Route Tables, etc.)

[More]

AKS: Creación de aplicación multi-container con Docker Compose (1/3)

Article only available in Spanish

Este artículo, primero de la serie, muestra una explicación detallada de cómo crear una aplicación multi-container con Docker Compose (basada en un tutorial básico procedente de Microsoft) así como aclaraciones de conceptos fundamentales de Docker más allá de imágenes y contenedores. Entender qué es un servicio en Docker, cómo se comunican los diferentes contenedores (o servicios) o que infraestructura interna a nivel de networking es creada son parte de los objetivos fundamentales de este artículo.

[More]

Terraform: ¿Cómo guardar contraseñas de forma segura?

Article only available in Spanish

Un problema común cuando se trabaja en la creación de algunos recursos con Terraform es la asignación de contraseñas, secretos o cualquier otro tipo de información sensible. Esta información no debería asignarse nunca en formato plano ni guardarse en los repositorios de código fuente.

La solución propuesta en este artículo es el uso de Azure Key Vault como plataforma de almacenamiento de nuestras contraseñas, secretos o claves.

[More]

Terraform: Estructura de Ficheros, Estado Remoto y Autenticación en Azure

Article only available in Spanish

En este artículo se describen buenas prácticas y cómo resolver algunos aspectos fundamentales a utilizar desde nuestros primeros pasos con Terraform y Azure:

- Estructuración mínima de ficheros y módulos de Terraform.

- Almacenamiento remoto y centralizado de la información de estadoen Azure Containers.

- Autenticación de Terraform en Azure mediante Service Principal con Client Secret.

[More]

Azure Application Gateway in 15 minutes

A little bit of time to write about technology while confined at home so that here is a summary about Azure Application Gateway component, one of the solutions Azure provides to load balance traffic.

Simply put, Azure Application Gateway is an HTTP/HTTPs (L7) web load balancer to distribute traffic among one or several backends with very powerfull features such as: URL-based routing, SSL termination, Session persistence or Web Application Firewall

[More]

Take maximum advantage of Grouping Sets, Roll-up, Cube and Pivoting

This article explains, with detailed examples, how to use PIVOTING to take maximum advantage of queries making use of GROUPING SETS. Besides, ROLLUP and CUBE operators will be analysed as well. We'll see throughout the article that it's very easy to get simple, practical and powerful queries by integrating all of them in the same query.

I think that master these operators contributes to make cleaner code and save a lot of time when developing. Thus, I hope this article will be useful to both improve your knowledge and develop faster cool queries for your reports, forms or views.

[More]