Envíanos tu consulta
Términos y condiciones *
logoImagina
Aprende a desarrollar Web APIs en .Net a través de soluciones DDD, hexagonal y garantizar alto rendimiento con CQRS
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Aprende .NET 8 Avanzado: Curso completo
¿A quién va dirigido?
Desarrolladores experimentados en desarrollo de Web APIs en .Net que quieran valorar rediseños a través de soluciones DDD, hexagonal y garantizar alto rendimiento bajo el patrón CQRS
Objetivos
  • Aprender los fundamentos de la arquitectura de microservicios
  • Aprender las bases del diseño DDD y la arquitectura hexagonal
  • Aprender a garantizar alto rendimiento a través del patrón CQRS
  • Desarrollar aplicaciones .Net bajo estándares de arquitecturas modernas
  • Gestionar y administrar builds y despliegues
¿Qué vas a aprender?

Aprende a desarrollar Web APIs en .Net a través de soluciones DDD, hexagonal y garantizar alto rendimiento con CQRS

Requisitos
  • Tener experiencia desarrollando en C# (11 o superior) y proyectos Web API con .Net (6, 7 o superior)
  • Tener acceso a una licencia activa de Azure que te permita realizar despliegues durante el curso y contar con acceso a AKS (Azure Kubernetes Services)
  • Disponer de la última versión de Visual Studio 2022 Community (o superior) y Docker Desktop instalados en el equipo
  • Disponer de un equipo con al menos 8GB de RAM, i5 (o superior) y acceso a un usuario con permisos de instalación de software
Temario del curso
tema 1Introducción a arquitectura web monolítica
  • ¿Qué son los monolitos?
  • Características y beneficios de una arquitectura basada en monolitos
  • Arquitectura N-Layers
  • Arquitectura Onion
  • Clean Architecture
  • Breve introducción a la Arquitectura Hexagonal
  • Arquitectura de Monolitos modulares
  • Exploración de las tendencias actuales en arquitectura de software
  • Comparación de enfoques monolíticos vs. arquitecturas distribuidas
  • Importancia de la escalabilidad y la flexibilidad en la arquitectura moderna
  • Uso de contenedores y orquestadores como Docker y Kubernetes
  • Consideraciones de seguridad en arquitecturas modernas
  • Arquitecturas más destacables en la actualidad en .Net
  • Preparación del entorno de trabajo para el curso
  • Descripción de la aplicación de inicio
tema 2Analizando la performance de nuestra aplicación .Net
  • ¿Qué es el análisis de performance y cuando empezar a optimización de performance?
  • Herramientas y planificación de los análisis de performance
  • Interpretación de los datos recogidos en los análisis
  • Tips and Tricks
  • Memory Leaks y consumo elevado de CPU
  • Problemas con el data access: Entity Framework Performance tunning
tema 3Microservicios en .Net
  • ¿Que son los microservicios? Características y beneficios
  • Problemas de la arquitectura de microservicios
  • ¿Cuándo no elegir microservicios?
  • ¿Cuándo elegir microservicios?
  • Moviendo la aplicación de inicio a una arquitectura de microservicios
  • ¿Cómo dividir un monolito en microservicios?
tema 4Introducción a los principios de arquitectura hexagonal y sus módulos
  • Explicación de la arquitectura hexagonal (Puertos y Adaptadores)
  • Identificación de los componentes principales: puertos, adaptadores y dominio
  • Separación de la lógica de negocio de la lógica de la aplicación
  • Diseño de interfaces y contratos
  • Ejemplos de casos de uso con arquitectura hexagonal
tema 5Descomponiendo un monolito en arquitectura de microservicios de .Net bajo DDD (Domain Driven Design)
  • Descomponiendo por business
  • Descomponiendo por subdominio
  • DDD (Domain Driven Design)
  • Conceptos fundamentales de DDD y su importancia en el desarrollo de software
  • Definición de agregados, entidades y objetos de valor en DDD
  • Implementación de bounded contexts en microservicios con DDD
  • Diseño de repositorios y servicios de dominio en DDD
  • Uso de eventos de dominio y modelado de agregados en DDD
  • Refactorización de manera segura
  • Definiendo los context boundries de nuestra aplicación
tema 6Aplicando DDD en Arquitectura Hexagonal.
  • Integración de DDD con la arquitectura hexagonal
  • Creación de modelos de dominio dentro de los agregados
  • Implementación de los puertos como interfaces
  • Configuración de adaptadores para la infraestructura
  • Testing unitario de componentes de dominio y aplicación
tema 7Convirtiendo microservicios en una arquitectura hexagonal.
  • Transformación gradual de un microservicio a una arquitectura hexagonal
  • Reorganización de código existente
  • Implementación de adaptadores para la infraestructura externa
  • Refactorización de la comunicación entre componentes
  • Validación y pruebas de integración después de la migración
tema 8Comunicación HTTP entre microservicios en .Net
  • El reto de la comunicación entre microservicios
  • Diseñando una comunicación HTTP basada en API REST
  • Diseñando una comunicación HTTP basada en GraphQL
  • Diseñando una comunicación HTTP basada en Grpc
  • Rest Vs GraphQL vs Grpc
  • Seguridad de la comunicación HTTP.
tema 9Comunicación asíncrona entre microservicios .Net basada en mensajes
  • Comunicación asíncrona, beneficios y retos
  • Colas one-to-one
  • Topic one-to-many
  • Patrón pub/sub
  • Usando RabbitMQ para nuestra comunicación
