Cómo recuperar y prevenir fallas en sistemas
Clase 32 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
Viendo ahora - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Mantener la disponibilidad exige decisiones claras y tácticas confiables. Aquí se explican, de forma directa y aplicable, las familias de recuperación y prevención en arquitectura de software: reintroducción con modo sombra, sincronización de estado, punto de control, quitar del servicio, transacciones y monitoreo de procesos. Comprender estos enfoques permite actuar con rapidez ante fallas y proteger la consistencia del sistema.
¿Cómo opera la recuperación para mantener la disponibilidad?
La recuperación busca devolver componentes a producción sin comprometer la estabilidad. Se centra en reintroducir elementos replicados cuando vuelven a comportarse correctamente, restaurar estado consistente y evitar que datos inválidos contaminen el clúster productivo.
¿Qué es la reintroducción con modo sombra?
- Un componente falla y se retira del clúster productivo.
- Se lo mantiene en modo sombra: se evalúa su comportamiento por detrás.
- Si un desarrollador, un operador o el sistema corrige la causa, se reintroduce y vuelve a ser productivo.
- Beneficio clave: no se impacta la producción mientras se valida la corrección.
Habilidades aplicadas: aislar fallas sin downtime. Validar comportamiento antes de volver a atender tráfico. Operar con componentes replicados.
¿Cómo se realiza la sincronización de estado?
- El componente no falla en lógica, pero su estado es inválido o desactualizado.
- Se retira de producción y se sincroniza con los componentes sanos o con la base de datos.
- Ejemplo práctico: una capa de cache queda desactualizada; se sincroniza y recién entonces vuelve a responder solicitudes.
- Beneficio clave: evitar respuestas inconsistentes por estados internos antiguos.
Habilidades aplicadas: detectar desincronización de estado. Orquestar sincronización segura. Controlar fuentes de verdad de datos.
¿Para qué sirve el punto de control?
- Se marcan puntos de control que representan estados consistentes de la aplicación.
- Ante una falla, se revierte el componente al último punto consistente y se reproducen acciones ocurridas después mediante un log o registro.
- Beneficio clave: recuperar consistencia con trazabilidad de cambios.
Habilidades aplicadas: definir checkpoints confiables. Reproducir secuencias de acciones. Mantener registros útiles para recuperación.
¿Cómo prevenir caídas con tácticas de disponibilidad?
La prevención reduce el riesgo antes de que escale. Se apoya en quitar del servicio componentes problemáticos, usar transacciones para no dejar cambios a medias y hacer monitoreo de procesos a bajo nivel.
¿Cuándo quitar del servicio un componente?
- Se detecta consumo de memoria creciente o pérdida de memoria.
- Se decide retirar la aplicación, reiniciarla y restablecer el componente.
- Es una acción radical: no se repara en caliente, se evita que afecte a otros servicios.
- Beneficio clave: contener el daño y recuperar capacidad de servicio con rapidez.
Habilidades aplicadas: monitorear memoria. Automatizar reinicios seguros. Aplicar isolación ante fallas recurrentes.
¿Por qué las transacciones preservan la consistencia?
- Una transacción agrupa cambios para aplicarlos todos juntos o deshacerlos todos juntos.
- Ejemplo clásico: bases de datos; útil también para cualquier bloque de cambios.
- Beneficio clave: evitar que cambios parciales dejen el sistema en estado inconsistente.
Habilidades aplicadas: delimitar unidades atómicas de cambio. Diseñar commits y rollbacks coherentes. Proteger integridad de datos.
¿Qué aporta el monitoreo de procesos?
- Observa procesos en ejecución de una máquina virtual o servidor.
- Si detecta anomalías, termina el proceso y lo reinicia automáticamente.
- Beneficio clave: mantener la disponibilidad del sistema aun con procesos individuales inestables.
Habilidades aplicadas: instrumentar supervisión automática. Reaccionar ante fallas de bajo nivel. Garantizar continuidad operativa.
¿Tienes experiencias aplicando modo sombra, sincronización o puntos de control en producción? Comparte tus prácticas y aprendizajes para enriquecer la discusión.