Note de lecture : Optimiser SQL Server, par Rudi Bruchez

Note: 7 ; Pratiquement une révélation !

Utiliser efficacement une base de données telle que SQL Server 2005 nécessite d’une par une compréhension fine de son mode de fonctionnement et de ses structures de données, mais également une connaissance des outils mis à disposition. Livrés en vrac, cet ensemble est presqu’inutile car il faut être guidé au sein de cette pléthore.

Le livre de Rudi Bruchez nous livre incontestablement les clés adéquates. L’auteur est clairement très qualifié pour aborder le sujet et il aborde à la fois la base de données et ses outils en nous gratifiant de liens vitaux pour explorer les sujets plus en profondeur. Je dois dire que nous devons nous estimer satisfaits qu’un ouvrage de bonne teneur soit écrit, en français, c’est rare ! Il ne faudra pas non plus s’attendre à une lecture captivante, le style reste technique, mais abordable la plupart du temps (j’ai toutefois décollé de temps à autre, je l’avoue…).

Le contenu du livre est découpé « à la française », c’est-à-dire avec des chapitres assez gros : les 312 pages de l’ouvrage sont découpés en 9 chapitres seulement. Mais on a vu pire.

Après un premier chapitre purement introductif, le chapitre 2 aborde l’architecture de SQL Server. Ce n’est pas une montée en puissance graduelle, car ce chapitre est le plus difficile de l’ouvrage !

Continuer à lire « Note de lecture : Optimiser SQL Server, par Rudi Bruchez »

OSMM, un modèle de maturité pour l’open-source

Je publie ici ce court papier que j’avais écrit en 2005. Les reflexions qu’il soulève restent pertinentes. Le mouvement ope-source ayant pris beaucoup plus d’ampleur depuis 7 ans, il y aurait certainement des choses à modifier ou à ajouter…

Voici également le lien vers ce papier dans Issuu

Note de lecture : Mastering the Requirements Process, 2nd edition par Suzanne & james Robertson

Note : 8 ; Toujours une référence incontournable sur la gestion des exigences.

Quel meilleur moment pour faire la note de lecture de la seconde édition d’un livre, que la parution de sa troisième édition ? Je connais la réponse : n’importe quel moment tant qu’il précède la sortie de ladite troisième édition ! Toutefois c’est bien maintenant que je la livre. J’avais fait de la première édition mon « book of the year » 1999, voyons ce qu’il en est de celle-ci (la note de lecture de la troisième édition viendra bien un jour, mais plus tard).

Par rapport à la première édition, il est passé de 400 pages à 550 ! C’est une inflation importante pour moi qui apprécie la brièveté du propos, même si il est de qualité. Le grammage supérieur du papier augmente même cette impression de volume supérieur. Sur ces 150 pages supplémentaires, 80 vont au texte principal, mais 70 viennent grossir encore plus les annexes. Je trouvais déjà les annexes de la première édition conséquentes, mais nous avons désormais deux parties dans ce livre : le texte principal long de 365 pages en 15 chapitres et les annexes  au nombre de 4 qui couvrent près de 200 pages. Idéalement il aurait fallu faire deux livres mais le second ne se serait probablement pas ou peu vendu. Quoi qu’il en soit je ne rentrerais pas dans le « manuel de référence Volere » dont j’avoue qu’il ne m’intéresse guère.

J’ai toujours trouvé qu’une manufacture de qualité associée à une mise en page soignée augmentait le plaisir de la lecture. Cela se démontre ici. Outre le texte de qualité, les auteurs utilisent intelligemment et sans excès les marges pour des citations, de l’iconographie ou des références bibliographiques.

Cette seconde édition se démarque de la première par la prise en compte de l’approche agile. Tout d’abord cela se traduit par des paragraphes dédiés à trois profils de projets en introduction de chaque chapitre :

  • Les projets « rabbit » : traduisez, les projets agiles.
  • Les projets « horse » : ce sont les projets standard de l’industrie, itératifs ou « en V », s’appuyant sur une certaine dose de documentation.
  • Les projets « éléphant » : ce sont les projets lourds, impliquant généralement de grosses équipes sur de longues durée de temps et s’appuyant sur une documentation lourde.