tema 10Pruebas unitarias y de integración con XUnit y TestServer
  • Uso de XUnit como marco de pruebas unitarias
  • Configuración de pruebas unitarias en proyectos .Net 8
  • Implementación de pruebas de integración con Test Server
  • Automatización de pruebas con casos de prueba y cobertura
  • Estrategias para pruebas de carga y rendimiento
tema 11Despliegue de microservicios en Azure
  • Configuración de entornos de despliegue en Azure
  • Implementación de contenedores Docker en Azure Kubernetes Service (AKS)
  • Uso de Azure DevOps para la implementación continua
  • Monitoreo y escalado automático en Azure
  • Implementación de estrategias de recuperación ante desastres en Azure
tema 12Escalabilidad en soluciones .Net
  • ¿Qué es la escalabilidad?
  • Estrategias generales de escalado horizontal y vertical
  • Load balancer: ¿Qué es y para qué se usa?
  • Adaptando el diseño de nuestro monolito para escalar
  • Escalabilidad en arquitectura de microservicios
  • Implementación de escalado automático en la nube
  • Consideraciones de seguridad en entornos escalables
  • Gestión de recursos y costos en entornos escalables
tema 13Escalado de microservicios con el patrón CQRS
  • Introducción al patrón CQRS (Command Query Responsibility Segregation)
  • Diseño e implementación de comandos
  • Event sourcing and event store
  • Implementando las queries y las consultas en microservicios
  • Implementación de colas de comandos en microservicios
  • Uso de proyecciones para consultas optimizadas
  • Consideraciones de consistencia y concurrencia en CQRS
tema 14Escalado de microservicios usando bases de datos de replicación
  • Conceptos de replicación de bases de datos en microservicios
  • Implementación de replicación de lectura y escritura
  • Configuración de clústeres de bases de datos en Azure
  • Estrategias de sincronización y consistencia en bases de datos replicadas
  • Monitoreo y resolución de conflictos en bases de datos replicadas
tema 15Escalado de microservicios a través del uso de lambdas para demandas no continuas
  • Uso de funciones lambda para procesamiento bajo demanda
  • Integración de lambdas con microservicios
  • Diseño de flujos de trabajo basados en eventos
  • Escalabilidad automática de lambdas en la nube
  • Casos de uso y ejemplos de implementación
tema 16Estandarización de desarrollos, monitorización y uso de métricas
  • Establecimiento de estándares de codificación y documentación
  • Implementación de prácticas de revisión de código
  • Configuración de sistemas de monitoreo en tiempo real
  • Uso de herramientas de métricas para el rendimiento y la disponibilidad
  • Análisis de datos y generación de informes para la toma de decisiones
tema 17Diseño de acceso a datos para microservicios .Net
  • Beneficios del diseño de datos en microservicios
  • ¿Qué tipo de base de datos elegir para nuestros microservicios?
  • Sharding vs Partitioning
  • Implementando Sharding en nuestro proyecto
tema 18Acceso a datos más allá de EF Core: Dapper
  • ¿Qué es Dapper? Comparación con EF Core
  • ¿Cuándo usar Dapper frente a Entity Framework?
  • Lectura y escritura de datos con Dapper
  • Bases de datos no relacionales y beneficios
  • Lectura y escritura de datos con MongoDB
  • Lectura y escritura de datos con Redis
tema 19Creación de paquetes Nuget personalizados
  • Desarrollo de paquetes reutilizables
  • Pros y contras.
  • Preparando una interfaz clara
  • Documentando adecuadamente las clases y miembros
  • Firmado de paquetes
  • Publicación de paquete Nuget en repositorios privados
tema 20Transacciones distribuidas en microservicios y cache distribuida en .Net
  • Introducción a las transacciones y principios ACID
  • Definiendo las transacciones de nuestro sistema
  • Patrón SAGA
  • Tipos de cache
  • Estrategias de caching para microservicios
  • Patrón cache-aside
tema 21Arquitectura dirigida a eventos en .Net
  • ¿Qué es la arquitectura basada en eventos?
  • Procesamiento en tiempo real y de eventos
  • Event hubs y Streaming
  • Adaptando nuestros microservicios a una arquitectura basada en eventos
tema 22Resiliencia y monitorización en microservicios .Net
  • ¿Qué es la resiliencia?
  • Patrón retry
  • Patrón circuit breaker
  • Patrón bulkhead
  • Patrón fallback
  • Trazas y logging distribuidos
tema 23Arquitectura Serverless aplicada a .Net
  • ¿Qué es la arquitectura serverless?
  • Rediseñando nuestros microservicios para adaptarlos en serverless
  • AWS Lambdas
  • Azure Functions
tema 24CI/CD
  • Los problemas de desplegar cambios
  • Continuous Integration
  • Eligiendo una estrategia de testing
  • Anatomía de un pipeline de deployment
  • Eligiendo una estrategia de despliegue
  • Implementar CI/CD utilizando Azure DevOps pipelines
tema 25Debate sobre soluciones de arquitectura moderna para microservicios
  • Análisis de enfoques alternativos en arquitectura de microservicios
  • Comparación de herramientas y plataformas para microservicios
  • Discusión de casos de uso específicos y sus soluciones ideales
  • Debate sobre tendencias emergentes en arquitectura de software
  • Reflexión sobre desafíos futuros y oportunidades en el campo de microservicios en .Net y C#
tema 26Proyecto final
  • Planteamiento y diseño del proyecto
  • Implementación
  • Pruebas
  • Revisión de performance y escalabilidad
  • Consejos y siguientes pasos a partir de este curso

Formación Bonificada para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient