Note de lecture : Production-Ready Microservices, par Susan J. Fowler

Note : 4 ; Une vue bien trop généraliste des microservices depuis un point de vue « ops ».

J’étais impatient d’entamer la lecture de ce petit volume (il compte 130 pages pour sa partie principale). En effet bien qu’il s’agisse d’un texte de plus sur les microservices, il le fait avec une optique « ops » sous la plume de Susan Fowler, à l’époque SRE chez Uber. Dès l’avant-propos, l’auteur nous prévient : on ne rentrera pas dans les détails ici qui nous conduiraient trop loin. Il s’agit de poser les principes généraux et génériques qui permettent l’opérabilité d’une architecture microservices.

Pour mener à bien cette mission, le livre est découpé en 7 chapitres plus 2 annexes. L’entrée en matière s’intitule sobrement « microservices » et pèse 25 pages. Elle ne détaille pas les principes d’un microservice à la Sam Newman. Ici, il est plutôt question de scaling et surtout de présenter le modèle en 4 couches de l’écosystème microservices, qui servira de trame aux différents chapitres. Le chapitre 2 construit pour sa part la structure des chapitres restant, en évoquant la notion de « production ready ». Pour Susan Fowler, cela regroupe un ensemble de propriétés : stabilité, fiabilité, scalabilité, tolérance aux pannes, performance, monitoring et documentation. C’est déjà ici que l’on perçoit le regard du SRE : l’auteur prône la standardisation en toute chose ! Certes, elle évoque la promesse d’hétérogénéité prônée par l’approche microservices mais préfère refermer celle-ci au nom de l’opérabilité !

Le chapitre 3 s’attaque à la stabilité et à la fiabilité, les deux premières propriétés évoquées au chapitre précédent. La cible du propos est d’abord la standardisation des cycles de développements et du pipeline de déploiement. Bien que le terme « standardisation » me donne des frissons, j’appuie le propos développé ici. Un bon point pour le développement des environnements de stagging, partiel ou complet que je trouve pour la première fois bien évoquées ici. Scalabilité et performance sont au menu du chapitre 4. Le propos reste très général sur la notion de scaling, abordant les aspects qualitatifs et quantitatifs, ainsi que la gestion des ressources contraintes. Le capacity planning est brièvement abordé, j’attendais mieux d’un livre labellisé ops. L’efficience du modèle de tâches, du choix du langage ou des caractéristiques des bases de données sont tout autant mentionnées. Un chapitre décevant et frustrant.

Le chapitre 5 est consacré à la tolérance aux pannes et à la préparation aux catastrophes. L’entrée en matière s’attaque au « single point of failure » et ne mérite pas que l’on s’y arrête. Les scénarios d’échecs sont plus intéressants, car l’auteur nous présente les plus emblématiques pour chacune des 4 couches. J’ai aimé tout autant que j’ai été frustré par l’évocation des tests, parce que l’on y évoque les tests de charge et le chaos testing, mais la matière n’est pas là.
Le monitoring est le sujet du chapitre 6 et il nous évoque d’emblée les « key metrics » au niveau infrastructure. Pour le niveau applicatif, l’auteur nous assemble les différents composants : logging, dashboard, alerting. La vue d’ensemble est sympa même si comme d’habitude on aurait aimé mieux rentrer dans le fond du sujet. Le livre se referme sur un chapitre 7 consacré à la documentation. C’est un sujet cher à Susan Fowler, mais c’est de loin le chapitre le plus inintéressant.

130 pages, cela parait court, mais c’est finalement assez dense, si l’on considère que le volume est pratiquement dépourvu de visuels. J’attendais mieux de l’éclairage ops de ce sujet, hélas le propos reste trop stratosphérique. Il apporte quelques éclairages mais peu d’éléments sont actionnables à mon avis.

Production-Ready Microservices, par Susan J. Fowler

Référence complète : Production-Ready Microservices – Susan J. Fowler – O’Reilly 2017 – ISBN : 978 1 491 96597 9

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.