Note de lecture : Effective Enterprise Java, par Ted Neward

Note : 9 ; Un pur régal ! Book of the year 2005 !

Ce livre mérite bien son titre, car il fait honneur à son grand frère (effective C++), à la fois sur la qualité, la pertinence et la technicité de son contenu, mais également sur le style agréable, vivant et parfois même humoristique (ce qui tire aussi parfois le niveau d’anglais un peu vers le haut). Je ne suis pas vraiment un expert J2EE, mais le livre m’a accroché, car sans être débilitant, il exprime clairement les concepts, mais surtout il s’appuie et développe les principes d’architectures sous-jacents. En fait, le livre aurait pu s’appeler: “effective enterprise applications with J2EE”. Loin d’être un reproche, cela confère de la solidité à l’ouvrage, et même de la pérennité par rapport aux futures évolutions des API. Dans la lignée de “l’effective series” le livre démythifie les API J2EE, et met en perspective la réalité des applications d’entreprise par rapport aux discours commerciaux des vendeurs des serveurs d’application, abordant clairement les aspects que l’architecte “ne peut ignorer” ! Les différentes facettes de l’architecture sont abordées, même celles souvent à peine ou mal évoquées telles que les transactions et la sécurité. Les 75 items du livre sont découpés en 7 volets :

  • Architecture : Traite les sujets tels que répartition données / traitements, gestion des crashs, de la scalabilité et des aspects annexes tels que déploiement, administration et monitoring.
  • Communication : Ce chapitre traite des contextes de communications, allers-retours entre tiers et autres choix de styles de communication
  • Processing : Le traitement de ce chapitre est essentiellement focalisé sur les transactions (techniques et utilisateurs), ce qui comprends les différents types de transaction, d’isolation, ainsi que les points de reprise et es rollbacks
  • State management : Ce sujet englobe les contextes de transaction, mais surtout les sujets afférents à la persistance.
  • Présentation : ce court chapitre traite des clients riches et de la séparation traitement / présentation.
  • Sécurité : Peut-être un des chapitres les plus étonnants, car outre que j’y ai appris pas mal de choses (connaissez-vous le « SQL injection », l’attaque la plus simple et la plus courante qu’un site puisse subir ?), l’auteur met l’emphase d’avantage sur le processus que sur la technique !
  • System : On retrouve ici toute la plomberie bas niveau : garbage collecting, sérialisation, etc…

Au premier abord, le livre est déconcertant, car épais de 450 pages, il ne présente quasiment aucun diagrammes (en présenter quelques uns aurait pu aider), un peu de code (mais cela reste raisonnable et ciblé), mais les craintes s’envolent une fois la lecture commencée. Le style rédactionnel, s’appuyant sur des exemples ne permet pas seulement d’apprendre, mais également de réfléchir et parfois d’anticiper sur la compréhension de la solution. Le livre sert également remarquablement bien de points d’entrée vers d’autres lectures, on peut faire bon usage de la bibliographie commentée.

Voilà un texte qui mériterait sans aucun doute une seconde édition. Car si la substance est bien construite pour résister au temps, celui-ci fait quand même son  œuvre : le livre date de 2005 et beaucoup de choses ont quand même changé depuis. Je prends quand même le risque de vous le conseiller malgré son âge honorable.

effective-enterprise-java

Référence complète : Effective Enterprise Java – Ted Neward – Addison Wesley / Effective software development series 2004- ISBN: 0-321-13000-6

Effective Enterprise Java


http://www.goodreads.com/book/add_to_books_widget_frame/0321130006?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Business Craftsmanship: Meta-practices for Agility

businesscraftsmanship:

In previous posts I talked about values and principles for fostering a healthy learning organization. In this post I’ll offer some practices. The balance between values, principles and practices is essential for any kind of knowledge work. Values inspire us, principles guide us, and…

Business Craftsmanship: Meta-practices for Agility

Note de lecture : Logiciels de stockage de données, par Guy Chesnot

Note : 3 ; Quelques informations intéressantes dans un ouvrage déjà très vieillissant, affublé de plus d’une approche trop académique.

