Site Reliability Engineering

Il s’agit du livre de référence dans le domaine, celui qui a lancé et donné son nom – enfin je crois – à la discipline visant à mettre le software engineering au service de la production ou des opérations. Avant cela, il y avait les développeurs en charge de concevoir les applications et ceux que l’on appelait les administrateurs s’occupaient de les déployer et de les superviser en production. Le problème avec ce modèle est que les uns ne connaissent rien – ou presque – au travail des autres et le résultat était au mieux chaotique et au pire donnait lieu à des querelles assez animées qui se transformaient vite en guerre de tranchées. Ça semble aberrant, mais c’était le modèle et c’est cette fracture que la mouvance DevOps s’est efforcée de résorber. Difficile de différencier clairement les deux mouvances, mais je dirais – ce n’est que mon point de vue – que le DevOps peut être atteint en constituant des équipes mixtes (développeurs + administrateurs) alors que les SRE possèdent des compétences mixtes (développement et administration), et mettent l’une au service de l’autre, l’Infrastructure as Code en est le parfait exemple. ...

Think Stats

Ce livre offre un bon panorama de l’utilisation des statistiques dans un contexte data science, mais il est loin d’être réussi. Tout d’abord je n’ai pas adhéré au plan suivi par l’auteur. Il se prête peut-être à des cours – ce livre est issu des cours dispensés par l’auteur –, mais pas à la lecture. Ensuite il mixe mathématiques et programmation et c’est justement là qu’il pèche. Si les deux disciplines sont intimement liées, il est en effet impensable de faire des statistiques avec un papier et un crayon, mais de là à expliquer comment on a codé ses propres fonctions en Python alors qu’il existe des librairies comme pandas, statsmodel, scipy, seaborn, etc. je ne comprends pas mis à part, encore une fois, pour le côté didactique. Et puis à trop vouloir coder on oublie la méthode en route, le pourquoi. Qu’est-ce qu’il faut faire dans quel ordre, le comment étant quasiment accessoire avec ce qu’y existe aujourd’hui. A mon sens, un bon livre de statistiques moderne devrait se contenter d’expliquer la démarche, le pourquoi utiliser telle ou telle technique, telle ou telle mesure, mais pas comment les mettre en oeuvre. Ça me rappelle un peu les cours où l’on nous demandait de faire des calculs de matrice ou d’intégrale à la main c’est un peu la même démarche que je trouve toujours aussi inutile. ...

Effective Monitoring and Alerting

Juste une courte note à propos de ce livre que j’ai utilisé dans le cadre de mon travail. Tout d’abord deux points positifs. Le premier est qu’il traite des sujets monitoring, alerting et reporting en général, c’est-à-dire indépendamment de l’outillage utilisé. C’est à la fois un point fort et un point faible puisqu’il pourrait être utile d’identifier des familles d’outils adaptés à chaque usage. Cette volonté de s’écarter des outils est assez rare pour être soulignée. Cette prise de recul permet d’introduire de la structure – je pense par exemple à l’organisation du monitoring en stacks qui est absolument cruciale –, des notions et des définitions générales et applicables en toutes circonstances – ou presque. Et on en vient au deuxième point fort, les définitions donc. Il est essentiel dans le cadre professionnel de s’appuyer sur des définitions précises qui permettent d’encadrer des concepts que la plupart des gens ont une fâcheuse tendance à confondre comme monitoring et alerting par exemple. ...

Architecting for Scale

