Software de automatización y gestión de paquetes y dependencias, y de administración de la configuración del software

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

Unidade Didáctica 7. Automatización do mantemento, monitorización e operación de plataformas baseadas en contedores

Introdución

As arquitecturas modernas baseadas en contedores e metodoloxías DevOps requiren ferramentas que permitan automatizar a instalación, configuración, actualización e supervisión dos sistemas. Estas ferramentas facilitan a administración da infraestrutura e das aplicacións, reducindo os erros humanos e mellorando a fiabilidade dos despregamentos.

Nesta unidade estudarase a instalación e configuración de ferramentas de automatización, xestión de dependencias e administración da configuración, así como a creación de fluxos de mantemento, monitorización e resposta automática ante incidencias.

Automatización da administración de sistemas

A automatización consiste na execución automática de tarefas administrativas sen intervención humana directa.

Permite realizar actividades como:

  • Instalación de software.
  • Configuración de servidores.
  • Actualización de aplicacións.
  • Despregamento de contedores.
  • Xestión de usuarios.
  • Copias de seguridade.

Beneficios

  • Redución de erros.
  • Maior rapidez de execución.
  • Reproducibilidade.
  • Escalabilidade.
  • Simplificación da administración.

Ferramentas de automatización

Ferramentas de administración da configuración

Permiten definir o estado desexado dun sistema e aplicalo automaticamente.

Ferramentas de administración da configuración
Ferramenta Función principal
Ansible Automatización sen axentes e administración da configuración
Puppet Administración centralizada de configuracións
Chef Automatización baseada en receitas
SaltStack Automatización e execución remota

Ferramentas de orquestración

As plataformas de orquestración permiten administrar aplicacións compostas por múltiples contedores.

Ferramentas de orquestración de contedores
Ferramenta Función principal
Kubernetes Orquestración de contedores a gran escala
OpenShift Plataforma empresarial baseada en Kubernetes
Docker Swarm Orquestración integrada en Docker

Xestión de paquetes e dependencias

As aplicacións modernas dependen de múltiples bibliotecas e compoñentes externos.

A xestión de dependencias permite:

  • Instalar bibliotecas.
  • Resolver incompatibilidades.
  • Actualizar compoñentes.
  • Corrixir vulnerabilidades.

Xestores de paquetes habituais

Xestores de paquetes e dependencias
Tecnoloxía Xestor
JavaScript npm
Python pip
Java Maven
Java Gradle
PHP Composer
Contedores Kubernetes Helm

Boas prácticas

  • Utilizar versións controladas.
  • Actualizar dependencias regularmente.
  • Analizar vulnerabilidades coñecidas.
  • Evitar dependencias innecesarias.

Fluxos de mantemento automatizados

Obxectivos

Os fluxos de mantemento permiten executar tarefas repetitivas de forma programada.

Operacións habituais

  • Actualizacións de software.
  • Renovación de certificados.
  • Limpeza de rexistros.
  • Rotación de copias de seguridade.
  • Actualización de dependencias.

Exemplo de fluxo

Detección de actualización
            ↓
Validación
            ↓
Instalación automática
            ↓
Probas
            ↓
Notificación

Verificación dos fluxos automatizados

Importancia da validación

Un fluxo automatizado debe comprobarse antes de empregarse en produción.

Aspectos a verificar

  • Execución correcta das tarefas.
  • Integridade dos datos.
  • Recuperación ante erros.
  • Rendemento da execución.

Métodos de validación

  • Probas unitarias.
  • Probas de integración.
  • Simulacións.
  • Contornos de preprodución.

Seguridade nos despregamentos

Aplicación de políticas de seguridade

Os sistemas automatizados deben incorporar as políticas definidas pola organización.

Estas políticas poden afectar:

  • Accesos.
  • Comunicacións.
  • Almacenamento.
  • Execución de aplicacións.
  • Monitorización.

Principio de mínimo privilexio

Cada compoñente debe dispoñer unicamente dos permisos imprescindibles para realizar as súas funcións.

Configuracións de seguridade en contedores