Ce livre s’intéresse au stockage de données, d’un point de vue des logiciels d’exploitation de bas niveau. C’est certes un choix, mais je regrette personnellement qu’il fasse autant abstraction de l’architecture matérielle sous-jacente, car l’aspect intéressant réside dans le couplage des deux. Mon second grand regret vient de l’évident vieillissement du texte. Celui-ci ne traite absolument pas de la virtualisation du stockage qui est pourtant l’axe de développement le plus important aujourd’hui. L’ouvrage se découpe en 9 chapitres.

Le premier chapitre expose les principes généraux du stockage de données, les caractéristiques qui y sont attendues, etc… Bref, on campe le décors et l’on y apprend pas grand-chose.

Le second chapitre qui traite tout bonnement des systèmes de gestion de fichiers reprend réellement les choses à la base. Les principes d’adossement du système de fichier aux disques physiques y sont abordés. L’objectif n’est pas de traiter en profondeur les stratégies et algorithmes de mapping entre système de fichier et ressources physiques (un sujet qui exigerait au moins un livre à lui tout seul), mais le deal est incontestablement rempli. Aujourd’hui il faudrait aussi parler des SSD, mais nous sommes en 2007…

On passe à la vitesse supérieure avec le chapitre 3 qui aborde les systèmes de fichier répartis. Évidemment on y aborde NFS et ses dérivés. Le traitement du sujet est quelque peu frustrant, car limité aux principes et donc assez abstrait.

Le chapitre suivant (le 4) consacré à l’hétérogénéité aborde le cas des réseaux mixant des systèmes Windows et Unix, entre autres, et partageant leurs ressources de stockage. Un propos hélas destiné à l’obsolescence et justement devenu obsolète.

Dans le chapitre 5, ce sont les systèmes de fichiers partagés, donc les NAS et autres SANs qui y sont abordés. C’est mon sujet d’intérêt principal et il n’est pas abordé de façon assez concrète. On en ressort pas avec une bonne appréhension des architectures SAN, par exemple. Donc exit.

Sauvegarde et restauration sur bande sont traités au chapitre VI. Quand on méconnaît le sujet, comme moi, il s’agit là d’une bonne introduction, présentant fort judicieusement les différentes options et stratégies.

La gestion des hiérarchies de stockage (tels que les stockages secondaires) couverte au chapitre 7 est la continuité logique du chapitre 6. La encore, on apprend pas mal de choses, mais le refus de l’auteur d’aborder la question de l’architecture physique afférente rend hélas ce chapitre insoutenablement abstrait.

Toujours dans le même fil, le chapitre 8 est dédié à l’archivage. Je n’ai pas grand-chose à en dire.

On garde souvent le plus important pour la fin, c’est le cas ici. Le chapitre 9 traite de l’intégration : architecture, gestion des volumes, etc. sont traités ici. C’est seulement un peu court et un peu tard.

Il est dommage qu’un ouvrage ayant choisi un sujet de niche si pertinent soit si décevant. L’auteur n’est pas en mal de connaissance, mais le ciblage de son propos rend celui-ci peu pertinent. Ceci couplé avec un vieillissement prématuré (en 2007, imaginez aujourd’hui …) et un style rédactionnel fort peu sexy me conduit à déconseiller cette lecture.

logiciels-stockage-donnees

Référence complète : Logiciels de stockage de données – Guy Chesnot – Vuibert 2000 – ISBN : 2-7117-8667-6

Logiciels de stockage de données


http://www.goodreads.com/book/add_to_books_widget_frame/2711786676?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Kanban pour l’IT, par Laurent Morisseau

Note : 7 ; Pas là pour rigoler !

Le livre de Laurent Morisseau, référence en France sur Kanban était grandement attendu. Notre attente n’a pas été vaine, car nous avons hérité d’un ouvrage fort complet sur la question. Mais revenons d’abord au livre en lui-même.

