- 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
Infraestructura como código en monorepos para microservicios
Clase 18 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 infraestructura como código ha transformado la manera en que equipos de software gestionan entornos complejos para pruebas, desarrollo y producción. Al trabajar en un monorepo, es fundamental aprovechar herramientas y patrones reconocidos, manteniendo siempre enfocadas las implicaciones técnicas y económicas de las plataformas.
¿Qué es la infraestructura como código y por qué es esencial en un monorepo?
Tener infraestructura definida como código permite replicar, versionar y mantener entornos consistentes. Es importante distinguir entre los diferentes entornos: desarrollo, pruebas y producción. Esta separación facilita la integración y el despliegue continuo en proyectos donde múltiples equipos colaboran.
Elegir estándares abiertos como Kubernetes ayuda a abstraerse de infraestructuras fuera de nuestro control, algo crucial en escenarios como la integración con entidades gubernamentales o sistemas aduaneros. Así, se pueden usar diversas opciones del mercado, incluso multi cloud, sin depender de un único proveedor.
¿Qué aspectos considerar al desplegar microservicios con infraestructura como código?
El despliegue de microservicios requiere prestar atención a recursos del sistema, latencias de red y pruebas de rendimiento. Hay que considerar detalladamente:
- Pruebas de rendimiento para cada componente.
- Latencia de red, sobre todo en cargas de trabajo en tiempo real.
- Ownership: definir si la infraestructura la gestiona cada equipo de desarrollo o un equipo centralizado.
- Comunicación eficaz entre equipos para evitar conflictos.
- Revisión frecuente de la cultura de equipo en torno a la infraestructura.
¿Cómo afectan los proveedores y los costos al manejar infraestructura como código?
Al utilizar SDKs de proveedores de nube, se generan dependencias técnicas y económicas. Es vital revisar los well-architected frameworks de cada opción. Considera:
- Posibles recargos por intercambio de datos fuera de la nube.
- Restricciones si necesitas integrar sistemas on premises o con infraestructura gubernamental.
- Impacto económico al diseñar arquitecturas escalables para el sistema y microservicios.
¿Cuáles son los patrones recomendados para cambios de infraestructura y despliegues?
Los dos patrones más útiles descritos son:
- Blue-green deployments: Permiten una transición transparente entre versiones de servicios con mínimo impacto al usuario. Consiste en mantener dos entornos (blue y green) y migrar paulatinamente el tráfico.
- Canary deployments: Consiste en enviar un pequeño porcentaje del tráfico a la nueva versión (por ejemplo, 5 %) y el resto (95 %) a la versión estable. Si todo va bien, se va incrementando el tráfico hacia la nueva versión.
Ambas técnicas exigen cuidado en los costos y rigurosidad con los modelos de datos, en especial para migraciones entre bases de datos.
¿Tienes preguntas sobre cómo se implementan los blue-green deployments o los canary deployments en tu flujo de trabajo actual? Comparte tus dudas y experiencias en los comentarios.