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 de software con experiencia previa en gRPC y Go que necesitan operar sistemas distribuidos en producción bajo requisitos exigentes de rendimiento, seguridad y mantenibilidad. A lo largo de las ocho horas del curso, los participantes analizarán los trade-offs de diseño que determinan la elección de patrones de comunicación en arquitecturas multi-servicio, aplicarán técnicas avanzadas de optimización de latencia y uso de memoria, implantarán seguridad mTLS end-to-end con rotación automatizada de certificados, integrarán telemetría basada en OpenTelemetry mediante interceptores no intrusivos y automatizarán la detección de breaking changes en pipelines CI/CD. Al finalizar, cada participante será capaz de tomar decisiones de arquitectura fundamentadas en métricas propias y de entregar servicios gRPC en Go que cumplan objetivos cuantificables de rendimiento, resiliencia y observabilidad.
Al finalizar el curso, el participante será capaz de:
.proto en un pipeline CI/CD que detecte breaking changes, genere código Go y publique artefactos versionados sin intervención manual.Bloque 1 — Diseño arquitectónico y selección de patrones de comunicación
Este bloque establece los fundamentos de decisión para sistemas multi-servicio gRPC. Se estudia cómo seleccionar el patrón de comunicación adecuado —unario, server-streaming o bidireccional— a partir de criterios medibles como latencia esperada, grado de acoplamiento entre servicios y necesidades de escalabilidad horizontal. Se abordan también las implicaciones de cada patrón sobre la gestión del ciclo de vida de las conexiones y los contratos Protobuf, y se analiza cuándo gRPC resulta más conveniente que REST o GraphQL a partir de benchmarks propios y consideraciones de coste operativo y madurez del ecosistema.
Bloque 2 — Versionado de contratos Protobuf y gestión de cambios en CI/CD
Se examinan los principios de retrocompatibilidad y forward-compatibility en Protobuf, y se comparan diseños de API alternativos mediante escenarios de migración reales que evidencian sus trade-offs. A continuación, se traslada esa disciplina al pipeline de integración continua: configuración de herramientas de detección de breaking changes, generación automatizada de código Go y publicación de artefactos versionados sin intervención manual, integrando el ciclo .proto → artefacto como una fase de primera clase en el flujo de entrega.
Bloque 3 — Optimización de rendimiento y resiliencia en producción
El bloque combina dos dimensiones complementarias del trabajo en producción. En la parte de rendimiento, se aplican técnicas de reutilización de conexiones HTTP/2, selección de algoritmos de compresión y dimensionamiento del pool de workers para alcanzar reducciones cuantificables de latencia P99 y uso de memoria. En la parte de resiliencia, se implementan estrategias de backpressure, retry con backoff exponencial y propagación de deadlines en streams bidireccionales de alta carga, y se valida su eficacia mediante pruebas de caos controladas.
Bloque 4 — Seguridad mTLS y observabilidad con OpenTelemetry
El bloque cierra el curso con las capas transversales que todo sistema gRPC en producción requiere. En seguridad, se diseña e implanta un esquema mTLS end-to-end que abarca la configuración de autoridades certificadoras internas, la automatización de la rotación de certificados y la definición de políticas de autorización a nivel de método mediante interceptores de servidor y cliente. En observabilidad, se instrumentan esos mismos interceptores para integrar trazas distribuidas, métricas RED y logs estructurados con OpenTelemetry, consiguiendo visibilidad completa del sistema sin alterar la lógica de negocio de ninguno de los servicios.
protoc con los plugins protoc-gen-go y protoc-gen-go-grpc en la versión compatible con el material del curso.buf CLI recomendada).