Celui-ci est plus court que ce à quoi je m’étais attendu : 215 pages. Qui plus est, Laurent a fait le choix de le découper en de nombreux chapitres : pas moins de 20 ! Je ne peux qu’approuver cette approche, qui aide grandement à rythmer la lecture. Mais j’ai aussi eu la surprise de constater qu’il résiste bien plus à la lecture que ce à quoi je m’attendais. Je reviendrais sur ce point un peu plus tard.

La première partie du livre sert à camper le décor. Au début de chaque partie, Laurent fait un zoom sur la mind-map qui lui a servi à structurer ce livre. C’est original et intéressant, mais bien que pratiquant régulier de la chose je ne m’y attarde pas, préférant lire le texte linéairement et découvrir les choses au fur et à mesure.

Les 3 chapitres de cette première partie sont une introduction en douceur, ce que je considère toujours comme une bonne chose. On y définit les termes, les concepts, ainsi que la place de Kanban au sein des différentes méthodes (Kanban n’étant pas une méthode). Le 3ème chapitre est une introduction directe au reste de l’ouvrage car il introduit le cycle « PDSA », les 5 pratiques et les 3 piliers fondamentaux qui forment la charpente de la présentation de Kanban par l’auteur.

La seconde partie débute par une présentation générale de Kanban, qui est un peu à cheval avec l’objectif de la première partie et une présentation de l’étude de cas qui servira de fil rouge à l’étude de Kanban tout au long du livre. Le principe de l’étude de cas est généralement excellent, et c’est le cas ici : il donne un aspect concret au descriptif et sert de liant entre les chapitres. Pour une raison que j’ai du mal à expliquer, j’ai eu du mal à rentrer dans cette étude de cas et j’ai dû faire pas mal d’effort pour me rappeler du point où l’on s’était arrêté précédemment. Il est temps d’aborder le cycle PDSA qui couvre les chapitres 5 à 19, donc la quasi-totalité du texte !

Concevoir. A elle seule, cette partie courre du chapitre 5 au chapitre 9 ! Cela débute par la découverte de l’élément de travail qui figurera dans le Kanban, quelles sont sa nature et sa granularité. Cela nous guidera vers la découverte du flux de travail. Cela fait, il faut établir les règles du système, celles s’appliquant aux interfaces d’entrée/sortie (sous quelles condition un élément peut-il transiter) et celles inhérentes au système (changement de priorité, escalade, purge, etc…). On souffle un peu au chapitre 7 (tout en apprenant des choses) en nous intéressant à l’aspect visualisation, au niveau du tableau et des cartes Kanban.

L’une des choses qui différencie un Kanban et un simple tableau de tâches est la fameuse limite de travail en cours ou limite de « WIP ». C’est l’objectif du chapitre 8. Il se poursuit au chapitre suivant par son complément naturel, la gestion des cadences et de capacité du système.

Mettre en œuvre. Deux chapitres sont consacrés à cette étape. On s’intéresse d’abord au travail au quotidien : qu’est-ce qui guide la prise en charge des tâches, l’affectation. Comment traite-t-on les cas de blocage. Le suivi de la vie du Kanban est le second volet, on y parle débit et temps de cycle.

Etudier. C’est une partie très lourde, aussi bien sur la couverture du livre, car elle s’étend du chapitre au chapitre 16, que sur la teneur très technique et même mathématique du contenu !

Les chapitres 12 à 14 traitent des différentes typologies de système : on commence par les systèmes globalement saturés, ce qui nous amène sur la théorie des files d’attentes, puis sur la loi de Little. Sachez-le par avance : vous n’allez pas vous marrer ! Les systèmes localement saturés nous font aborder la théorie des contraintes et Laurent Morisseau fait très justement un parallèle avec le problème des bouchons de circulation. Le système Kanban variable nous fait aborder une approche statistique du système concernant les temps de cycle des éléments qui y circulent (motivation du lecteur nécessaire).

Kanban n’est jamais très loin du Lean, le chapitre 15 dédié au problème des limites top hautes nous permet d’aborder la notion de Muda. Enfin le chapitre 16 nous guide vers l’étude de l’impact des changements des limites sur le comportement du système ; capacité et temps de cycle. Beaucoup de diagrammes émaillent ce chapitre qui est toutefois ardu.

