Duración: 12 clases
Modalidad: Presencial o virtual
Requisitos: 2 a 3 horas por clase (teoría y práctica)
Contents
- 1 ¿Para quién es este curso?
- 2 Objetivo del curso
- 3 Temario
- 3.1 Clase 1: El Rol del Arquitecto y Principios Fundamentales
- 3.2 Clase 2: Diseño de Arquitecturas Empresariales
- 3.3 Clase 3: Arquitectura Limpia y Patrón Hexagonal
- 3.4 Clase 4: Diseño y Gestión de Microservicios
- 3.5 Clase 5: Implementación de Patrones Avanzados en .NET Core
- 3.6 Clase 6: Seguridad en Arquitecturas Empresariales
- 3.7 Clase 7: Optimización de Arquitecturas
- 3.8 Clase 8: Contenedores y Orquestación
- 3.9 Clase 9: Monitoreo y Observabilidad
- 3.10 Clase 10: Gestión de Integraciones y Sistemas Legacy
- 3.11 Clase 11: Buenas Prácticas en Arquitectura
- 3.12 Clase 12: Proyecto Final
- 4 Al Finalizar el Curso
- 5 Precio
¿Para quién es este curso?
Este curso está diseñado para desarrolladores experimentados que buscan:
- Diseñar y liderar proyectos empresariales utilizando .NET Core.
- Implementar arquitecturas modernas y escalables.
- Profundizar en conceptos como DDD, microservicios y sistemas distribuidos.
Conocimientos previos requeridos:
- Experiencia avanzada en .NET Core y C#.
- Familiaridad con patrones de diseño y arquitectura en capas.
- Conocimiento intermedio de microservicios y contenedores.
Objetivo del curso
Al finalizar, el estudiante será capaz de:
- Diseñar arquitecturas empresariales modernas utilizando .NET Core.
- Implementar soluciones distribuidas y escalables basadas en microservicios.
- Liderar equipos técnicos en el diseño y desarrollo de sistemas complejos.
- Aplicar buenas prácticas y estándares en proyectos empresariales.
Temario
Clase 1: El Rol del Arquitecto y Principios Fundamentales
- Responsabilidades y habilidades clave de un arquitecto.
- Principios de diseño: SOLID, DRY, KISS, y YAGNI.
- Introducción a los estilos arquitectónicos: monolítico, microservicios y serverless.
Práctica: Evaluar un caso de estudio y proponer mejoras arquitectónicas.
Clase 2: Diseño de Arquitecturas Empresariales
- Diferencia entre arquitecturas monolíticas y distribuidas.
- Introducción a Domain-Driven Design (DDD).
- Identificación de contextos delimitados (bounded contexts).
Práctica: Diseñar un modelo de dominio inicial para un sistema de facturación.
Clase 3: Arquitectura Limpia y Patrón Hexagonal
- Introducción a Clean Architecture y el Patrón Hexagonal.
- Separación de responsabilidades: capas de dominio, aplicación e infraestructura.
- Implementación práctica de Clean Architecture en un proyecto .NET Core.
Práctica: Crear la estructura inicial de un proyecto utilizando Clean Architecture.
Clase 4: Diseño y Gestión de Microservicios
- Principios de microservicios: autonomía, escalabilidad y resiliencia.
- Identificación de límites de servicio y comunicación entre microservicios.
- Introducción a patrones de diseño en microservicios: API Gateway, BFF, y Circuit Breaker.
Práctica: Diseñar un sistema basado en microservicios para gestionar órdenes.
Clase 5: Implementación de Patrones Avanzados en .NET Core
- Introducción a CQRS (Command Query Responsibility Segregation).
- Uso de Event Sourcing para sistemas basados en eventos.
- Implementación con librerías como MediatR y MassTransit.
Práctica: Implementar CQRS en un microservicio para gestionar inventarios.
Clase 6: Seguridad en Arquitecturas Empresariales
- Diseño de seguridad en sistemas distribuidos.
- Implementación de OAuth2 y OpenID Connect con IdentityServer.
- Protección de datos sensibles con técnicas de cifrado y tokenización.
Práctica: Configurar un sistema de autenticación centralizado para una arquitectura distribuida.
Clase 7: Optimización de Arquitecturas
- Técnicas para mejorar el rendimiento en aplicaciones empresariales.
- Implementación de cachés distribuidas con Redis.
- Uso de compresión y optimización de consultas en APIs y bases de datos.
Práctica: Optimizar el rendimiento de una API con caché y consultas eficientes.
Clase 8: Contenedores y Orquestación
- Diseño de arquitecturas contenerizadas con Docker.
- Uso de Kubernetes para orquestar aplicaciones distribuidas.
- Introducción a Helm para gestionar configuraciones complejas.
Práctica: Desplegar una arquitectura de microservicios en un clúster de Kubernetes.
Clase 9: Monitoreo y Observabilidad
- Principios de observabilidad en sistemas empresariales.
- Configuración de logs distribuidos con Serilog y Elastic Stack.
- Introducción a OpenTelemetry para trazas y métricas.
Práctica: Implementar monitoreo y trazas distribuidas en un sistema basado en microservicios.
Clase 10: Gestión de Integraciones y Sistemas Legacy
- Diseño de integraciones con APIs externas y sistemas heredados.
- Uso de herramientas como RabbitMQ y Kafka para mensajería y eventos.
- Migración de sistemas monolíticos a arquitecturas modernas.
Práctica: Diseñar una estrategia de integración para migrar un sistema legado a microservicios.
Clase 11: Buenas Prácticas en Arquitectura
- Documentación técnica y diagramas arquitectónicos.
- Implementación de pipelines CI/CD con Azure DevOps o GitHub Actions.
- Pruebas de rendimiento y carga en sistemas empresariales.
Práctica: Crear un pipeline CI/CD para automatizar el despliegue de un sistema contenerizado.
Clase 12: Proyecto Final
- Desarrollo de un proyecto completo que combine:
- Clean Architecture.
- Microservicios y patrones como CQRS y Event Sourcing.
- Contenerización y orquestación con Kubernetes.
- Seguridad con OAuth2.
- Monitoreo con OpenTelemetry.
- Presentación y discusión del proyecto final.
Práctica: Implementar y presentar una arquitectura completa para un sistema empresarial.
Al Finalizar el Curso
El estudiante será capaz de:
- Diseñar y liderar arquitecturas empresariales modernas utilizando .NET Core.
- Implementar microservicios y sistemas distribuidos con estándares de la industria.
- Configurar y administrar entornos contenerizados y orquestados.
- Optimizar aplicaciones para escalabilidad, seguridad y rendimiento.
- Documentar y comunicar estrategias arquitectónicas a equipos técnicos y gerenciales.
Precio
200.000 trescientos mil pesos argentinos
Cuotas sin interes
