Infrastructure as Code es la práctica de gestionar y aprovisionar infraestructura mediante código, utilizando archivos de configuración y automatización.

¿Qué es Infrastructure as Code?

IAC permite definir, gestionar y aprovisionar infraestructura de manera programática, proporcionando versionado, reutilización y automatización.

Herramientas Populares

Declarativas

  • Terraform: Provisioning multi-cloud
  • CloudFormation: Infraestructura AWS
  • Azure Resource Manager: Infraestructura Azure
  • Google Deployment Manager: Infraestructura GCP

Imperativas

  • Ansible: Automatización de configuración
  • Chef: Gestión de configuración
  • Puppet: Automatización de infraestructura
  • SaltStack: Gestión de configuración

Ejemplo con Terraform

Configuración Básica

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1d0"
  instance_type = "t2.micro"
  
  tags = {
    Name = "WebServer"
  }
}

resource "aws_security_group" "web" {
  name = "web-sg"
  
  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

Conceptos Relacionados

Referencias