Le Plan Copenhague
Gratuit !
Avec abonnement
$24.99
Prix suggéré

Le Plan Copenhague

Comment nous avons migré la plateforme 6play vers Le Cloud, sur AWS et Kubernetes.

À propos du livre

You'd be interested by an English translation? Take a look at The Copenhagen Initiative!

6play, la plateforme de replay et de VOD de M6 et d’autres chaînes du Groupe RTL, est hébergée dans Le Cloud ! Ou plutôt, selon le moment où vous lisez ceci, une partie de notre plateforme est hébergée dans Le Cloud.

Avant 2018, notre plateforme était exclusivement hébergée dans un data-centre parisien. Nous y louions une salle, des baies, des serveurs, des connexions réseau. Lorsqu’un disque cassait ou pour ajouter de la RAM à un serveur, un technicien se déplaçait jusqu’au data-centre...

En 2018, nous avons entamé notre migration vers Le Cloud : nous avons basculé la plus grosse partie de notre hébergement chez AWS. Nous utilisons à présent des services managés lorsque nous le pouvons et nos applications sont souvent déployées sous Kubernetes.

Ce livre raconte l’histoire de cette migration : comment avons-nous transformé notre hébergement ? Quels impacts sur nos projets ? Comment nous sommes-nous organisés ? Quels choix avons-nous effectué tout au long du processus ? Qu’avons-nous appris, qu’avons-nous fait évoluer ? Et peut-être même, un ou deux ans plus tard : que ferions-nous différemment si nous devions recommencer ?

Plus que « voici notre plateforme, elle est parfaite », nous allons nous concentrer sur « pourquoi » et « comment ».

Les chapitres actuellement bien avancés (pour les premiers) ou prévus (pour les derniers) sont :

  • Introduction : pourquoi ce livre ?
  • Notre plateforme, notre projet : tour d’horizon de notre plateforme et de nos applications, de notre contexte technique et de notre projet de migration.
  • À la découverte du Cloud et de Kubernetes : pourquoi migrons-nous vers Le Cloud et quel fournisseur retenons-nous ? Comment travailler avec des conteneurs et quelles problématiques un orchestrateur résoudra-t-il ? Quel était notre premier planning de migration ?
  • Le Plan Copenhague : notre idée YOLO pour acquérir rapidement de l’expérience sur une application déployée en production.
  • Notre setup AWS : comptes, régions et gestion de droits. Infrastructure as Code avec Terraform.
  • Notre setup Kubernetes : comment gérons-nous nos clusters, avec kops, et quels composants additionnels installons-nous pour les rendre pleinement fonctionnels ?
  • Une première migration : nous migrons enfin notre première application, avec une chaîne de déploiement minimaliste et une approche sécurisante.
  • Le début des problèmes : avec une application en production, nous rencontrons enfin une première série de problèmes et nous présenterons les solutions que nous avons développées.
  • Une phase de stabilisation : quelles améliorations avons-nous apportées à notre hébergement, comment gérons nous le monitoring, l’alerting et le logging ? En somme, comment avons-nous évolué vers un hébergement réellement prod-ready ?
  • Des projets Cloud Native : quel impact a Le Cloud (Kubernetes, services managés…) sur nos projets et nos équipes ?
  • Migrons d'autres applications : quels choix avons-nous fait pour migrer d’autres applications plus complexes ? Quels problèmes avons-nous rencontré et comment les avons-nous résolus ?
  • CI, CD et recettes : comment se passe l’intégration continue dans un contexte de conteneurs  ? Comme déployons-nous nos applications sans douleur ?
  • Suivi consommation / coûts : la possibilité de lancer n’importe quel type d’instance ou n’importe quel service est très agréable pour développer… Mais, au bout d’un moment, penchons-nous sur le coût de notre hébergement et sur les optimisations que nous avons mises en place.
  • L'environnement de développement : nous avons vite vu que ce point n’allait pas être simple, que ce soit à cause de l’utilisation de services managés ou de conteneurs déployés sous Kubernetes…

