Duración:
180 horas efectivasAcerca de este curso
Domina los fundamentos, patrones y estrategias avanzadas de la arquitectura de software con este completo curso de 180 horas. Aprende a diseñar sistemas robustos, escalables y seguros, aplicando prácticas modernas como microservicios, DDD, arquitectura en la nube y orientada a eventos. Adquiere habilidades para documentar, evaluar y mejorar arquitecturas mientras afrontas desafíos reales. Ideal para profesionales que buscan liderar proyectos tecnológicos de alto impacto.»
Dirigido a
- Arquitectos de Software
- Ingenieros de Software y Desarrolladores
- Líderes Técnicos
- Consultores de TI
- Especialistas en DevOps
- Ingenieros de Infraestructura y Cloud
- Desarrolladores interesados en transicionar a Arquitectos de Software
- Profesionales de seguridad en software
- Estudiantes avanzados de ingeniería o carreras tecnológicas
Instructores
Lee Rosales
Head Unit de APIs con más de 15 años de experiencia liderando equipos en la CTO de Arquitectura Tecnológica. Especialista en el diseño y gobernanza de ecosistemas API, integración de sistemas y estrategias para la adopción de arquitecturas abiertas. Su enfoque combina visión estratégica y excelencia técnica, ayudando a organizaciones a transformar su tecnología mediante prácticas modernas como microservicios, DDD y arquitecturas cloud-native.
Luis Huapaya
Arquitecto de Tecnología con más de 15 años de experiencia en la CTO de una organización líder. Experto en integraciones complejas, ecosistemas abiertos y prácticas DevOps, ha diseñado e implementado arquitecturas orientadas a eventos y soluciones cloud-native. Su profundo conocimiento técnico y práctico lo posiciona como un referente en la construcción de sistemas distribuidos y resilientes, enfocados en la innovación y la eficiencia operativa.
Módulos y temarios
Este curso durará 180 horas y será dictado Lunes, Miercoles y Viernes de 7p.m. a 11p.m.
01.Fundamentos de la Arquitectura de Software
Introducción a la arquitectura de software
- ¿Qué es la arquitectura de software?
- Importancia y beneficios en proyectos a gran escala.
- Rol del arquitecto en equipos de desarrollo.
Requisitos y diseño arquitectónico
- Tipos de requisitos (funcionales y no funcionales).
- Transformación de requisitos en decisiones arquitectónicas.
- Casos prácticos de diseño inicial.
Principios de diseño de software
- Cohesión, acoplamiento y separación de responsabilidades.
- Principios SOLID en la arquitectura
- Escalabilidad y sostenibilidad en el diseño.
02.Patrones, Estilos y Componentes Arquitectónicos
Patrones arquitectónicos
- Introducción a patrones (MVC, Microkernel, CQRS, Event Sourcing).
- Casos de uso y aplicabilidad según el dominio.
Estilos arquitectónicos
- Arquitecturas monolíticas vs distribuidas.
- Estilo orientado a servicios (SOA) y sus variantes.
- REST, GraphQL y otras aproximaciones arquitectónicas.
Documentación arquitectónica
- Modelos y vistas: C4 Model y UML.
- Herramientas para documentación (PlantUML, ArchiMate).
- Ejemplos prácticos y recomendaciones
Diseño de componentes y conectores
- Identificación de componentes clave en el sistema.
- Conectores: APIs, colas de mensajes y middlewares.
- Mejores prácticas para garantizar modularidad y reusabilidad.
03.Arquitecturas Especializadas
Arquitecturas basadas en servicios (microservicios)
- Principios y ventajas de los microservicios.
- Desafíos comunes y cómo mitigarlos.
- Diseño de APIs para microservicios.
Arquitectura limpia y Domain-Driven Design (DDD)
- Principios de Clean Architecture: capas y dependencias.
- Introducción al DDD: Bounded Contexts, Aggregates y Ubiquitous Language.
- Ejemplo práctico: Implementación de un diseño DDD.
Arquitectura orientada a eventos
- ¿Qué es Event-Driven Architecture?
- Patrón Saga y orquestación vs coreografía.
- Implementación con herramientas como Kafka y RabbitMQ.
Arquitectura en la nube
- Características de arquitecturas cloud-native.
- Diseños resilientes y escalables en entornos cloud.
- Prácticas recomendadas en AWS, Azure y Google Cloud.
04.Seguridad y Sistemas Distribuidos
Seguridad en la arquitectura de software
- Principales amenazas en sistemas arquitectónicos.
- OWASP Top 10 y estrategias para mitigarlas.
- Diseño seguro: autenticación, autorización y cifrado.
Arquitectura de sistemas distribuidos
- Características y retos de los sistemas distribuidos.
- Consistencia, disponibilidad y partición (CAP).
- Protocolos y herramientas para comunicación distribuida.
Escalabilidad y tolerancia a fallos
- Patrones como Circuit Breaker y Retry.
- Diseño para recuperación ante desastres (DR).
- Ejercicios prácticos de simulación de fallos.
05.Evaluación y Mejora Continua
Evaluación de la arquitectura
- Técnicas de evaluación: ATAM y análisis de trade-offs.
- Identificación de cuellos de botella y áreas de mejora.
- Métricas para medir el éxito arquitectónico.
Mejora continua
- Refactoring arquitectónico sin afectar operaciones.
- Ciclo de vida de la arquitectura: evolución y mantenimiento.
- Ejemplo práctico: Mejora iterativa de un diseño existente.
Arquitectura de software en la práctica
- Ejemplo de implementación: Caso de estudio completo.
- Análisis de desafíos y soluciones aplicadas.
- Consejos finales para liderar proyectos arquitectónicos
Certificado o constancia de participación