Configuración de entornos de revisión y/o producción, mediante ficheros de parámetros y creando flujos de trabajo
Unidade Didáctica 6. Creación e configuración de contornos de revisión e produción mediante Infraestrutura como Código
Sumario
- 1 Introdución
- 2 Contornos de despregamento
- 3 Infraestrutura como Código (IaC)
- 4 Software Defined Hardware (SDH)
- 5 Linguaxes e ferramentas de definición da infraestrutura
- 6 Ficheiros de parámetros
- 7 Fluxos de traballo de despregamento
- 8 Xestión de credenciais
- 9 Configuración de seguridade nos contornos
- 10 Creación da infraestrutura mediante IaC
- 11 Integración da infraestrutura nos fluxos de traballo
- 12 Verificación da infraestrutura despregada
- 13 Documentación do despregamento
- 14 Resumo
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
- Obtención do código.
- Validación da configuración.
- Aprovisionamento da infraestrutura.
- Configuración dos servizos.
- Execución de probas.
- 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
| 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.