Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Dirigido a ingenieros y arquitectos de software con experiencia sólida en GraphQL que necesitan llevar sus APIs al siguiente nivel de madurez en entornos de producción exigentes, este curso aborda los retos que aparecen cuando una API GraphQL crece en escala, complejidad organizativa y volumen de tráfico. A lo largo de las ocho horas de trabajo, los participantes aprenderán a diseñar arquitecturas federadas que distribuyen responsabilidades por dominio de negocio, a proteger sus APIs frente a vectores de abuso mediante análisis de complejidad y control de tasas, a centralizar la lógica de autorización con directivas de esquema, a eliminar problemas de rendimiento como el N+1 con DataLoader, y a establecer estrategias de evolución del esquema que permiten deprecar campos sin romper contratos con los clientes. El resultado es la capacidad de tomar decisiones arquitectónicas fundamentadas —incluyendo cuándo GraphQL es la elección correcta y cuándo no lo es— y de operar y mantener APIs GraphQL de alto tráfico con criterios de ingeniería profesional.
Al finalizar el curso, el participante será capaz de:
Bloque 1 — Federación y arquitectura de esquemas a escala. El curso abre con los principios que gobiernan las arquitecturas GraphQL federadas: cómo identificar fronteras de dominio, cómo asignar responsabilidades a subgraphs independientes y qué criterios de cohesión y acoplamiento deben guiar esas decisiones. Se trabaja la composición del supergraph, la gestión de entidades compartidas entre servicios y las implicaciones operacionales de desplegar y versionar múltiples subgraphs en un mismo ecosistema.
Bloque 2 — Evolución del esquema sin breaking changes. Se aborda la estrategia de ciclo de vida del esquema: uso de la directiva @deprecated, patrones de migración gradual de campos y tipos, versionado semántico aplicado al contrato GraphQL y los mecanismos de comunicación hacia los equipos cliente. Este bloque establece los fundamentos conceptuales de gestión de cambio que condicionan el resto de las decisiones de diseño.
Bloque 3 — Seguridad y control de abuso. La sección examina el modelo de amenazas específico de las APIs GraphQL públicas: consultas anidadas de profundidad arbitraria, queries con complejidad computacional excesiva y clientes que saturan el servicio. Se configuran y calibran las defensas principales —depth limiting, complexity analysis y rate limiting— justificando los umbrales elegidos en función del perfil de uso esperado. A continuación se diseña la capa de autorización centralizada con directivas de esquema o librerías de shield, contrastando este enfoque con la alternativa —y problemática— de distribuir la lógica de permisos en cada resolver.
Bloque 4 — Rendimiento y observabilidad. Este bloque cubre primero el problema N+1 en profundidad: diagnóstico, cuantificación del impacto y solución mediante DataLoader con batching y caching de alcance por request, validada con métricas comparativas de latencia. Después se introduce el profiling y el tracing distribuido aplicados a GraphQL, analizando cómo atribuir tiempos de respuesta a resolvers concretos, interpretar flamegraphs y construir una lista priorizada de acciones correctivas orientadas a impacto real.
Bloque 5 — Calidad de código y posicionamiento estratégico de GraphQL. El curso cierra con dos líneas complementarias. La primera, de carácter técnico, integra la generación automática de tipos y el schema linting en un pipeline de CI/CD usando GraphQL Code Generator o equivalentes, garantizando que el contrato del esquema se valide de forma continua. La segunda, de carácter estratégico, proporciona un marco de evaluación comparativa entre GraphQL, REST y gRPC: cuándo cada tecnología es la elección más adecuada, qué trade-offs de rendimiento, experiencia de desarrollador y complejidad operacional deben documentarse, y cómo estructurar el informe técnico que respalde la decisión ante los equipos de negocio y arquitectura.
Para aprovechar este curso en su totalidad, los participantes deben haber completado el nivel intermedio de GraphQL (GGQL02) o demostrar una experiencia equivalente. Se da por sentada la capacidad de diseñar esquemas con tipos personalizados, interfaces y uniones; implementar resolvers para queries, mutations y subscriptions; gestionar contexto y autenticación básica; y trabajar con al menos una librería del ecosistema GraphQL (Apollo Server, Pothos, graphql-yoga o similar). El participante también debe manejar con soltura conceptos de APIs REST —códigos de estado HTTP, paginación, caching— y tener experiencia práctica con Node.js o el entorno de backend que se utilice en los ejercicios.