Devops

Applications cloud native, enjeux et perspectives

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.

Please login to get access to the quiz
Cloud Computing, architecture et expertise (Prev Lesson)
(Next Lesson) DevOps, état de l’art et bonnes pratiques
Back to Devops