La version publiée du livre sera bien sûr mise à jour, gratuitement, lorsque de nouveaux chapitres seront ajoutés ou en cas d’éventuelles corrections.

  • Partager ce livre

  • Catégories

    • Amazon Web Services
    • Cloud Computing
    • Software Engineering
  • Commentaires

    Écrire à l'auteur

Traduction

À propos de l'auteur

Pascal MARTIN
Pascal MARTIN

Passionné de développement en général ainsi que de Web et de PHP en particulier, je suis Lead DevOps chez Bedrock (ex M6 Web) à Lyon, où j'interviens notamment sur la plateforme 6play.

J'aime partager des retours d'expériences en conférence, je suis AWS Container Hero, j'ai écrit le livre « Développer une Extension PHP » et je suis coauteur de « PHP 7 avancé ». Vous pourrez également lire des articles techniques sur mon blog.

Vous pouvez me suivre sur @pascal_martin.

Table des matières

  • 1. Introduction
    • 1.1 Contenu de ce livre
    • 1.2 Pourquoi ?
    • 1.3 Notre retour d’expérience
    • 1.4 Transparence et confidentialité
    • 1.5 Conventions d’écriture
    • 1.6 À propos de l’auteur
  • 2. Notre plateforme, notre projet
    • 2.1 Nos applications
    • 2.2 Une infrastructure vieillissante
    • 2.3 Le futur en approche
    • 2.4 L’équipe DevOps
    • 2.5 Un cloud public, Kubernetes
    • 2.6 C’était un peu flou !
    • 2.7 En résumé
  • 3. À la découverte du Cloud et de Kubernetes
    • 3.1 Pourquoi « Le Cloud » ?
    • 3.2 GCP, AWS, …
    • 3.3 Kubernetes
    • 3.4 À quel prix ?
    • 3.5 Premier plan de migration
    • 3.6 En résumé
  • 4. Le Plan Copenhague
    • 4.1 Atteindre la perfection ?
    • 4.2 La KubeCon
    • 4.3 YOLO!
    • 4.4 Retour sur Terre
  • 5. Notre setup AWS
    • 5.1 Introduction
    • 5.2 Régions, zones, HA
    • 5.3 Des comptes AWS distincts
    • 5.4 Identification et AssumeRole
    • 5.5 IaaS et IaC
    • 5.6 Le réseau
    • 5.7 En résumé
  • 6. Notre setup Kubernetes
    • 6.1 Introduction
    • 6.2 EKS
    • 6.3 kops
    • 6.4 Composants additionnels
    • 6.5 En résumé
  • 7. Une première migration
    • 7.1 Introduction
    • 7.2 Le plan
    • 7.3 Une application simple
    • 7.4 La CI/CD du pauvre
    • 7.5 Sécuriser la bascule avec haproxy
    • 7.6 Terminer la bascule ?
    • 7.7 En résumé
  • 8. Le début des problèmes
    • 8.1 Introduction: en production, mais…
    • 8.2 Nos outils de départ
    • 8.3 Logging, monitoring et alerting
    • 8.4 Quelques problèmes : des cas réels !
    • 8.5 Quelques « préoccupations »
    • 8.6 En résumé
  • 9. Une première phase de stabilisation
    • 9.1 Introduction
    • 9.2 Le setup AWS
    • 9.3 Cluster Kubernetes (kops)
    • 9.4 Applications et leur infrastructure
    • 9.5 Du monitoring, de l’alerting
    • 9.6 La documentation
    • 9.7 En résumé
  • 10. Des projets Cloud Native
    • 10.1 Introduction
    • 10.2 Cloud Native ?
    • 10.3 Comment ça se passe, en vrai ?
    • 10.4 Le répertoire .cloud
    • 10.5 Quelques exemples
    • 10.6 Quels impacts ?
    • 10.7 En résumé
  • 11. Migrons toutes nos applications !
    • 11.1 Introduction
    • 11.2 Migrer des applications ?
    • 11.3 Une API pour connaitre l’heure
    • 11.4 Stockage d’images et génération de miniatures
    • 11.5 Le collecteur d’événements
    • 11.6 Notre API de catalogue
    • 11.7 Les préférences utilisateurs
    • 11.8 Le Front Web
    • 11.9 Backoffices
    • 11.10 C’est du boulot !
    • 11.11 En résumé
  • 12. TODO - Une seconde phase de stabilisation
  • 13. TODO - CI, CD et recettes
  • 14. Suivi consommation / couts
    • 14.1 Introduction
    • 14.2 Les couts, dans notre contexte
    • 14.3 Un peu de théorie et premiers pas
    • 14.4 Des améliorations que nous avons réalisées
    • 14.5 D’autres pistes pour l’avenir ?
    • 14.6 En résumé
  • 15. L’environnement de développement
    • 15.1 Introduction
    • 15.2 De quoi partions-nous ?
    • 15.3 Pendant notre migration…
    • 15.4 Et après ?
    • 15.5 En résumé
  • 16. TODO - Nous avons terminé notre migration !
  • Annexes
    • Remerciements
    • Aidez-moi !
    • Timeline
    • Quelques lectures intéressantes
    • Changelog
  • Notes

Aucun risque ! Satisfait ou remboursé !

Durant les 60 jours suivant l'achat, vous pouvez obtenir un remboursement à 100% de la part de Leanpub, en moins de deux clics. Nous traitons les remboursements manuellement, un délai de quelques jours est nécessaire. Voir nos conditions générales.

80% de droits d'auteur. Gagnez $16 sur un livre à $20.

Nous payons des royalties de 80%. Ce n'est pas une erreur : vous gagnez 16 $ sur une vente à 20 $. Si nous vendons 5000 exemplaires non remboursés de votre livre ou de votre cours pour 20 $, vous gagnerez 80 000 $.

(Oui, certains auteurs ont déjà gagné bien plus que cela sur Leanpub.)

En fait, les auteurs ont gagnéplus de 12 millions de dollars en écrivant, publiant et vendant sur Leanpub.

En savoir plus sur l'écriture sur Leanpub

Mises à jour gratuit. Sans DRM.

Si vous achetez un livre Leanpub, vous obtenez des mises à jour gratuit tant que l'auteur met à jour le livre ! De nombreux auteurs utilisent Leanpub pour publier leurs livres en cours, lorsqu'ils les écrivent. Tous les lecteurs obtiennent les mises à jour gratuites, quel que soit le moment où ils ont acheté le livre ou combien ils ont payé (même s'ils étaient gratuits).

La plupart des livres Leanpub sont disponibles en format PDF (pour les ordinateurs) et EPUB (pour les téléphones, les tablettes, et les Kindles). Les formats inclus sont affichés dans le coin droit supérieur de cette page.

Finalement, les livres Leanpub n'ont pas de DRM, d'abord vous pouvez toujour les lire facilement sur n'importe quel appareil pris en charge.

En savoir plus sur les formats des livres ebook de Leanpub et où les lire

Écrire et publier avec Leanpub

Les auteurs, les entreprises et les universités utilisent Leanpub pour publier des livres incroyables en cours et compléter comme celui-ci. Vous aussi pouvez utiliser Leanpub pour écrire, publier et vendre votre livre ! Leanpub est une plate-forme puissante pour les auteurs sérieux, combinant un flux d'écriture simple et élégante avec un magasin axé sur la vente de livres ebooks en cours d'exécution. Leanpub est une machine à écriture magique pour les auteurs : il suffit d'écrire en texte clair et pour publier votre ebook, il suffit de cliquer sur un bouton. C'est vraiment facile.

En savoir plus sur l'écriture avec Leanpub