Configuración de entornos de revisión y/o producción, mediante ficheros de parámetros y creando flujos de trabajo

De MediaWiki
Ir a la navegación Ir a la búsqueda

Unidade Didáctica 6. Creación e configuración de contornos de revisión e produción mediante Infraestrutura como Código

Introdución

Nas arquitecturas modernas baseadas en contedores, microservizos e computación na nube, a creación manual da infraestrutura resulta lenta, propensa a erros e difícil de reproducir. Para solucionar estas limitacións empréganse técnicas de automatización que permiten definir a infraestrutura mediante código, integrándoa nos procesos de desenvolvemento e despregamento continuo.

Nesta unidade estudarase como crear e configurar contornos de revisión, preprodución e produción mediante ferramentas de Infraestrutura como Código (IaC), utilizando ficheiros de configuración, fluxos de traballo automatizados e mecanismos de seguridade que garantan a reproducibilidade dos despregamentos.

Contornos de despregamento

Un contorno de despregamento é un conxunto de recursos hardware e software destinado á execución dunha aplicación durante unha determinada fase do seu ciclo de vida.

Tipos de contornos

  • Desenvolvemento.
  • Integración.
  • Revisión.
  • Preprodución.
  • Produción.

Obxectivos dos contornos de revisión

Os contornos de revisión permiten:

  • Validar cambios antes da súa integración.
  • Executar probas funcionais.
  • Detectar erros de configuración.
  • Avaliar o comportamento da aplicación.

Obxectivos dos contornos de produción

Os contornos de produción teñen como finalidade:

  • Prestar servizo aos usuarios finais.
  • Garantir a dispoñibilidade da aplicación.
  • Manter os niveis de seguridade requiridos.
  • Facilitar a monitorización e auditoría.

Infraestrutura como Código (IaC)

Definición

A Infraestrutura como Código (Infrastructure as Code, IaC) consiste na definición da infraestrutura mediante ficheiros de texto versionables que describen os recursos necesarios para executar unha aplicación.

Vantaxes

  • Reproducibilidade.
  • Automatización.
  • Versionado.
  • Trazabilidade.
  • Escalabilidade.
  • Redución de erros humanos.

Ciclo de vida IaC

Definición
      ↓
Validación
      ↓
Aplicación
      ↓
Verificación
      ↓
Mantemento

Software Defined Hardware (SDH)

O termo Software Defined Hardware (SDH) refírese á capacidade de definir e configurar recursos físicos ou virtuais mediante software.

Permite administrar:

  • Servidores.
  • Redes.
  • Sistemas de almacenamento.
  • Balanceadores de carga.
  • Infraestruturas hiperconverxentes.

Beneficios

  • Automatización.
  • Flexibilidade.
  • Escalabilidade.
  • Simplificación da administración.

Linguaxes e ferramentas de definición da infraestrutura

Terraform

Terraform é unha das ferramentas máis empregadas para Infraestrutura como Código.

Características:

  • Multiplataforma.
  • Multicloud.
  • Declarativa.
  • Baseada en estado.

Exemplo simplificado:

resource "aws_instance" "web" {
  ami           = "ami-123456"
  instance_type = "t2.micro"
}

OpenTofu

OpenTofu é unha alternativa libre compatible con Terraform.

Características:

  • Código aberto.
  • Compatible con provedores Terraform.
  • Orientada á automatización cloud.

Ansible

Ansible permite automatizar configuracións e despregamentos.

Exemplo:

---
- hosts: webservers
  tasks:
    - name: Instalar nginx
      apt:
        name: nginx
        state: present

Kubernetes Manifest

Kubernetes emprega ficheiros YAML para describir recursos.

Exemplo:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: aplicacion-web

Ficheiros de parámetros

Obxectivo

Os ficheiros de parámetros permiten reutilizar definicións de infraestrutura adaptándoas a diferentes contornos.

Exemplo de parámetros

entorno: producion
replicas: 3
cpu: 2
memoria: 4Gi

Vantaxes

  • Reutilización.
  • Consistencia.
  • Separación entre configuración e lóxica.
  • Simplificación do mantemento.

Fluxos de traballo de despregamento

Concepto

Un fluxo de traballo (workflow) describe o conxunto de tarefas necesarias para crear e configurar unha infraestrutura.

Etapas habituais

  1. Obtención do código.
  2. Validación da configuración.
  3. Aprovisionamento da infraestrutura.
  4. Configuración dos servizos.
  5. Execución de probas.
  6. Verificación final.

