Déployer une application IA sur le cloud

Objectifs :

  • Comprendre le cloud et choisir la plateforme adaptée à son projet Python (Render, Azure, AWS)
  • Gérer les dépendances, variables d'environnement et secrets de manière reproductible et sécurisée
  • Déployer un script Python ou une API FastAPI accessible publiquement en moins d'une heure
  • Automatiser l'exécution (tâches planifiées) et le déploiement continu via GitHub Actions
  • Monitorer une application en production et maîtriser les coûts d'hébergement
Tarif inter / participant
1 800 € HT
📄 Programme (PDF) 📅 Voir les dates

Public visé

  • Développeurs Python souhaitant mettre en production leurs scripts et applications
  • Data analysts et data scientists confrontés à des besoins de déploiement (API, scripts programmés)
  • Profils techniques en ESN ou cabinets de conseil intervenant sur des projets cloud

Objectifs pédagogiques

  • Comprendre les fondamentaux du cloud : IaaS, PaaS, SaaS, régions, zones de disponibilité
  • Comparer les principales plateformes pour Python (Render, Railway, Azure, AWS, GCP)
  • Gérer les dépendances Python de manière reproductible (requirements.txt, pyproject.toml, uv)
  • Utiliser les variables d'environnement et les secrets de manière sécurisée
  • Déployer un script Python sur une plateforme PaaS en moins d'une heure
  • Déployer une API Python (FastAPI, Flask) accessible publiquement
  • Mettre en place une exécution automatisée : tâches planifiées, cron, workers
  • Configurer un pipeline de déploiement continu depuis GitHub
  • Monitorer une application en production : logs, métriques, alertes
  • Estimer et maîtriser les coûts d'hébergement
  • Appliquer les bonnes pratiques de sécurité de base

Prérequis

  • Python intermédiaire : fonctions, classes, modules, gestion d'exceptions
  • Aisance en ligne de commande (Linux / macOS / WSL)
  • Notions de Git : clone, commit, push, pull
  • Avoir déjà écrit un script Python utile ou une petite application
  • Compte GitHub personnel (gratuit)

Méthodes pédagogiques

  • Alternance de théorie (35%) et de pratique (65%)
  • Démonstrations live : déploiements en direct sur les principales plateformes cloud
  • Pédagogie par la comparaison : même projet déployé sur 3 plateformes pour mesurer les différences
  • Projet fil rouge : chaque participant déploie son propre projet au fil des 3 jours
  • Retours personnalisés : revue individuelle de l'architecture de chaque projet final
  • Supports de cours, schémas d'architecture, checklists de déploiement et template Python production-ready remis aux stagiaires (accès pérenne)

Programme détaillé

JOUR 1 — Fondamentaux du cloud et premier déploiement

  • Qu'est-ce que le cloud ? Différences IaaS / PaaS / SaaS / serverless
  • Cartographie des fournisseurs : AWS, Azure, GCP, OVHcloud, Scaleway
  • Plateformes PaaS orientées Python : Render, Railway, Fly.io, Heroku
  • Critères de choix : coût, localisation, conformité, courbe d'apprentissage
  • Régions, zones de disponibilité, latence, conformité RGPD
  • Modèle de facturation : pay-as-you-go, free tier, coûts cachés
  • Sécurité de base : IAM, accès, clés SSH, MFA
  • Gérer ses dépendances : requirements.txt, pyproject.toml, uv, Poetry
  • Fixer les versions : pourquoi et comment, le fichier de lock
  • Variables d'environnement et .env : séparation du code et de la configuration
  • Gestion des secrets : vault intégré, interdictions (jamais dans le code)
  • Préparer son projet Git pour le déploiement (.gitignore, README, runtime)
  • Premier déploiement guidé sur Render : script de scraping programmé
  • Comprendre les logs et diagnostiquer les premières erreurs

■ Travaux pratiques :
→ TP1 : Créer un projet Python propre avec gestion de dépendances reproductibles
→ TP2 : Déployer un script Python (extraction de données) sur Render en moins d'une heure
→ TP3 : Configurer 3 variables d'environnement et les utiliser dans le script déployé

JOUR 2 — Déployer une API et automatiser l'exécution

  • Rappels express sur les API REST et les frameworks Python (FastAPI, Flask)
  • Préparer une API pour la production : uvicorn, gunicorn, workers
  • Fichier de configuration : Procfile, render.yaml, Dockerfile (approche comparative)
  • Déployer une API FastAPI simple avec 3 endpoints sur Render ou Railway
  • Comparaison avec un déploiement sur Azure App Service
  • Gestion du port, du host et de la configuration réseau
  • Exposer son API avec un nom de domaine personnalisé et HTTPS
  • Documentation automatique : Swagger, ReDoc
  • Tâches planifiées : cron jobs, scheduled jobs, Render Cron, GitHub Actions scheduled
  • Workers asynchrones : background workers, Redis Queue
  • Cas concret : exécuter un script quotidien à 2h du matin avec logs et alertes
  • Automatiser le déploiement : GitHub Actions, push-to-deploy
  • Branches et environnements : staging, production
  • Rollback rapide : principes et outillage
  • Introduction à l'Infrastructure as Code : Terraform (survol, pour culture)

■ Travaux pratiques :
→ TP1 : Déployer une API FastAPI à 3 endpoints accessible publiquement
→ TP2 : Mettre en place une tâche planifiée quotidienne avec notification en cas d'échec
→ TP3 : Configurer un pipeline GitHub Actions qui déploie automatiquement sur push sur main

JOUR 3 — Azure, AWS, monitoring et projet final

  • Panorama des services Python sur Azure : App Service, Functions, Container Apps
  • Premier déploiement sur Azure App Service : pas à pas
  • Azure Functions pour les exécutions événementielles
  • Panorama des services Python sur AWS : Elastic Beanstalk, Lambda, ECS
  • Premier déploiement sur AWS Elastic Beanstalk : pas à pas
  • AWS Lambda pour le serverless : quand et comment
  • Comparaison pratique : Render vs Azure vs AWS sur le même projet
  • Critères de choix par cas d'usage : MVP, entreprise, volumes
  • Logs structurés : bonnes pratiques avec Python logging
  • Centraliser les logs : plateforme native, Datadog, Better Stack
  • Métriques essentielles : CPU, mémoire, latence, erreurs
  • Alertes : configurer des seuils pertinents sans sur-alerter
  • Uptime monitoring : UptimeRobot, Better Uptime
  • Maîtrise des coûts : budgets, alertes, free tiers, tableaux de suivi
  • Sécurité : HTTPS obligatoire, gestion des secrets, principe du moindre privilège
  • Protection API : authentification, rate limiting, CORS

■ Travaux pratiques — Projet final :
→ Chaque participant choisit un projet Python personnel à déployer en production
→ Livrables : code déployé, pipeline CI/CD, monitoring actif, documentation
→ Soutenance courte (10 min par participant) : architecture, choix, démonstration
→ Retour personnalisé du formateur

Évaluation

  • Test de positionnement en début de formation
  • Évaluations formatives : exercices pratiques corrigés, debugging collectif, QCM intermédiaires
  • QCM mi-parcours de 20 questions (Jour 2)
  • QCM final de 30 questions (Jour 3) — critère de réussite : 60%
  • Présentation et soutenance du projet final déployé en production
  • Attestation de fin de formation délivrée

Retour en haut