Améliorer. Cette phase est couverte par les chapitres 17 à 19. Tout d’abord la découverte des comportements émergents nous permet d’aborder deux notions importantes : les classes de services et les différents modèles de collaboration de l’équipe.

Est-il possible d’arriver à un contrat de service avec Kanban ? L’auteur réponds oui, mais cela repose sur certains préalables de référence, de contrat de service et de standardisation. Ce qui requiert un niveau de maturité élevé.

L’auteur conclut l’ouvrage d’abord par un bilan de l’approche Kanban en le positionnant dans le modèle Cynefin, puis en abordant l’extension du modèle Kanban en abordant l’Obeya Lean.

A titre de synthèse, il y a 3 aspects qui m’apparaissent proéminents dans ce livre :

  • Le contenu est très riche. C’est une surprise, une excellente surprise. Le livre en main pour la première fois, on ne s’attend certainement pas à un tel contenu, eut égard à sa taille réduite et à son contenu apparemment aéré.
  • Il est très abondamment et bien illustré. L’auteur a de toute évidence fait de grands efforts en ce sens. Et si certains diagrammes sont complexes, cela aide beaucoup.
  • Le texte est difficile. L’auteur ne fait pas de concession à la fluidité de lecture. C’est en quelque sorte une lecture qui se mérite. Si cela est justifié en partie par la richesse du contenu, je pense néanmoins qu’il aurait été possible faire mieux de ce côté.

Je suis habitué aux livres en français qui sont, sinon des textes de seconde zone (mais il y en a), du moins des ouvrages qui sont les petits frères des titres de référence de la littérature anglo-saxonne. Il n’en est rien ici. Même si je ne suis pas le mieux placé pour l’affirmer, Laurent Morisseau hisse son livre au niveau des textes de référence du domaine ! C’est inattendu et cela seul devrait vous convaincre de vous y attaquer.

En parlant d’attaquer, l’expression me paraît adaptée à cette lecture. Je l’ai déjà dit, elle est difficile. Une des raisons, je pense, est que Laurent a dû beaucoup s’appuyer sur son mind-map lors de l’écriture et cela transparait par un style très « structuré » qui nuit à la linéarité de la lecture. En lissant un peu plus son texte, Laurent aurait gagné un point supplémentaire à la note que j’ai donnée.

Je ne voudrais pas terminée cette note de lecture par une impression mitigée. Il est temps d’aller supplier votre libraire de vous céder une copie de livre à prix d’or !

kanban-it

Référence complète : Kanban pour l’IT, une nouvelle méthode pour améliorer les processus de développement – Laurent Morisseau – Dunod 2012 – ISBN : 9782100578672

Kanban pour l'IT


http://www.goodreads.com/book/add_to_books_widget_frame/2100578677?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

1ère conférence Lean Kanban France

Cette première édition se déroulera les 18 et 19 Octobres dans les locaux de Valtech au 103 rue de Grenelle.

Cette conférence associera des sessions en Anglais proposées par des grands noms du domaine, à côté de sessions en Français proposant cas d’utilisation et retours d’expérience. Le positionnement de cette conférence, ainsi probablement que la capacité d’accueil limitée des locaux met le ticket d’entrée à un tarif assez élevé : de 450 € (early bird) à 800 € (last minute).

Je n’y serais pas, ayant déjà un agenda chargé et aussi, je dois l’avouer, du fait du tarif du ticket d’entrée. Mais une personne de mon équipe y sera. J’espère luis soutirer quelques informations.

1ère conférence Lean Kanban France

Note de lecture : SAN et NAS, Solutions de stockage par Xavier Bouchet & Henri Gillarès-Calliat

Note : 6 ; Un tour d’horizon clair et agréable à lire, mais attention à l’obsolescence !

