Développement d'Architectures Serverless Open Source

Objectifs de la Formation

  • Comprendre en profondeur les concepts et principes des architectures serverless.

  • Acquérir les compétences nécessaires pour développer, déployer et gérer des applications serverless en utilisant des technologies open source.

  • Mettre en pratique les concepts avancés à travers des labs pratiques et des études de cas réels.

Public Cible

  • Développeurs Senior

  • Ingénieurs DevOps

  • Architectes logiciels

Pré-requis

  • Connaissance avancée des architectures cloud et des services serverless.

  • Expérience en développement logiciel avec des langages comme JavaScript, Python, ou Go.

  • Familiarité avec les concepts de microservices et de conteneurs.


Module 1: Introduction aux Architectures Serverless

Session 1: Concepts de Base et Avantages

  • Définition des architectures serverless.

  • Avantages et inconvénients par rapport aux architectures traditionnelles.

Session 2: Écosystème Open Source

  • Présentation des outils et frameworks open source (e.g., Apache OpenWhisk, Fission, Kubeless).

  • Comparaison des fonctionnalités et cas d'utilisation.

Lab 1: Mise en Place d'un Environnement de Développement Serverless

  • Installation de Docker et Kubernetes.

  • Déploiement d'un cluster Kubernetes local.

  • Installation et configuration de Fission sur Kubernetes.


Module 2: Développement de Fonctions Serverless

Session 3: Création et Déploiement de Fonctions

  • Structure et composantes des fonctions serverless.

  • Développement et déploiement de fonctions avec Fission.

Lab 2: Développement et Déploiement de Fonctions

  • Création d'une fonction simple en Python.

  • Déploiement et test sur Fission.

Session 4: Gestion des Dépendances et Environnements

  • Gestion des dépendances pour les fonctions.

  • Configuration des environnements d'exécution.

Lab 3: Gestion des Dépendances

  • Ajout de dépendances à une fonction Node.js.

  • Déploiement et test de la fonction avec ses dépendances.


Module 3: Orchestration et Gestion des Fonctions

Session 5: Orchestration des Fonctions

  • Concepts d'orchestration et de composition de fonctions.

  • Utilisation de workflows pour orchestrer les fonctions.

Lab 4: Orchestration de Fonctions

  • Création d'un workflow avec Apache OpenWhisk.

  • Déploiement et exécution du workflow.

Session 6: Gestion de l'État

  • Gestion de l'état dans les architectures serverless.

  • Utilisation de services de stockage pour la persistance de l'état.

Lab 5: Gestion de l'État

  • Implémentation d'une fonction avec persistance de l'état utilisant Redis.

  • Déploiement et test de la fonction.


Module 4: Monitoring et Sécurité

Session 7: Monitoring et Logging

  • Importance du monitoring dans les architectures serverless.

  • Outils et techniques de monitoring open source (e.g., Prometheus, Grafana).

Lab 6: Mise en Place du Monitoring

  • Configuration de Prometheus et Grafana pour le monitoring des fonctions Fission.

  • Création de tableaux de bord pour la visualisation des métriques.

Session 8: Sécurité des Fonctions

  • Concepts de sécurité pour les architectures serverless.

  • Meilleures pratiques pour sécuriser les fonctions et les environnements.

Lab 7: Implémentation de la Sécurité

  • Configuration de politiques de sécurité pour les fonctions.

  • Mise en œuvre de la gestion des accès et des autorisations.


Module 5: Déploiement et Gestion en Production

Session 9: Déploiement à Grande Échelle

  • Stratégies de déploiement à grande échelle.

  • Gestion des mises à jour et des versions.

Lab 8: Déploiement à Grande Échelle

  • Mise en place d'un pipeline CI/CD pour le déploiement des fonctions.

  • Déploiement d'une application serverless complète en production.

Session 10: Gestion des Coûts et Optimisation

  • Optimisation des performances et des coûts.

  • Techniques pour réduire les coûts opérationnels.

Lab 9: Optimisation des Fonctions

  • Analyse des performances et des coûts d'une application serverless.

  • Implémentation d'optimisations pour améliorer l'efficacité.


Module 6: Études de Cas et Avancées Futures

Session 11: Études de Cas

  • Présentation de cas réels d'implémentation d'architectures serverless.

  • Discussion sur les défis et les solutions adoptées.

Lab 10: Étude de Cas Pratique

  • Implémentation d'une architecture serverless basée sur un cas réel.

  • Analyse des résultats et des performances.

Session 12: Innovations et Tendances Futures

  • Tendances et innovations dans les architectures serverless.

  • Exploration des nouvelles technologies et outils émergents.

Lab 11: Exploration de Nouvelles Technologies

  • Test des nouvelles fonctionnalités et outils dans un environnement de développement.

  • Discussion sur l'impact potentiel et les cas d'utilisation futurs.


Évaluation et Certification

  • Quiz en ligne après chaque module.

  • Projet final : Développement et déploiement d'une application serverless complète en utilisant des technologies open source.

  • Évaluation des projets et délivrance des certificats de réussite.

Ressources et Supports

  • Slides et documents de référence.

  • Accès aux enregistrements des sessions.

  • Forums de discussion et support technique.


Last updated