Duración: 12 clases
Modalidad: Presencial o virtual
Requisitos: 2 a 3 horas por clase (teoría y práctica)


¿Para quién es este curso?

Este curso está dirigido a desarrolladores con experiencia en .NET Core y C# que buscan:

  • Construir aplicaciones backend avanzadas y escalables.
  • Implementar microservicios y arquitecturas distribuidas.
  • Integrar buenas prácticas, optimización, y pruebas en proyectos empresariales.

Conocimientos previos requeridos:

  • Dominio de conceptos intermedios de .NET Core (autenticación, APIs RESTful).
  • Experiencia trabajando con Entity Framework Core.
  • Familiaridad con pruebas unitarias básicas y arquitecturas en capas.

Objetivo del curso

Al finalizar, el estudiante será capaz de:

  • Diseñar arquitecturas escalables utilizando patrones modernos como CQRS y Clean Architecture.
  • Implementar microservicios con .NET Core y herramientas avanzadas.
  • Integrar aplicaciones con sistemas externos y aplicar técnicas de optimización.
  • Configurar y gestionar aplicaciones distribuidas con contenedores y orquestadores.

Temario

Clase 1: Introducción al Desarrollo Avanzado con .NET Core

  • Repaso de conceptos clave: APIs RESTful, Entity Framework Core, autenticación.
  • Introducción a conceptos avanzados: patrones de arquitectura y microservicios.
  • Planificación de un sistema empresarial escalable.

Práctica: Configurar un proyecto base para un sistema de gestión empresarial.


Clase 2: Arquitectura Limpia (Clean Architecture)

  • Fundamentos de Clean Architecture: separación de capas y responsabilidades.
  • Capas principales: Presentación, Aplicación, Dominio, Infraestructura.
  • Implementación de patrones como Dependency Injection en Clean Architecture.

Práctica: Diseñar una aplicación utilizando Clean Architecture para la gestión de inventarios.


Clase 3: Patrones de Diseño Avanzados

  • Introducción a patrones avanzados como CQRS y Mediator.
  • Separación de consultas y comandos en APIs.
  • Uso de librerías como MediatR para implementar CQRS.

Práctica: Implementar CQRS en una API RESTful para gestionar pedidos.


Clase 4: Microservicios con .NET Core (Parte 1)

  • Introducción a microservicios: principios, beneficios y desafíos.
  • Configuración de un proyecto inicial para microservicios.
  • Comunicación entre microservicios con REST y gRPC.

Práctica: Crear un microservicio que gestione usuarios con gRPC.


Clase 5: Microservicios con .NET Core (Parte 2)

  • Uso de colas de mensajes con RabbitMQ o Kafka.
  • Patrones de mensajería: publicación/suscripción y productor/consumidor.
  • Manejo de transacciones distribuidas.

Práctica: Implementar un sistema de mensajería entre microservicios utilizando RabbitMQ.


Clase 6: Seguridad Avanzada en APIs

  • Implementación de OAuth2 y OpenID Connect.
  • Integración con Identity Server para autenticación.
  • Protección de microservicios con JWT y scopes.

Práctica: Configurar autenticación centralizada para múltiples microservicios.


Clase 7: Optimización de Rendimiento

  • Técnicas de optimización de APIs: caché, compresión y paginación eficiente.
  • Implementación de cachés distribuidas con Redis.
  • Monitoreo y profiling con herramientas como Application Insights.

Práctica: Configurar un sistema de caché para optimizar el acceso a datos en una API.


Clase 8: Contenerización con Docker

  • Introducción a Docker: imágenes, contenedores y volúmenes.
  • Creación de imágenes Docker para aplicaciones .NET Core.
  • Configuración de entornos de desarrollo y producción en contenedores.

Práctica: Contenerizar un microservicio y ejecutarlo localmente.


Clase 9: Orquestación con Kubernetes

  • Fundamentos de Kubernetes: pods, servicios y deployments.
  • Despliegue de aplicaciones .NET Core en un clúster de Kubernetes.
  • Introducción a Helm para gestionar configuraciones complejas.

Práctica: Desplegar un microservicio contenerizado en un clúster de Kubernetes.


Clase 10: Pruebas Automatizadas y TDD

  • Pruebas automatizadas avanzadas con xUnit y Moq.
  • Introducción al desarrollo guiado por pruebas (TDD).
  • Pruebas de integración y de carga para aplicaciones distribuidas.

Práctica: Implementar pruebas automatizadas para una API RESTful utilizando TDD.


Clase 11: Logs, Monitorización y Observabilidad

  • Configuración avanzada de logs con Serilog.
  • Introducción a OpenTelemetry para trazabilidad en sistemas distribuidos.
  • Integración con herramientas de monitoreo como Prometheus y Grafana.

Práctica: Configurar logs y trazas distribuidas en una arquitectura de microservicios.


Clase 12: Proyecto Final

  • Desarrollo de un sistema empresarial distribuido utilizando:
    • Arquitectura limpia.
    • Microservicios y RabbitMQ.
    • Contenedores y Kubernetes.
    • Seguridad avanzada con OAuth2.
  • Revisión y presentación del proyecto por parte de los estudiantes.

Práctica: Implementar y presentar un proyecto completo que combine todos los conceptos del curso.


Al Finalizar el Curso

El estudiante será capaz de:

  1. Diseñar y desarrollar aplicaciones escalables utilizando patrones avanzados y microservicios.
  2. Implementar seguridad robusta en APIs y sistemas distribuidos.
  3. Desplegar aplicaciones contenerizadas en entornos de producción con Docker y Kubernetes.
  4. Monitorear y optimizar aplicaciones empresariales con herramientas modernas.

Precio

220.000 (Docientos Veinte mil pesos argentinos)
Cuotas sin interes

Nombre