Objectifs de la formation
- Appréhender les étapes du développement d'une application cloud native
- Comprendre les différentes solutions techniques, les produits et les services sous-jacents au cloud native
- Connaître les principaux procédés de sécurisation des applications cloud native
- Comprendre l'importance de la culture DevOps et ses conséquences sur la réorganisation des équipes
Programme de la formation
Introduction : la culture cloud native
- De la conception à la production : parcours des étapes du développement logiciel à l'exécution de l’application.
- Systèmes distribués et architecture sans état (stateless).
- Principes des 12 facteurs.
- Contrôleurs et orchestration.
- MultiTenancy : région, AZ, VPC.
- Les acteurs incontournables de l’écosystème : Hyper Scalers et éditeurs.
Socles des applications cloud native
- Principes des microservices.
- Des VMs aux containers.
- Kubernetes : orchestration des containers.
- Le paysage cloud native selon la CNCF.
- Serverless, CaaS, PaaS et fonctions : exécution pilotée par les évènements (Heroku, Platform.sh, AWS Lambda..).
Concevoir des applications cloud native
- Besoins fondamentaux : excellence opérationnelle, résilience, sécurité, mise à l’échelle et gestion des coûts.
- Fonctions et services.
- Niveau d’abstraction : conception et cycle de vie des APIs (REST, gRPC, swagger...).
- Communication intermessages : file d’attente, message broker, désérialisation, requête/réponse, publisher/subscriber.
- Quelles technologies middleware adopter ? Dans quel cas ?
- Communication synchrone et asynchrone.
Gérer les données de façon distribuée
- Stockage bloc (EBS, VSAN...) et objet (S3, R2...), serveurs de fichier (SMB, NFS), blockchain.
- Les bases de données, le stockage clé/valeur : MongoDB, PostgreSQL, Redis, Cockroach.
- DB as a Service : Aurora, DynamoDB, Google Cloud SQL OVH Cloud Databases...
- Comment choisir le datastore pertinent ?
- Les files d’attente (queue) et les flux (stream) de messages : RabbitMQ, Kafka...
- Stockage de données extensible (sharding, CDN, cache).
- Analyse de la donnée : Data Lake, moteur distribué de requêtes.
- Stockage dans Kubernetes.
Démonstration
Illustration d'une solution message oriented middleware par une architecture en cas réel.
Sécuriser les échanges réseau
- Service Proxy, Service Mesh.
- Egress, passerelles (Gateways).
- Cloisonnement.
- Chiffrement des données en transport.
- Liaisons entre le cloud et les réseaux traditionnels.
Démonstration
Filtrage réseau et chiffrement à la volée
Équipes DevOps et COE (centre d’excellence opérationnelle)
- Définitions et principes, la fin des silos.
- Outils et environnement de développement et de tests.
- Pipeline d’intégration continue, déploiement continu (CI/CD).
- Les Site Reliability Engineer (SRE).
- Les 3 piliers de l’observabilité : métrique, traçabilité, log.
Démonstration
Présentation d’un pipeline CI/CD, observabilité avec Prometheus, Grafana...
Bonnes pratiques
- Migration vers le cloud natif.
- S’assurer de la résilience (région, zone de disponibilité).
- S’assurer de la sécurité (IAM, chiffrement en transport et au repos, filtrage réseau...).
- Mesure de la performance et mise à l’échelle.
- Retours d’expérience sur les fonctions.
- Gouvernance des clusters Kubernetes.
- Matrice de maturité cloud native.
Conclusion
- Bénéfices et limitations du cloud hybride.
- Les futures tendances.