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
Este curso está dirigido a desarrolladores con experiencia consolidada en Flask que desean llevar sus aplicaciones al siguiente nivel de calidad, rendimiento y operabilidad en entornos de producción reales. A lo largo de diez horas, los participantes abordarán los patrones arquitectónicos que permiten escalar y mantener aplicaciones complejas —Application Factory, Blueprints y versionado de API—, aprenderán a diagnosticar y eliminar cuellos de botella mediante herramientas de profiling, implementarán sistemas de autenticación robustos con JWT y control de acceso por roles, descargará trabajo pesado a colas asíncronas con Celery, y evaluarán críticamente las opciones de despliegue disponibles, argumentando trade-offs según el contexto del proyecto. Al finalizar, el participante será capaz de diseñar, optimizar y desplegar una aplicación Flask de nivel profesional con criterios documentados de seguridad, rendimiento y resiliencia.
Bloque 1 — Arquitectura modular y escalable. Se estudia el patrón Application Factory como punto de entrada configurable de la aplicación y la organización del código en Blueprints independientes. El bloque cubre la separación de responsabilidades entre módulos, la gestión centralizada de extensiones y la estrategia de versionado de la API REST, analizando las opciones de URL path, headers y query params, su efecto en la retrocompatibilidad y cómo documentar la decisión con ejemplos de migración para clientes existentes.
Bloque 2 — Rendimiento y optimización de datos. Se introduce el ciclo de análisis de rendimiento con herramientas de profiling (Werkzeug Debugger, Py-Spy o equivalentes), estableciendo una metodología de medición que produce métricas comparables antes y después de cada intervención. A partir de ese diagnóstico, el bloque aborda las técnicas de optimización de la capa de datos: configuración de connection pooling en SQLAlchemy, patrones de lazy loading y eager loading según el caso de uso, y caché de consultas con Flask-Caching para reducir la presión sobre la base de datos en los endpoints críticos.
Bloque 3 — Seguridad avanzada: autenticación y autorización. Se diseña un sistema completo de autenticación basado en JWT que incluye emisión, validación y refresco de tokens, rotación periódica de secretos y un modelo de control de acceso por roles (RBAC). El bloque dedica especial atención a los vectores de ataque más habituales —token hijacking y replay attacks— y a las contramedidas concretas que los mitigan, integrando las decisiones de seguridad desde el diseño del esquema de datos hasta la capa de middleware.
Bloque 4 — Tareas asíncronas y resiliencia en producción. Se aborda la extracción de trabajo pesado a colas asíncronas mediante Celery con Redis o RabbitMQ como broker, mostrando cómo la arquitectura evita que la latencia del endpoint principal escale con la carga. Sobre ese escenario de alta concurrencia se construyen las estrategias de resiliencia: error handlers globales, el patrón circuit breaker y la degradación gradual del servicio, todo ello verificable mediante pruebas de carga controladas.
Bloque 5 — Despliegue y evaluación de opciones de infraestructura. Se comparan de forma estructurada las principales alternativas de despliegue —Gunicorn+Nginx, uWSGI, contenedores Docker y funciones serverless—, argumentando los trade-offs de coste, escalabilidad y mantenibilidad en función de requisitos concretos. El bloque cierra con la integración del pipeline de pruebas en un flujo CI/CD que bloquea merges cuando la cobertura cae por debajo del umbral establecido, consolidando la cadena completa desde el código hasta producción.