L’approche et le point de vue des auteurs par rapport à l’agilité est particulièrement pertinent. Ils se félicitent de l’arrivée d’une approche mettant l’emphase sur le produit plutôt que sur les artefacts, et apprécient l’idée d ‘éliminer une documentation quand elle n’est pas nécessaire. Toutefois cela ne doit pas exclure de procéder avec intelligence par rapport à la compréhension du besoin, ni de réfléchir avant d’implémenter ! Voici un ouvrage qui devrait prendre place sur l’étagère du product owner et même en fait du développeur agile ! Pourtant, si les auteurs considèrent que Volere ne dit pas être suivi comme un processus prescriptif, mais plutôt comme une « check list », lire le texte et l’appliquer avec ce point de vue en tête demande pas mal de maturité.

Venons-en à la matière première : le livre, constitué de 15 chapitres couvrant 360 pages (pour le partie principale). En moyenne, les chapitres sont un petit peu plus long que ce que j’apprécie généralement. Mais la prose est agréable, donc ça va.

Passons rapidement sur le premier chapitre introductif qui balaye rapidement la problématique de la capture des exigences et ce que sont les exigences fonctionnelles et non fonctionnelles. C’est une bonne mise en bouche et le sujet est bien traité. Le second chapitre est quand à lui une introduction à Volere, le processus imaginé par les auteurs. On balaye en diagonale la « big picture », c’est en quelque sorte la table des matières de ce qui suit.

Le « project blastoff » proposé par les auteurs n’est probablement pas l’approche de démarrage de projets que je préfère. Elle ne met pas tellement l’accent sur la vision et le positionnement markéting. Mais de nombreux démarrage de projets sont simplement bâclés. En suivant ce guide qui couvre honnêtement les différentes facettes de ce démarrage, vous avez toutes les chances de faire un travail tout à fait honorable, alors…

L’une des particularité de l’approche Volere est la façon dont elle articule la capture du besoin sur les cas d’utilisation métier et les évènements métier. Le chapitre 4 est consacré à ce sujet. J’aime bien la façon dont cela est abordé ici. Un chapitre à ne pas rater car il conditionne la compréhension de nombreux autres.

James et Suzanne Robertson ne parlent pas de capturer les exigences, mais d’aller à leur pêche. C’est l’objet du chapitre 5. Il y a des techniques pour cela, les auteurs n’en évoquent pas moins de 16 (certaines mieux détaillées plus tard). Autant pour ceux qui pensent qu’aller se promener avec son calepin sous le bras est tout ce qu’il est nécessaire de savoir. En fait les techniques évoquées, brièvement mais efficacement, sont des invitations à creuser ces sujets via les références proposées. Le chapitre le plus riche du livre, sinon le meilleurs.

Le chapitre 6 complète le précédent en évoquant les scénarios. Si cela vous semble rappeler les cas d’utilisation, c’est normal. Mais ce n’est pas un mal. Le chapitre 7 complète les deux précédents en clarifiant la notion d’exigence fonctionnelle et surtout en s’appliquant à différencier le besoin de la solution.

Les exigences non fonctionnelles sont abordées au chapitre 8. Les auteurs en proposent une taxonomie. Celle-ci en vaut bien une autre. Quoi qu’il en soit le sujet est bien couvert.

Avant même que TDD ne soit à la mode, Volere évoquait la notion de « Fit criterion » pour les exigences. Le chapitre 9 expose cet aspect et explique comment ces « fit criterion » aident à préciser et lever les ambigüités des spécifications.

Le chapitre 10 aborde la question de la chose écrite. Volere propose un Template de rédaction du besoin, ainsi que le « Shell » qui conviendra mieux aux agiliste. Pas le chapitre le plus passionnât du livre, à l’exception de la partie consacrée au « Shell ».

Ecrire les exigences ne suffit pas. Elles peuvent et doivent être revues (même si elles ne sont pas écrites). Le « quality Gateway » du chapitre 11 traite cet aspect. A ne pas rater.

