- 1

Transición de programador empírico a arquitecto de software
02:46 - 2

Análisis de licitaciones con inteligencia artificial
08:48 - 3

Monorepositorios como herramienta de gestión de código fuente
13:00 - 4

Reglas de control de versiones en monorepositorio con trunk-based
05:58 - 5

Behavior Driven Development para alinear equipos técnicos y de negocio
09:25 - 6

Notación estándar C4 para diagramas de arquitectura
08:00 - 7

Generadores de sitios estáticos para documentación de proyectos
04:58 - 8

Uso de herramientas de IA para mejorar arquitectura de software
05:05 quiz de Creando Entornos de Software Saludables
Observabilidad en sistemas con OpenTelemetry e ingeniería del caos
Clase 28 de 29 • Curso de Arquitectura de Software Aplicada
Contenido del curso
- 9

Estructura del archivo Architecture.md para proyectos de software
12:00 - 10

Domain-driven design para sistemas de comercio exterior
06:50 - 11

Técnicas pre-mortem y cinco why para prevenir fallos en sistemas
03:58 - 12

Técnicas de conversación e intervención directa en arquitectura
02:49 quiz de Siguiendo una Arquitectura Limpia
- 19

Diferencias entre mensajes y eventos en arquitectura de servicios
03:36 - 20

Patrón productor consumidor vs fan-in y fan-out en microservicios
03:11 - 21

Manejo de excepciones en el patrón productor-consumidor
02:48 - 22

Patrón comparing consumers para procesamiento en tiempo real
02:28 - 23

Patrón Process Manager para integrar actividades humanas y sistemas
02:33 quiz de Patrones de integración
- 24

Patrones de persistencia: durable state vs event sourcing
08:15 - 25

Máquinas de estado finito en la capa de presentación de software
04:52 - 26

Técnicas SAST, DAST y pen testing para seguridad en software
01:36 - 27

Funciones fitness para evaluar arquitecturas de software
04:20 - 28

Observabilidad en sistemas con OpenTelemetry e ingeniería del caos
04:45
La observabilidad en sistemas de gestión es fundamental para garantizar que tanto métricas de negocio como técnicas se recolecten de forma automatizada, confiable y útil, permitiendo un control efectivo y respuestas rápidas ante situaciones imprevistas. Comprender cómo implementarla y qué herramientas emplear ofrece ventaja a organizaciones modernas que, como el Banco Interamericano de Desarrollo, buscan robustez y adaptabilidad en sus servicios críticos de facturación electrónica para comercio exterior.
¿Por qué es crucial la observabilidad en sistemas de gestión modernos?
La observabilidad permite saber en tiempo real cómo se comporta un sistema a través de medidas internas automáticas. En el contexto de sistemas de facturación electrónica para organismos como el BID, esto significa poder ver el desempeño y las incidencias basándose en métricas de negocio y técnicas relevantes.
Incorporar la observabilidad como un criterio no funcional asegura que: - Se recaben señales sobre el funcionamiento y salud del sistema. - Se puedan generar métricas precisas y compuestas, útiles para analizar comportamientos y calidad. - Los sistemas respondan adecuadamente a los requisitos de estrategia de producto y operación.
¿Qué estándar facilita la observabilidad y cómo funciona OpenTelemetry?
OpenTelemetry ha emergido como un estándar moderno para habilitar la observabilidad, ya que simplifica la instrumentación de aplicaciones y automatiza la recolección de señales sobre el sistema. Su funcionamiento se basa en: - Instrumentación automática dentro del sistema para emitir señales sin intervención manual constante. - Recolección y distribución temporal de los datos a sistemas especializados para su análisis y visualización.
Las señales principales que se pueden recolectar incluyen: - Logs: registros condicionales de actividades como mensajes detallados. - Trazas: mensajes que muestran transiciones entre componentes y detalles de payloads. - Métricas: datos puntuales o series temporales agregadas para diferentes visualizaciones.
¿Cómo se almacena y procesa la información para análisis avanzado?
Toda esta información recopilada por OpenTelemetry puede almacenarse en object storage o medios externos. Esto posibilita: - Análisis históricos y agregados sobre grandes volúmenes de datos. - Ventanas de tiempo dinámicas y móviles para evaluar rendimiento y calidad. - Generación de alarmas, puntos de control automatizados y métricas compuestas que ayudan a evaluar el sistema de forma continua.
Integrar estas capas garantiza que la carga analítica no recaiga completamente en usuarios o equipos manuales y mejora la eficiencia del monitoreo.
¿Qué aporta la ingeniería del caos para medir la robustez del sistema?
La ingeniería del caos se destaca como un método avanzado para probar la resiliencia y adaptabilidad de sistemas críticos, enfrentándolos a situaciones límite controladas. Permite: - Simular indisponibilidad de servicios clave, como aduanas en sistemas de facturación. - Forzar fallos de infraestructura, evaluando la tolerancia a errores y alta disponibilidad. - Emplear técnicas para eliminar servicios o generar fallas controladas de red, evaluando respuestas automáticas del sistema.
Seleccionar las técnicas adecuadas depende del grado de integración con sistemas externos y la criticidad de los procesos que se monitorean.
¿Cómo se aplican estos conceptos mediante analogías prácticas?
La observabilidad y la ingeniería del caos pueden trasladarse a casos como el de un nadador. Al medir variables internas (cantidad de aire tomada, elongación durante las brazadas, tiempos de giro), se obtiene información relevante sobre su desempeño y capacidad de adaptación ante entornos adversos (cambios de carril, ruidos, condiciones desfavorables). Del mismo modo, en sistemas de gestión, medir y alterar condiciones permite fortalecer la capacidad de respuesta y adaptación ante sucesos inesperados.
¿Tienes ideas sobre cómo aplicar estas prácticas en tus proyectos o te gustaría compartir técnicas de observabilidad que hayas usado? ¡Comparte tu experiencia en los comentarios!