Fluxos CI/CD

As plataformas modernas permiten automatizar estas tarefas.

Ferramentas habituais:

  • GitLab CI/CD.
  • GitHub Actions.
  • Jenkins.
  • Azure DevOps.

Exemplo conceptual

Repositorio Git
       ↓
Pipeline CI/CD
       ↓
Terraform
       ↓
Infraestrutura Cloud
       ↓
Kubernetes
       ↓
Aplicación

Xestión de credenciais

Importancia

As credenciais permiten acceder aos recursos da infraestrutura.

Deben xestionarse de forma segura para evitar accesos non autorizados.

Tipos de credenciais

  • Chaves SSH.
  • Tokens de acceso.
  • Certificados dixitais.
  • Credenciais cloud.
  • Secrets de Kubernetes.

Boas prácticas

  • Non almacenar segredos no código.
  • Empregar almacéns seguros.
  • Rotar credenciais periodicamente.
  • Aplicar o principio de mínimo privilexio.

Configuración de seguridade nos contornos

Políticas de seguridade

Cada contorno debe dispoñer das súas propias políticas de seguridade.

Estas políticas regulan:

  • Accesos.
  • Comunicacións.
  • Almacenamento.
  • Integracións externas.

Control de acceso baseado en roles

O control de acceso baseado en roles (RBAC) permite asignar permisos segundo as funcións de cada usuario.

Roles habituais

Roles habituais nunha infraestrutura cloud
Rol Función principal
Administrador Xestión completa da infraestrutura
Operador Supervisión e mantemento
Desenvolvedor Despregamento de aplicacións
Auditor Consulta de rexistros e evidencias

Recursos protexidos

Os permisos poden aplicarse a:

  • Repositorios Git.
  • Clústeres Kubernetes.
  • Bases de datos.
  • APIs.
  • Volumes de almacenamento.
  • Servizos cloud.

Creación da infraestrutura mediante IaC

Aprovisionamento

O aprovisionamento consiste na creación dos recursos definidos nos ficheiros de infraestrutura.

Recursos habituais

  • Máquinas virtuais.
  • Redes virtuais.
  • Balanceadores de carga.
  • Almacenamento persistente.
  • Clústeres Kubernetes.

Fluxo de creación

Ficheiros IaC
       ↓
Validación
       ↓
Aplicación
       ↓
Creación de recursos
       ↓
Verificación

Integración da infraestrutura nos fluxos de traballo

Unha vez creada a infraestrutura, esta intégrase nos procesos CI/CD.

As accións habituais son:

  • Despregamento automático.
  • Escalado.
  • Actualizacións.
  • Recuperación ante erros.
  • Monitorización.

Beneficios

  • Automatización completa.
  • Redución de erros.
  • Maior velocidade de entrega.
  • Consistencia entre contornos.

Verificación da infraestrutura despregada

Obxectivos

Comprobar que todos os recursos definidos foron creados correctamente.

Elementos a verificar

  • Servidores.
  • Redes.
  • DNS.
  • Certificados.
  • Balanceadores.
  • Almacenamento.
  • Clústeres Kubernetes.

Probas de conectividade

As comprobacións habituais inclúen:

  • Acceso SSH.
  • Resolución DNS.
  • Conectividade HTTP/HTTPS.
  • Comunicación entre servizos.

Verificación funcional

Debe comprobarse que:

  • Os servizos arrancan correctamente.
  • As aplicacións responden.
  • Os permisos funcionan adecuadamente.
  • Os rexistros non mostran erros.

Monitorización inicial

Tras o despregamento recoméndase verificar:

  • Uso de CPU.
  • Uso de memoria.
  • Tráfico de rede.
  • Eventos do sistema.
  • Alertas de seguridade.

Documentación do despregamento

Toda infraestrutura debe quedar documentada.

A documentación debe incluír:

  • Arquitectura despregada.
  • Recursos creados.
  • Configuracións aplicadas.
  • Credenciais e responsables.
  • Evidencias de validación.

Resumo

A Infraestrutura como Código permite definir, crear e administrar contornos de revisión e produción de forma automatizada e reproducible. O emprego de ferramentas como Terraform, OpenTofu, Ansible e Kubernetes facilita a integración da infraestrutura nos procesos DevOps e CI/CD.

A aplicación de políticas de seguridade, mecanismos de control de acceso e procedementos de verificación garante que a infraestrutura despregada cumpra os requisitos funcionais, operativos e de seguridade necesarios para a súa posta en produción.