Le prototypage des exigences abordé au chapitre 12 n’est probablement pas le texte de référence sur le sujet. Mais au moins est-il abordé. A contrario, le chapitre 13 sur la réutilisation des exigences est le moins convainquant du livre. Je ne l’étais déjà pas beaucoup en 1999. Je le suis moins encore maintenant. Mais peut-être que je manque encore de maturité…

Le chapitre sur la revue des exigences complète le « quality Gateway » du chapitre 11, il aurait dû le prolonger dans le plan du livre.

Le livre se conclut par un chapitre 15 qui fait une sorte de « wrap up » du livre, de manière un peu désordonnée je dois dire. J’ai cependant bien aimé la référence aux rétrospectives.

Même si la note du livre baisse un peu, celui-ci reste une de mes références principales sur le sujet. La qualité du contenu et de la rédaction, la richesse de la matière en font une référence que je recommande très fortement. La prose a été modernisée à plusieurs égard. Pour celui ou celle qui désire faire de l’analyse son métier, ce sont là d’excellentes fondations, d’autant que ce livre ouvre sur de nombreuses autres références.

mastering-reqt-proc-2edt

Référence complète: Mastering the Requirements Process, 2nd edition – Suzanne Robertson & James Robertson – Addison Wesley 2006 – ISBN : 0-321-41949-9

Mastering the Requirements Process


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

Note de lecture : Processus métiers et S.I., par Chantal Morley, Jean Hugues, Bernard Leblanc & Olivier Hugues

Note : 3 ; Une synthèse universitaire qui nous laisse face à nous-mêmes

Sur le papier, ce livre présente un incontestable intérêt : décrire les processus métier et faire le lien avec le système d’information, cela a de quoi éveiller l’attention ! De plus, la taille de l’ouvrage (inférieure à 200 pages) me laissait présager de bonnes choses. La réalité est hélas différente, et le texte me laisse largement sur ma faim. Mais revenons à son contenu, qui est divisé n 3 parties :

La première partie est dédiée aux processus dans les organisations. Cette partie développe les grands courants de processus, tel le « just in time », la qualité totale, etc… ainsi que les normes telles que l’ISO. La surprise, c’est de voir traité ici les processus de développement logiciel, ce qui est complètement incohérent, étant un sujet séparé. Hélas, cela continuera au long du livre, et on finit par avoir du mal à comprendre où les auteurs veulent en venir !

La seconde partie, consacrée à la modélisation des processus, constitue le sujet central du livre (au propre comme au figuré), en tout cas ce pour quoi j’ai acquis le livre. Malheureusement le sujet est fort mal traité. Bien que cela me fasse toujours plaisir de voir un métamodèle, la description de la modélisation est surtout statique et développe l’exposé de plusieurs approches, mais sans jamais prendre de position. Au final, on n’a pas d’idée claire du « comment » sur la façon d’appréhender concrètement la modélisation métier dans une entreprise. On n’a pas non plus d’indication sur les liens entre modélisation métier et SI. Bref, la cible est ratée.

La troisième partie est plutôt anecdotique, consacrée à la présentation de 3 outils. Dans le principe, on ne s’en plaindra pas, car cela permet d’avoir une illustration concrète des concepts. Le choix des 3 outils présenté est toutefois curieux, car il rassemble un véritable outil de modélisation (PowerAMC), un outil de CRM /  groupware (Clarify) et un outil de Workflow (Oracle Workflow). Donc, encore une fois, les auteurs n’ont pas d’idée claire du sujet qu’ils veulent couvrir ni de la direction qu’ils veulent montrer.

Pour ceux qui souhaiteraient s’engager sur le chemin de la modélisation métier, ce n’est tout simplement pas avec ce livre que vous quitterez la ligne de départ.

processus-metiers-SI

Référence complète : Processus métiers et S.I. : Evaluation, modélisation, mise en œuvre – Chantal Morley, Jean Hugues, Bernard Leblanc & Olivier Hugues – Dunod 2005 – ISBN : 2-10-0077099-1

Processus métiers et S.I.


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

XForms, séquence nostalgie