Ce livre est simple et bien conçu. Il aborde les thèmes essentiels auxquels il est nécessaire de s’intéresser si l’on veut construire, déployer et opérer des applications à grande échelle. Les voici, je n’invente rien, ce sont les cinq sections du livre: Disponibilité: Comment rendre les systèmes hautement disponibles et comment s’assurer qu’ils le sont via la mise en place de mesures. Gestion des risques: Comment construire une analyse de risques et mener des actions de remédiation. Services et microservices: Prendre conscience de l’intérêt (et des travers) de ce découpage, adapter son organisation en fonction. Scaling: Comment découper les services, leur dépendances et savoir comment s’organiser pour les opérer. Cloud: Quels sont les services offerts dans le cloud, comment sont-ils organisés et opérés quels sont les avantages et les inconvénients. Lee Atchinson parvient très bien a offrir un panorama de tous ces sujets. Sans rentrer dans les détails, il donne des points essentiels, des incontournables. Il constitue donc une très bonne entrée en matière pour les néophytes, mais il peut aussi être utilisé comme une référence car il fournit des définitions simples et assez bien faites appelant le consensus. Au delà des définitions je m’en suis servi plusieurs fois comme boîte à outil par exemple pour construire une analyse de risques ou pour établir une cartographie des services avec leurs dépendances et leur criticité (notion de Tiers). Dans le cadre de ces figures imposées, il donne toute l’ossature, il n’y a plus qu’à suivre le guide. ...

Data Analysis with Open Source Tools

Les reproches faits à ce livre sont de deux ordres. Le premier porte sur sa structure – voire son contenu – qui n’est pas conventionnelle pour un livre intitulé Data analysis. C’est vrai que l’on s’attend à suivre une méthodologie, à être guidé et il faut bien reconnaître que ce n’est pas le cas. Si vous cherchez ce type d’ouvrage, je vous conseille de vous plonger dans Practical Data Science with R qui est un excellent ouvrage tout à fait dans ce registre. Cette approche non conventionnelle n’est pas gênante et au contraire car elle aide à ouvrir la réflexion à voir autrement et surtout à réfléchir tout simplement. Il est aussi plus théorique et va au fond de choses – dit autrement il y a des maths, tout ce qui l’avance est démontré et l’auteur s’efforce de faire passer deux messages: ...

Real-World Hadoop

Comme l’on pourrait s’y attendre en découvrant son titre, ce livre a pour objectif de nous faire découvrir l’utilisation de la technologie Hadoop au travers de cas concrets mis en oeuvre par des applications qui sont en production. C’est une distinction importante car il ne faut pas oublier que ces technologies sont encore très récentes et du prototype à la production il n’y a en effet qu’un pas, mais qui peut parfois être très compliqué à franchir et ceux qui y sont parvenus étaient encore considérés en 2015 comme des pionniers. ...

Field Guide to Hadoop

Pour vous y retrouver dans la jungle du big data et être en mesure de passer avec succès le test Is it Pokemon or Big Data ?, vous aurez besoin d’un guide pratique, clair, concis – très important – et bien organisé. Ce Field Guide to Hadoop sera votre plus fidèle compagnon de voyage et je vous conseille de l’avoir toujours a porté de main – ou de click – pour pouvoir écouter une conversation ou lire un article sans vous dire que vous êtes sur une autre planète – vous allez quand même y être un peu. On va commencer par le commencement, que veut dire Hadoop ? ...

Python for data analysis

Si vous souhaitez faire de l’analyse de données en Python, l’utilisation de pandas est indispensable. D’ailleurs le sous-titre est clair Data Wrangling with Pandas, NumPy, and IPython. Si vous souhaitez utiliser pandas, la lecture de ce livre est indispensable – Stack Overflow aussi. D’ailleurs il aurait dû porter le titre pandas for data analysis. Ce livre a été écrit par le créateur de pandas, Wes McKinney, lorsqu’il travaillait pour une société effectuant des analyses financières. ...

Think Python

Ce livre s’adresse aux débutants, pas seulement en Python, mais aux débutants en programmation. La nuance est très importante car ses implications sont nombreuses. En fonction de la cible, le discours peut changer du tout au tout. Un concept aussi simple et aussi évident pour un développeur que l’itération au sein d’une liste, devra d’abord être appréhendé et compris par un novice avant de se focaliser sur la syntaxe et / ou les différentes façon de procéder et / ou les particularités du langage Python. Le problème du positionnement ou de l’audience est donc loin d’être anodin. ...