Clairement, ce livre remplis bien son office, c’est-à-dire poser les fondations de ce que sont les SAN et le NAS, ce qui n’est pas si évident. Si le premier chapitre est un peu « bateau », il présente quand même l’intérêt de bien faire comprendre l’objectif poursuivit par le SAN, à savoir un réseau dédié au stockage et même la virtualisation de ce stockage. Le reste du livre est découpé en 3 parties.

La première partie est directement consacrée au SAN et lui consacre 6 chapitres. Le chapitre 2, le premier de cette seconde partie est le plus riche d’enseignements car il décrit clairement les différentes typologies de réseaux SAN. A contrario, si dans l’absolu la norme SCSI n’est pas hors totalement hors sujet, le chapitre 3 qui lui est dédié est quand même très technique, et les auteurs auraient pu faire l’impasse dessus. Je soupçonne que c’est le niveau de technicité de l’un des auteurs en la matière qui a guidé ce choix. C’est aussi pour cela, je pense que le chapitre 4 consacré au fiber channel n’est pas moins technique. Mais  comment parler de SAN sans parler de fiber channel, n’est-ce pas ? Le chapitre 5 dédié aux différentes approches de la virtualisation est le second plus intéressant de cette partie. Le tableau dressé est bien plus limpide que celui réalisé dans le « storage virtualization » de Tom Clark. Les deux derniers chapitres sont consacrés aux protocoles montés au-dessus d’IP : iFCP et iSCSI. Malgré le penchant très technique déjà évoqué, ces chapitres sont clairs, mais ils n’évoquent pas la place de ces solutions dans un SAN : liaisons grandes distances, topologies avec gateways, considérations de sécurité…

La troisième partie est dédiée aux NAS et est complètement décorellée de la partie précédente. Il n’y a que deux chapitres dans cette partie, le premier d’entre eux, le chapitre 8 est dédié au SAN proprement dit. Si le sujet est correctement et encore une fois clairement traité, on regrettera que le sujet ne soit pas connecté au sujet précédent. J’ai du mal à croire que personne n’ait pensé à réaliser un NAS (ou un cluster de NASs) au-dessus d’un SAN… Le chapitre 9, consacré à NFS est pratiquement hors sujet. Mais comme on dit : ça ne gêne pas !

La dernière partie traite de sauvegarde, de médias de stockage et de plans de secours. Dans cet ordre. C’est un peu décousu, mais ça complète bien le sujet. J’ai particulièrement apprécié le chapitre consacré à l’archivage sur bande, malgré que l’auteur se réserve, avec un propos particulièrement partisan, aux technologies LTO et AIT. On regrettera aussi que ce chapitre 10 donne si peu d’indication sur la façon dont ces médias s’inscrivent dans un SAN ! Les chapitres 11, 12 et 13 sont consacrés respectivement aux disques durs, aux CD-ROM et aux DVD. Les chapitres 12 et 13 ont vieilli prématurément et apportent peu au sujet, tandis que le chapitre 11, si il n’est pas indispensable au sujet nous donne une vision claire et complète des technologies liées aux disques durs et de leurs implications. Le chapitre 14 consacré aux plans de secours se raccorde certes assez mal au reste du sujet, mais il est clair et bien écrit et donne assez de billes pour inciter à compléter nos connaissances sur le sujet. Je considère donc qu’il remplit son office.

Bref, je n’ai pas regretté ma lecture (lecture aisée, d’ailleurs, car j’ai achevé le texte en 2 jours sans forcer). Je le recommande, avec la réserve toutefois que le livre pourrait utilement être actualisé. Au contraire de l’ouvrage de Tom Clarke, les auteurs ont fait (à juste titre, je pense) le choix de faire référence aux technologies. Hélas, le texte vieillit d’autant plus vite. Il serait temps de sortir une seconde édition !

SAN-NAS-InfraStok

Référence complète : SAN et NAS, Solutions de stockage, sécurité, infrastructure – Xavier Bouchet & Henri Gillarès-Calliat – Dunod 2003 – ISBN : 2-10-005404-X

San Et Nas:  Les Infrastructures Des Réseaux De Stockage


http://www.goodreads.com/book/add_to_books_widget_frame/210005404X?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on