Bien sûr, avec l’avènement de HTML 5, cette norme a pas mal perdu de sa superbe. Pourtant aujourd’hui encore je trouve plutôt élégante la façon dont cette norme prend en charge les formulaires, y compris une partie non négligeable des comportements dynamique, réduisant le JavaScript à la portion congrue !

Rendez-vous dans cette présentation si vous voulez en savoir plus…

Note de lecture : NoSQL Distilled, par Pramod J. Sadalage & Martin Fowler

Note : 4 ; Plus qu’une distillation, une introduction légèrement frustrante.

Dans la même veine que le « UML distilled », Martin Fowler accompagné d’un de ses collègues de Thoughtwork nous produit un ouvrage très court (moins de 160 pages !) destiné à nous faire découvrir et à nous donner les clés du monde NoSQL ou plutôt de cet écosystème. Pour donner un bon rythme au texte, cet opuscule est découpé en 15 chapitres, ce qui fait une moyenne de 10 pages par chapitre.

On commence par un petit historique sur l’avènement du mouvement NoSQL. Pas indispensable, mais sympathique et bien écrit. Les chapitres 2 et 3 abordent la problématique du modèle de données, de l’intérêt de considérer des agrégats de données, mais aussi la souplesse qu’apporte des bases de données sans schéma … avec le corollaire d’avoir une base de données propriétaire de l’application sachant l’interpréter.

Trois chapitres sont consacrés aux principes sous-jacents de ces bases de données. Le chapitre 4 passe rapidement sur le modèle de distribution. Le chapitre 5 passe moins rapidement sur la gestion de la consistance (vous savez, le fameux « eventually consistent »). En fait, il est même passablement ennuyeux. Enfin le chapitre 6 évoque en quelques pages la question de l’estampillage des versions dans un environnement clusterisé actif / actif.

Difficile, impossible même, d’évoquer les bases NoSQL sans parler du « map reduce ». C’est ce que fait le chapitre 7, bien mais pas aussi brillamment que je me serais attendu de la part de Martin Fowler.

Le cœur du livre est sans contestations possible occupé par les quatre chapitres suivants qui forment le début de la troisième partie. Chacun d’entre eux traite d’un type de base NoSQL.

Le chapitre 8 aborde les bases de données clé-valeur, en prenant comme exemple Riak. Les auteurs ont pensé que 6 pages suffisaient pour s’occuper de cela. Moi j’ai trouvé cela franchement léger.

Les bases de données « orienté document » ont à peine droit à un meilleur traitement au chapitre 9. C’est MongoDB qui fort logiquement a été choisi, le sujet étant traité en 9 pages. Malgré tout, cela me laisse un meilleur goût tout en étant un poil superficiel.

10 pages à peine pour évoquer les bases de données orientées colonnes, c’est un peu un challenge car le sujet n’est pas simple, ou plutôt le paradigme est tellement différent de ce que nous connaissons qu’il aurait mérité plus d’attention que ce que lui accorde ce chapitre 10. J’en sors un peu confus et convaincu que j’ai besoin d’un complément d’information sur la question.

Si différentes des autres types, les bases de données orientées graphe telles que Neo4J qui sert ici d’exemple m’apparaissent clairement abordées dans ce chapitre 11, même si c’est seulement sur 10 pages. En fait ce livre m’incite à me pencher plus avant sur cette base de données et ce que je fais en ce moment ! Ne serait-ce que pour cela : merci !

Le chapitre 12 sur la migration de schéma de données est une blague. Il n’était pas franchement utile, loin de là. On reconnaît l’insertion au chausse-pied du sujet favori de Pramod Sadalage. De ce sujet et de quelques autres, je me serais bien passé au profit d’un développement plus conséquent des 4 chapitres les plus importants du livre !

La persistance polyglotte est un sujet déjà abordé en début de livre. Sans être ennuyeux, les 7 pages de ce chapitre 13 semblent passer une seconde couche.

J’aime bien l’idée d’un chapitre « beyond NoSQL » mais les auteurs n’ont pas tant à dire dans ce chapitre 14. Dommage. Finir par un chapitre sur le choix du type de base NoSQL est une bonne idée. Mai ce n’est visiblement pas si facile à faire, car cela sonne un peu creux.

