Création d'applications PHP serverless
Formateur : Matthieu Napoli
Objectifs pédagogiques
L’atelier a pour objectif de présenter les applications serverless ainsi que de transmettre aux participants les connaissances nécessaires à la création de ces applications avec PHP. Suite à la formation, les participants seront en capacité de déployer des applications PHP serverless sur AWS.
Public concerné
- Développeurs
- Architectes logiciel
- Devops
Prérequis
- Connaissances professionnelles en développement PHP
- Connaissances de base de la ligne de commande ainsi que Git
- Un ordinateur portable avec PHP, Git, Docker
Programme de formation
L’atelier se compose d’une alternance continue entre présentations théoriques et applications pratiques. Les exercices pratiques seront réalisés par les participants sur leurs ordinateurs.
Jour 1
La première journée est principalement orientée sur la découverte du serverless et les applications HTTP (API et sites web).
- Présentation de l’atelier et définition des objectifs
- Serverless et AWS Lambda
- Introduction à “serverless” et FaaS, objectifs, inconvénients
- Installation des outils et du projet
- Créer une première lambda NodeJS/Python
- Déployer avec Serverless
- Créer des API avec API Gateway
- PHP sur AWS Lambda
- Introduction à Bref
- Déployer avec Bref : fonctions, applications HTTP et applications console
- Développer en local
- Aller plus loin (à adapter en fonction des besoins des participants)
- Utiliser une base de données
- Créer des sites web (gérer et déployer les assets, etc.)
- Mettre en place des crons
- Utiliser un framework sur AWS Lambda
- Symfony ou Laravel (au choix)
- Passer en production
- Configurer des noms de domaines
- Déployer en continu
- Suivre les métriques et logs de production
- Comprendre les performances, le scaling et les cold starts
- Bonnes pratiques de sécurité
Jour 2
La seconde journée est principalement orientée sur la création de workers, micro-services et autres applications event-driven.
- Introduction à la runtime “Function”
- Workers asynchrones
- Découverte de l’intégration SQS avec Lambda
- Mechanismes de retry et gestion des erreurs
- Intégration avec Symfony Messenger
- Batch processing
- Architectures “event-driven”
- Découverte de SNS et EventBridge
- Envoi et traitement des messages EventBridge avec Lambda
- Mechanismes de retry et gestion des erreurs
- Intégration avec Symfony Messenger
- Réagir à des évènements natifs AWS (S3, DynamoDB, etc.)
- Aller plus loin sur les micro-services HTTP : intégration native avec API Gateway
- Récapitulatif : comment découpler et quel méchanisme utiliser dans des architectures micro-services
- Bonnes pratiques
- Performances
- Monitoring
- Échange sur des cas pratiques
Vous souhaitez aller plus loin ?
Parce qu’une formation ne sous-entend pas une maitrise parfaite dès le premier jour, il est possible de vous faire accompagner par le formateur.
Cet accompagnement est réalisé à votre demande et dans le cadre d’une prestation de service.