Configuracións habituais de seguridade
Configuración Obxectivo
Usuario non privilexiado Evitar execución como root
Límites de recursos Evitar consumo excesivo
Secrets Protección de credenciais
Network Policies Restrición das comunicacións
Read-only filesystem Protección do sistema de ficheiros

Niveis de servizo (SLA) e consumo de recursos

SLA

Un Acordo de Nivel de Servizo (Service Level Agreement) define os compromisos que debe cumprir un servizo.

Indicadores habituais

  • Dispoñibilidade.
  • Tempo de resposta.
  • Tempo de recuperación.
  • Número máximo de incidencias.

Limitación de recursos

Os contedores permiten establecer límites de:

  • CPU.
  • Memoria.
  • Almacenamento.
  • Rede.

Exemplo conceptual

Contedor
 ├─ CPU: 1 vCPU
 ├─ Memoria: 512 MB
 └─ Almacenamento: 10 GB

Monitorización da infraestrutura e aplicacións

Obxectivos

A monitorización permite coñecer o estado da infraestrutura e detectar incidencias.

Métricas de infraestrutura

  • Uso de CPU.
  • Uso de memoria.
  • Tráfico de rede.
  • Espazo en disco.
  • Latencia.

Métricas de aplicación

  • Peticións por segundo.
  • Tempos de resposta.
  • Taxa de erros.
  • Sesións activas.

Ferramentas de monitorización

Ferramentas de monitorización
Ferramenta Función principal
Prometheus Recollida de métricas
Grafana Visualización de datos
Elastic Stack Rexistro e análise de eventos
Zabbix Monitorización de infraestrutura

Capacity Planning

Concepto

O Capacity Planning consiste en prever as necesidades futuras de recursos.

Obxectivos

  • Evitar saturacións.
  • Optimizar custos.
  • Planificar ampliacións.
  • Garantir a continuidade do servizo.

Información necesaria

  • Consumo histórico.
  • Tendencias de crecemento.
  • Estacionalidade.
  • Previsión de usuarios.

Documentación dos despregamentos

Importancia

A documentación facilita a operación e o mantemento da infraestrutura.

Información que debe incluír

  • Arquitectura da solución.
  • Procedementos de despregamento.
  • Dependencias.
  • Configuracións.
  • Incidencias coñecidas.
  • Procedementos de recuperación.

Almacenamento da documentación

A documentación debe almacenarse xunto ao código fonte.

Exemplos:

  • README.md
  • Wiki do proxecto
  • Documentación técnica
  • Diagramas de arquitectura

Automatización baseada en eventos

Concepto

Os sistemas modernos poden reaccionar automaticamente ante determinados eventos.

Eventos habituais

  • Erros nun despregamento.
  • Fallos de autenticación.
  • Consumo excesivo de recursos.
  • Caída dun servizo.
  • Vulnerabilidades detectadas.

Accións automáticas

Resposta automática ante eventos
Evento Acción
Fallo nun pipeline Envío de notificación
Caída dun servizo Reinicio automático
Exceso de carga Escalado automático
Vulnerabilidade crítica Xeración dunha alerta
Fallo de acceso Bloqueo temporal da conta

Beneficios

  • Redución do tempo de resposta.
  • Mellora da dispoñibilidade.
  • Automatización das operacións.
  • Incremento da seguridade.

Observabilidade e operación continua

Observabilidade

A observabilidade permite comprender o comportamento interno dun sistema mediante:

  • Métricas.
  • Rexistros.
  • Trazas distribuídas.

Obxectivos

  • Diagnóstico de incidencias.
  • Optimización do rendemento.
  • Mellora da experiencia de usuario.
  • Detección temperá de problemas.

Resumo

As ferramentas de automatización, administración da configuración e xestión de dependencias constitúen elementos fundamentais das plataformas modernas baseadas en contedores.

A integración destas ferramentas con sistemas de monitorización, observabilidade e resposta automática ante incidencias permite construír infraestruturas resilientes, escalables e seguras, capaces de adaptarse ás necesidades cambiantes das organizacións e dos seus usuarios.