Qui aime bien châtie bien. Et Martin Fowler d’habitude très brillant dans l’exercice ne convainc pas dans celui-ci. Il prends un « 4 » là où j’aurais certainement noté 5 pour quelqu’un d’autre. Le livre reste fidèle à l’idée de brièveté, mais le contenu est fort mal réparti : trop de place est accordée à des sujets peu importants ou qui pourraient être mieux synthétisés, alors que la partie importante de l’ouvrage aurait dû bénéficier d’un meilleur traitement sur deux ou trois fois plus d’espace !

C’est un livre qui pourra être utile au manager, car il traite, ou plutôt balaye le sujet dans un volume qui peut être absorbé en un week-end et permet de savoir de quoi on parle. Pour ma part, je me sens quelque peu frustré, et je pense que je vais me tourner vers le « seven databases in seven weeks » paru chez Pargamatic Bookshelf !

nosql-distilled

Référence complète : NoSQL Distilled, a brief guide to the emerging world of polyglot persistence – Pramod J. Sadalage & Martin Fowler – Addison Wesley 2012 – ISBN : 978 0 321 82662 6

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

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

Note de lecture : Using SANs and NAS, par W. Curtis Preston

Note : 7 ; Le stockage réseau vu par Mr backup !

Comme je viens de le dire plus haut, Curtis Preston est surtout connu en tant qu’expert du backup. Il nous livre ici un ouvrage pour démystifier les SANs et NAS. Et franchement, il fait bien son travail. Tout d’abord la taille du livre limitée à 190 pages (hors annexes), elles-mêmes largement émaillées d’illustrations permettent de ne pas êtres noyés dans la complexité du sujet et de rester clair. Pour rester dans les traits généraux de l’ouvrage, je dois dire que j’ai particulièrement apprécié le style très conversationnel de l’auteur, sa façon très directe et concise d’aborder problèmes et définitions et aussi, chose trop rare, ses prises de positions sur l’ensemble des sujets abordés. Curtis Preston n’hésite pas non plus à nous faire part de son expérience, mais celle-ci doit hélas être appréhendée avec un certain recul car le texte date hélas de 5 ans ! Il serait temps de publier une seconde édition… Parlons maintenant du contenu.

A une exception près (dont je reparlerais plus loin), les chapitres sont assez courts, de 15 à 25 pages : 3 sont consacrés au SAN et 3 sont dédiés au NAS, le premier chapitre est introductif, il met les deux technologies en perspectives et fait état de leurs mérites comparés. Croyez-moi, il permet à lui seul d’y voir plus clair.

Les chapitres 2 et 3, consacrés au SAN, sont respectivement consacrés à l’architecture fibre channel et à la gestion du SAN. Là encore le propos est un modèle de clarté. La pile protocolaire FC et les différents éléments matériels sont expliqués simplement mais précisément. De même toutes les fonctions de gestion (slicing, zoning, multi-pathing et load-balancing, etc…) sont passés en revue avec une remarquable efficacité.

J’en viens au chapitre 4, qui développe le backup au sein d’un SAN. C’est évident, c’est le sujet préféré de l’auteur. Le chapitre approche les 50 pages et contrairement au reste du livre, on s’enlise dans un niveau de détail rébarbatif, même si ils s’avèreront indispensables lors de la mise en œuvre. Bref ce chapitre dénote par rapport au reste du livre et coûte à l’auteur au moins un point de notation.

Les chapitres 5 à 7 traitent du NAS, dans le même ordre des sujets que pour le SAN : architecture, gestion et sauvegarde. On retrouve la qualité et la vigueur du propos, il n’y a rien à y redire. On a un peu plus de chance côté sauvegarde car le chapitre est plus concis.

En bref, voici un excellent livre sur le sujet, qui vous permettra d’aborder le sujet, avant de plonger plus en profondeur si vous en avez le besoin. Il faut prendre un peu de distance technologique car le livre est ancien. Aussi une seconde édition me paraît maintenant indispensable.

using-SAN-NAS

Référence complète : Using SANs and NAS – W. Curtis Preston – O’Reilly & associates 2002 – ISBN : 0-596-00153-3

Using Sans and NAS: Help for Storage Administrators


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