Leanpub Header

Skip to main content

Le Plan Copenhague

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

Nous avons migré notre plateforme 6play vers Le Cloud ! Nous exploitons désormais Kubernetes et les services managés d’AWS ! À travers ce retour d’expérience, découvrez les difficultés que nous avons rencontrées et les solutions que nous avons retenues.

Free With Membership

With Membership

Free!

$24.99

You pay

$24.99

Author earns

$19.99
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
1,011
Readers
330
Pages
About

About

About the Book

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.

Author

About the Author

Pascal MARTIN

DevOps, développeur Web et PHP et conférencier, je publie des articles en rapport avec le développement Web, et principalement PHP, sur mon blog.

Vous pouvez me suivre sur @pascal_martin.

Translations

Translations

Languages

Contents

Table of Contents

1.Introduction

  1. 1.1Contenu de ce livre
  2. 1.2Pourquoi ?
  3. 1.3Notre retour d’expérience
  4. 1.4Transparence et confidentialité
  5. 1.5Conventions d’écriture
  6. 1.6À propos de l’auteur

2.Notre plateforme, notre projet

  1. 2.1Nos applications
  2. 2.2Une infrastructure vieillissante
  3. 2.3Le futur en approche
  4. 2.4L’équipe DevOps
  5. 2.5Un cloud public, Kubernetes
  6. 2.6C’était un peu flou !
  7. 2.7En résumé

3.À la découverte du Cloud et de Kubernetes

  1. 3.1Pourquoi « Le Cloud » ?
  2. 3.2GCP, AWS, …
  3. 3.3Kubernetes
  4. 3.4À quel prix ?
  5. 3.5Premier plan de migration
  6. 3.6En résumé

4.Le Plan Copenhague

  1. 4.1Atteindre la perfection ?
  2. 4.2La KubeCon
  3. 4.3YOLO!
  4. 4.4Retour sur Terre

5.Notre setup AWS

  1. 5.1Introduction
  2. 5.2Régions, zones, HA
  3. 5.3Des comptes AWS distincts
  4. 5.4Identification et AssumeRole
  5. 5.5IaaS et IaC
  6. 5.6Le réseau
  7. 5.7En résumé

6.Notre setup Kubernetes

  1. 6.1Introduction
  2. 6.2EKS
  3. 6.3kops
  4. 6.4Composants additionnels
  5. 6.5En résumé

7.Une première migration

  1. 7.1Introduction
  2. 7.2Le plan
  3. 7.3Une application simple
  4. 7.4La CI/CD du pauvre
  5. 7.5Sécuriser la bascule avec haproxy
  6. 7.6Terminer la bascule ?
  7. 7.7En résumé

8.Le début des problèmes

  1. 8.1Introduction: en production, mais…
  2. 8.2Nos outils de départ
  3. 8.3Logging, monitoring et alerting
  4. 8.4Quelques problèmes : des cas réels !
  5. 8.5Quelques « préoccupations »
  6. 8.6En résumé

9.Une première phase de stabilisation

  1. 9.1Introduction
  2. 9.2Le setup AWS
  3. 9.3Cluster Kubernetes (kops)
  4. 9.4Applications et leur infrastructure
  5. 9.5Du monitoring, de l’alerting
  6. 9.6La documentation
  7. 9.7En résumé

10.Des projets Cloud Native

  1. 10.1Introduction
  2. 10.2Cloud Native ?
  3. 10.3Comment ça se passe, en vrai ?
  4. 10.4Le répertoire .cloud
  5. 10.5Quelques exemples
  6. 10.6Quels impacts ?
  7. 10.7En résumé

11.Migrons toutes nos applications !

  1. 11.1Introduction
  2. 11.2Migrer des applications ?
  3. 11.3Une API pour connaitre l’heure
  4. 11.4Stockage d’images et génération de miniatures
  5. 11.5Le collecteur d’événements
  6. 11.6Notre API de catalogue
  7. 11.7Les préférences utilisateurs
  8. 11.8Le Front Web
  9. 11.9Backoffices
  10. 11.10C’est du boulot !
  11. 11.11En résumé

12.TODO - Une seconde phase de stabilisation

13.TODO - CI, CD et recettes

14.Suivi consommation / couts

  1. 14.1Introduction
  2. 14.2Les couts, dans notre contexte
  3. 14.3Un peu de théorie et premiers pas
  4. 14.4Des améliorations que nous avons réalisées
  5. 14.5D’autres pistes pour l’avenir ?
  6. 14.6En résumé

15.L’environnement de développement

  1. 15.1Introduction
  2. 15.2De quoi partions-nous ?
  3. 15.3Pendant notre migration…
  4. 15.4Et après ?
  5. 15.5En résumé

16.TODO - Nous avons terminé notre migration !

Annexes

  1. Remerciements
  2. Aidez-moi !
  3. Timeline
  4. Quelques lectures intéressantes
  5. Changelog

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub