Software de automatización y gestión de paquetes y dependencias, y de administración de la configuración del software
Unidade Didáctica 7. Automatización do mantemento, monitorización e operación de plataformas baseadas en contedores
Sumario
- 1 Introdución
- 2 Automatización da administración de sistemas
- 3 Ferramentas de automatización
- 4 Xestión de paquetes e dependencias
- 5 Fluxos de mantemento automatizados
- 6 Verificación dos fluxos automatizados
- 7 Seguridade nos despregamentos
- 8 Niveis de servizo (SLA) e consumo de recursos
- 9 Monitorización da infraestrutura e aplicacións
- 10 Capacity Planning
- 11 Documentación dos despregamentos
- 12 Automatización baseada en eventos
- 13 Beneficios
- 14 Observabilidade e operación continua
- 15 Resumo
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.
| 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.
| 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
| 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ó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
| 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
| 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.