AFUP Forum PHP 2020 Baromètre Planète PHP

La parole est aux speakers : Pascal Martin

Jusqu’au Forum PHP 2019, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Une application résiliente, dans un monde partiellement dégradé

Dans un monde en perpétuelle évolution, pouvons-nous toujours atteindre « four-nines » de disponibilité ? Cloud et Kubernetes. APIs et Microservices… Nos architectures s’enrichissent et se complexifient. Au prix d’une certaine fragilité ?

Nous commencerons par définir SLA, SLO et SLI et rappeler la signification de ces X-nines. Nous montrerons ensuite comment, dans un contexte en permanence partiellement dégradé, nos assemblages de services distribués nuisent à la fiabilité de nos plateformes.

En profitant de l’expérience acquise sur 6play, nous verrons quelques pistes pour améliorer la résilience de nos applications, pour qu’elles répondent à nouveau aux besoins de notre public. Nous prononcerons peut-être même le terme de « Chaos Engineering » 😉

Katherine Johnson
24/10/2019
11:25-12:05

On entend souvent qu’il faut avoir 99,99% de taux de disponibilité. Selon toi existe-t-il un chiffre universel de taux de disponibilité minimum à avoir pour toutes les applications / services existants ? Pourquoi ?

Si je perds accès au code source de mes projets professionnels entre 19 h et 8 h, je ne m’en rendrai pas compte. Si je ne peux pas consulter mes mails pendant dix minutes, ça ne m’empêchera pas de travailler. Si ma banque est hors-ligne au mauvais instant pendant la pause de midi et que je ne peux pas payer mon repas, je serai fort embêté. Si le service de déclaration d’impôts répond 99,99 % du temps, mais que ses 50 minutes d’indisponibilité annuelle tombent le dernier soir où les contribuables peuvent saisir leur déclaration, ça sera un scandale national.

La disponibilité requise pour un service dépend de sa criticité et des moyens que je peux mettre en place pour garantir un niveau de service. Il n’existe donc pas de taux de disponibilité minimum universel à avoir. Si une application est composée de microservices qui s’appellent les uns les autres, un ralentissement sur une API peut causer l’écroulement de la plateforme entière :-/. Vous avez peut-être oublié une des raisons d’être des microservices ! Même avec des pratiques de développement et de déploiement solides, sur des dizaines de microservices, des incidents arrivent. C’est la vie…

Heureusement, comme vous le verrez pendant ma conférence au Forum PHP, des solutions, plus ou moins simples à mettre en place, existent.

Tu publies régulièrement de nouveaux chapitres de ton livre Le Plan Copenhague, qui parle de la migration de 6play vers le Cloud. Ce n’est pas ton premier ouvrage, comment arrives-tu à conserver une telle rigueur d’édition ?

J’écris sur un sujet passionnant, sur lequel je travaille au quotidien. Partager ce type d’expérience est toujours enrichissant !

Mes lecteurs m’aident également beaucoup : ils attendent les prochains chapitres avec impatience. Leurs retours, souvent très positifs, sont une excellente source de motivation. Et mes collègues, qui vivent cette migration au quotidien et relisent au fur et à mesure que j’écris, savent me faire signe lorsque les prochains chapitres prennent du retard 😉 Malgré tout, je n’avance pas toujours aussi vite que je voudrais et d’autres occupations prennent parfois le dessus… Je m’impose donc des échéances : je sais que cela me pousse à investir plus de temps sur un projet.

Enfin, je pense aux autres livres que j’ai envie d’écrire… Cela m’aide aussi à avancer sur celui-ci : quand il sera terminé (ou presque), je pourrai attaquer le suivant !

Comment a été défini l’ordre de migration dans le cloud des services de 6Play ? Leur nécessité de résilience a-t-elle été un critère ?

La résilience de notre plateforme a bien sûr joué sur une partie de nos choix. Mais, puisqu’elle marchait plutôt bien on-prem, cela n’a pas été notre critère principal. Nous avons migré dans Le Cloud pour répondre à des attentes business. Notre trafic suit une forte saisonnalité, complétée par des émissions à succès qui se traduisent par de jolis pics de charge. Notre hébergement on-prem atteignait ses limites et nous avions besoin de plus d’élasticité pour continuer à satisfaire nos clients. Notre objectif était de migrer rapidement nos grosses applications. Bien sûr, nous avons commencé par des projets plus petits pour acquérir de l’expérience et prendre nos nouveaux outils en main. Pour en savoir plus, lisez Le Plan Copenhague ;-).

Pour ce qui est de la résilience, nous profitons de notre migration vers Le Cloud pour répartir nos services sur trois datacentres et plus un seul. Cela aidera forcément. Mais c’est au niveau de nos habitudes de travail, de nos applications et de l’architecture de notre plateforme que porte le plus gros de notre effort !

Le speaker

Pascal MARTIN
Pascal MARTIN
Passionné de développement en général ainsi que de Web et de PHP en particulier, Pascal Martin est DevOps chez M6 à Lyon, sur la plateforme 6play. Ses expériences précédentes l’ont vu passer d’un poste d’expert technique en SSII à un rôle de Lead Dev chez un éditeur, puis à un poste de développeur dans une startup. Il est intervenu sur des projets Web de toutes tailles, sur des applications intranet d’analyse et de suivi, du e-commerce, ainsi que dans le monde de la culture ou des médias. Il publie régulièrement, notamment des articles techniques, sur son blog et il est auteur des livres « Développer une Extension PHP » et « Le Plan Copenhague » et coauteur de « PHP 7 avancé ».

Autres interviews

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :