Le Plan Copenhague
Gratuit !
Avec l'adhésion
$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.

Traductions

À 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

La garantie satisfaction de 60 jours à 100% de Leanpub

Dans les 60 jours suivant l'achat, vous pouvez obtenir un remboursement à 100% sur tout achat Leanpub, en deux clics.

Techniquement, c'est risqué pour nous, puisque vous aurez les fichiers du livre ou du cours dans tous les cas. Mais nous avons tellement confiance en nos produits et services, ainsi qu'en nos auteurs et lecteurs, que nous sommes heureux d'offrir une garantie de remboursement intégral pour tout ce que nous vendons.

Vous ne pouvez découvrir la qualité de quelque chose qu'en l'essayant, et grâce à notre garantie de remboursement à 100%, il n'y a littéralement aucun risque à le faire !

Alors, il n'y a aucune raison de ne pas cliquer sur le bouton Ajouter au panier, n'est-ce pas ?

Voir les conditions complètes...

Gagnez 8 $ sur un achat de 10 $, et 16 $ sur un achat de 20 $

Nous versons des redevances de 80 % sur les achats de 7,99 $ ou plus, et 80 % de redevances moins des frais fixes de 50 cents sur les achats entre 0,99 $ et 7,98 $. Vous gagnez 8 $ sur une vente de 10 $, et 16 $ sur une vente de 20 $. Ainsi, si nous vendons 5000 exemplaires non remboursés de votre livre à 20 $, vous gagnerez 80 000 $.

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

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

En savoir plus sur l'écriture sur Leanpub

Mises à jour gratuites. Sans DRM.

Si vous achetez un livre Leanpub, vous bénéficiez de mises à jour gratuites tant que l'auteur met à jour le livre ! De nombreux auteurs utilisent Leanpub pour publier leurs livres en cours de rédaction. Tous les lecteurs reçoivent des mises à jour gratuites, peu importe quand ils ont acheté le livre ou combien ils ont payé (même si c'était gratuit).

La plupart des livres Leanpub sont disponibles en PDF (pour ordinateurs) et en EPUB (pour téléphones, tablettes et Kindle). Les formats disponibles pour un livre sont indiqués dans le coin supérieur droit de cette page.

Enfin, les livres Leanpub n'ont aucune protection DRM absurde, vous pouvez donc les lire facilement sur n'importe quel appareil compatible.

En savoir plus sur les formats d'ebook Leanpub et où les lire

Écrire et publier sur Leanpub

Vous pouvez utiliser Leanpub pour écrire, publier et vendre facilement des livres numériques et des cours en ligne, qu'ils soient en cours ou terminés !

Leanpub est une plateforme puissante pour les auteurs sérieux, combinant un processus d'écriture et de publication simple et élégant avec une boutique axée sur la vente de livres numériques en cours de développement.

Leanpub est une machine à écrire magique pour les auteurs : écrivez simplement en texte brut, et pour publier votre livre numérique, cliquez simplement sur un bouton. (Ou, si vous produisez votre livre numérique à votre façon, vous pouvez même télécharger vos propres fichiers PDF et/ou EPUB et publier en un seul clic !) C'est vraiment aussi simple que ça.

En savoir plus sur l'écriture sur Leanpub