Envíanos tu consulta
Términos y condiciones *
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de .NET 9 Avanzado

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

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

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en .NET 9 Avanzado bonificable para empresas

A quién va dirigido nuestro curso de .NET 9 Avanzado

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 de nuestro curso de .NET 9 Avanzado

  • 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 en nuestro curso de .NET 9 Avanzado

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

Requisitos de nuestro curso de .NET 9 Avanzado

  • Tener experiencia desarrollando en C# (12, 13 o superior) y proyectos Web API con .Net (8 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 de .NET 9 Avanzado

tema 1

Introducció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
iconArrowDown
tema 2

Analizando 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
iconArrowDown
tema 3

Microservicios 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?
iconArrowDown
tema 4

Introducció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
iconArrowDown
tema 5

Descomponiendo 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
iconArrowDown
tema 6

Aplicando 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
iconArrowDown
tema 7

Convirtiendo 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
iconArrowDown
tema 8

Comunicació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.
iconArrowDown
tema 9

Comunicació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
iconArrowDown
tema 10

Pruebas 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 9 (RC)
  • 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
iconArrowDown
tema 11

Despliegue 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
iconArrowDown
tema 12

Escalabilidad 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
iconArrowDown
tema 13

Escalado 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
iconArrowDown
tema 14

Escalado 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
iconArrowDown
tema 15

Escalado 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
iconArrowDown
tema 16

Estandarizació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
iconArrowDown
tema 17

Diseñ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
iconArrowDown
tema 18

Acceso 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
iconArrowDown
tema 19

Creació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
iconArrowDown
tema 20

Transacciones 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
iconArrowDown
tema 21

Arquitectura 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
iconArrowDown
tema 22

Resiliencia 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
iconArrowDown
tema 23

Arquitectura Serverless aplicada a .Net

  • ¿Qué es la arquitectura serverless?
  • Rediseñando nuestros microservicios para adaptarlos en serverless
  • AWS Lambdas
  • Azure Functions
iconArrowDown
tema 24

CI/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
iconArrowDown
tema 25

Debate 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#
iconArrowDown
tema 26

Proyecto 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
iconArrowDown

Preguntas Frecuentes de .NET 9 Avanzado

¿Cuáles son los beneficios de realizar el curso de .NET 9 Avanzado?

accordionIcon
El curso de .NET 9 Avanzado te proporciona conocimientos profundos y específicos, centrándose en arquitecturas modernas como los microservicios, DDD, y la arquitectura hexagonal. Aprenderás a optimizar el rendimiento de las aplicaciones y a implementar soluciones escalables, mejorando así tu habilidad para resolver problemas complejos en los entornos empresariales actuales.

¿El curso de .NET 9 Avanzado se puede bonificar a través de FUNDAE?

accordionIcon
Sí, el curso de .NET 9 Avanzado se puede bonificar a través de FUNDAE. Esto permite a las empresas reducir significativamente el coste de la formación de sus empleados, aprovechando las subvenciones para la capacitación laboral. Además, si gestionamos la bonificación, se cobrará un 10% extra sobre el valor del curso más IVA, que también es bonificable.

¿En qué modalidad se imparte el curso de .NET 9 Avanzado?

accordionIcon
El curso se imparte en modalidad de Aula Virtual Personalizada a través de videoconferencia por Zoom. Esta modalidad ofrece flexibilidad y permite al estudiante acceder a las grabaciones, facilitando el aprendizaje a su propio ritmo.

¿Qué habilidades desarrollaré con el curso de .Net 9 Avanzado?

accordionIcon
Desarrollarás habilidades en la implementación de arquitecturas modernas como microservicios y DDD, optimización de la performance de aplicaciones .NET, y el diseño de sistemas escalables y resilientes. Además, adquirirás experiencia práctica con herramientas como Docker, Kubernetes, y plataformas en la nube como Azure.

¿Cómo puedo inscribirme en el curso de .NET 9 Avanzado?

accordionIcon
Para inscribirte en el curso, accede a nuestro sitio web y completa los formularios de inscripción. Asegúrate de proporcionar toda la información solicitada para procesar tu inscripción eficientemente y así aprovechar las bonificaciones disponibles.