25 novembre 2015

BIG DATA : Théorème de CAP

Ce billet compare l'approche décisionnelle classique (BI) à l'approche Big Data.
En premier lieu, il est important de comprendre que si les fins de chacune de ces approchent sont similaires (Prévision, optimisation, Risque,...), L'espace temps d'application n'a plus rien à voir. Un peu comme si l'on comparait l'équation d'attraction universelle de Newton et l'approche relativiste d'Einstein. Cette dernière tend vers la première pour des vitesses négligeables par rapport à la célérité de la lumière.
Ainsi ceux qui prédisent la mort de la BI traditionnelle au profit de BigData s'enflamment un peu vite où se trompent partiellement. Des systèmes comme par exemple le SI Comptable, impose une consistance absolue qu'il n'est pas envisageable de traiter avec du Big Data.

NOSQL vs SGBDR
Avec des base de données NOSQL, comme MongoDB, Cassandra, HBASE, BigTable, Dynamo, un langage universel de requête comme SQL n'existe pas (Hive est un outil de requête avec une interface SQL adaptée). Cette fonctionnalité est obtenu ad'hoc par programmation en Java ou en Pithon, en utilisant les API. L'importance du schéma des données, formalisé en Data Définition Language (DDL), n'est plus le sujet côté NOSQL, et les forte contraintes relationnelles (index, clés primaire, jointures,...) sont justement volontairement bannies pour traiter massivement les données. On raisonne plutôt par liste par composition de colonnes ou documents, bannissant ainsi la nécessaire intégrité référentielle en 3eme forme normale et plus.

Mais alors, que faire avec des données suspectées par construction d'être "éventuellement intègres" ?
Ci-dessous, différents éléments de réponses théoriques.

ACID
Atomicité
Une transaction s'exécute complètement ou pas du tout. Si une partie de l'opération échoue, la totalité de la transaction échoue.
Consistance
Le système est dans un état cohérent à chaque instant, avant et après une transaction.
Isolation
2 transactions "simultanées" sont indépendantes. Elles n'interfèrent pas l'une sur l'autre.
Durabilité
Le système est capable de se remettre dans un état cohérent après une perte ou une panne.

BASE
 - Basically Available
 - Soft - state
 - Eventual consistency

 BA : se réfère à la disponibilité perçue des données distribués. Si un nœud échoue, une partie des données ne sera pas disponible, mais la couche de données entière reste opérationnel.
 
S : État mou: Les données ont besoin d'une période de rafraîchissement (asynchronisme). Sans un rafraîchissement, les données seront expirer ou être supprimé.

E : La cohérence éventuelle signifie que les mises à jour finiront par se répercuter sur tous les serveurs, étant donné le temps de rafraîchissement .

Basically Available
Consistency
Cohérence : Tous les nœuds du système voient exactement les mêmes données au même moment.
Available
Disponibilité : garantie que toutes les requêtes reçoivent une réponse.
Partition-Tolerance
Tolérance au partitionnement : aucune panne moins importante qu'une coupure totale du réseau ne doit empêcher le système de répondre correctement (ou encore : en cas de morcellement en sous-réseaux, chacun doit pouvoir fonctionner de manière autonome).

Le Théorème de CAP nous dit qu'il est impossible pour un système informatique de calcul distribué de garantir en même temps ces 3 contraintes. On ne peut en garantir que 2 à la fois, selon 3 combinaisons distinctes à un instant t : {CA ; CP ; AP}.

CALM :  - Consistency As Logical Monotonicity
 Une application cliente doit elle même compenser l'éventuelle inconsistance de la base NOSQL qu'elle requête, ce qui peut s'avérer complexe et sources d'erreurs. Une solution de contournement est de considérer une base de données CALM, C'est à dire une base ou les faits massivement volumineux jouissent d'une totale invariance, c'est-à-dire, pas d'opération UPDATE et DELETE atomique. C'est le cas par exemple  des logs que produisent les systèmes de surveillance et d'alertes, et plus généralement toute information produite par une machine, un robot ou un objet connecté.


FLUCTUAT NEC MERGITUR

24 novembre 2015

Pourquoi Le BigData fascine-t-il autant ?

Quand on parle de BIG DATA, incontestablement, nos yeux brillent, nos neurones se donnent la main, et se connectent, pour entrer dans la danse de cette nouvelle technologie si prometteuse.

Bien que cette technologie existe depuis maintenant 10 ans pour répondre aux problèmes de valorisation de l’information massive, nous n'avons aujourd'hui en Nov. 2015 en France, qu'un spectre relatif d'usage concret.

En janvier 2013, Dan Ariely écrivait dans FB, "Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it..." Heureusement en France, nous sommes décidés et très motivé pour perdre notre pucelage. Nos amis américains, comme toujours sont les précurseurs, et fidèles à leur devise "Just do it", ils se lancent. Ce n'est pas parfait au premier coup, mais c'est pas grave, on sera meilleur la prochaine fois. A la différence, nous français, nous voulons que la nuit de noce soit parfaite, alors on prend le temps de la réflexion et de la préparation avant de se lancer, en lisant au passage les expériences plus ou moins réussites des autres. Cette différence fondamentale se vérifie dans la mise en œuvre de nos processus, et de notre gouvernance, etc.. Heureusement cette état d'esprit bien qu'ayant aussi des avantages, tend vers plus de flexibilité et d'agilité, afin de gouter plus rapidement au fruit convoité, et de profiter de ces retombées. La vie est trop courte...

Flexibilité, Agilité, hier, mais tout va très vite et aujourd'hui, c'est Volume, Variété, Vitesse. La belle n'attend plus, Elle a beaucoup à donner à ceux qui la mérite, et ces charmes sont innombrables et multi formes.

Plus sérieusement, La technologie Big Data fascine car elle est simple, basée sur le parallélisme de stockage (CAP) et d'exécution (Programmation distribuée), pas chère à mettre en œuvre, sur des serveur basics et pleine de promesse business. Elle est boostée par le pragmatisme des formats de données élémentaires (listes, documents, colonnes), quitte à opérer quelques entorses à la sacro-sainte ACIDité pour plus de disponibilité, pourvu qu'on assèche le lac de données en temps fini. Elle permet de transformer un temps d'analyse, exponentiel en un temps d'analyse linéaire. Ainsi, les phénomènes traditionnellement appréhendés par de l'échantillonnage statistique, trouvent maintenant un écho puissant et pas cher avec le Big Data, sur un spectre de donnée beaucoup plus grand, et dont la récolte promet des investigations futures encore inconnues. Notre médaille Field, Cédric Villani, nous rappelle aussi, que mathématicien est le meilleur métier du monde.

Le prédictif, comme dans une boule de Cristal ? Ça aussi ça passionne autant que ça effraie. Un des exemples les plus incroyables en terme de prévision et l'usage qu'en fait la police de Memphis, qui a fait baisser sa délinquance de 36%, et en réorganisant le planning des rondes et des interventions, par un ordinateur, selon les plus fortes probabilités de risque de crimes à un instant données. On est plus à l'échelle d'une gare qui étudie des flux de personnes ou d'un magasin qui analyse l'appétence de ses clients pour un paquet de lessive sur une campagne de 1 mois, mais à l'échelle d'une grande ville, où l'on croise simultanément, les historiques d'interpellation, la météo, les voitures volées, etc.., le tout en temps réel.   "That is Big Data"...


Résistance Paris Bataclan : FLUCTUAT NEC MERGITUR

18 février 2015

Stratégie du SI

INTRODUCTION

Je discutais la semaine dernière avec le DG d’un petit cabinet de Market digital sur Paris, sur le thème de La rationalisation des systèmes d’information. Il faut dire que le bonhomme a de l’expérience, en matière de développement d’entreprise, doublé d’une curiosité intellectuelle, et triplé d’une sympathie naturelle et communicante.

Il me dit :
« Emmanuel, ça fait 17 ans que je monte des entreprises, et comme bien d’autres j’ai perdu 4 fois et gagné 5 fois. Dans tous les cas, ce n’est jamais l’IT qui drive l’entreprise, mais le business. »

Mon sang ne fait qu’un tour, je me ravise, je souris gravement, non pas du manque de profondeur de ce que je viens d’entendre, mais plutôt de cette méconnaissance et cette acculturation qu'un homme de marketing peut avoir concernant deux notions très différentes qu'il semble mépriser à défaut de maitriser : Le système informatique (IT) et le système d’information (SI).

 Je laisse passer l’humeur avant de revenir à la charge le lundi matin. Mon Weekend a été consciencieux et laborieux et je remercie mon interlocuteur de m’avoir poussé dans mes retranchements pour finalement parfaire le message, et lui mettre le nez dans son vrai problème.

Je lui dis :
 « Le business est le seul driver de l’entreprise, tu as maintes fois raison. Le marché, les tendances, les opportunités, les ventes croisées, le carnet de commande, le réseau d’affaire, contribuent à développer le chiffre d’affaire de ton entreprise. Mais si le business et le driver, le SI (Système d’Information) en est le booster, son levier, pourvu qu’il soit rationalisé. Aïe Aïe Aïe, j’ai dit "rationalisé" ! Bon J’assume... Pourvu qu'il soit bien dimensionné, par rapport à tes objectifs et ta cible. . Aïe Aïe Aïe, j’ai dit "Cible"... »

Je lui dis encore :
« C’est un peu la même différence entre une vitesse et une accélération ». Une variation de la vitesse s'appelle une accélération, et elle booste ta vitesse à la hausse ou à la baisse. Confondre vitesse et précipitation n'aide pas à y voir plus clair. »

« Ta vitesse est imposée par le marché, la croissance (y en a plus), les besoins de consommation, tes alliances... Ton accélération est définie par la compétence des Hommes, l'innovation des technologies qui te fait cruellement défaut, et la maîtrise de ton SI. »

DÉFINIR IT ET SI

Pour parler du SI, encore faut-il le définir pour éviter les confusions, et le différencier de « IT » (Système informatique).



L’IT est l’ensemble des moyens techniques et technologique physique, concret, permettant de produire un service automatisé à partir d’informations. Il s’agit des serveurs, des disques des réseaux, de la connectique, des PC et autres smartphones connectés et intelligents. L’IT est palpable par le béotien qui y voit une collection de machines « esclaves » capables d’exécuter en masse un processus formel pour lui faire gagner du temps et de l’argent. 


Le SI est, quant à lui, une notion plus abstraite, qui laisse perplexe, le profane. Il retient malgré tout ce terme, très usité bon an mal an dans les médias.



Le SI est l’ensemble des actifs matériels (IT) et des actifs immatériels de l’entreprise, permettant de produire l’information métier, l’information de pilotage, l’information organisationnelle…. Bien souvent, nos amis américains (avec Togaf), réduisent le SI aux applications et aux données, ce qui pour nous français, de culture merisienne, praxemienne, est insuffisant. Aux données et aux applications qui s’en nourrissent, nous y rajoutons, les procédures, les processus métier et les procédés. C’est-à-dire le jus de cerveau pour faire travailler ensemble tout un village gaulois talentueux mais indiscipliné, qui toujours, d’abord, commence par dire : « - C’était mieux avant ». D’ailleurs dans la méthode UP (Unified Process) on retrouve ce terme de « Discipline » pour parler de compétences projet (voir matrice UP). 




 DIFFÉRENCES DES POSTURES ENTRE IT ET SI 

- On installe des logiciels sur un PC ou un serveur et on gère des licences (IT), 
- On fait coopérer, inter-opérer les applications entre elles avec des flux (SI

- On installe un logiciel de CRM, on le maintient et on assure sa disponibilité et son MCO (IT
- On capitalise les contacts clients et les besoins qu'on a pour en assurer une vue à 360 (SI). 

- On pirate une machine (IT), 
- Pour y dénicher une information secrète (SI). 

- L'IT est concret et physique, Il est la composante de production à un instant donné. 
- Le SI est abstrait et logique, Il est représenté par un existant, une cible, et une stratégie pour y aller. 

- Le DBA optimise une base de données pour diminuer les temps de réponse, assurer la sécurité, la disponibilité,… (IT
- La modélisation sémantique et logique des données, indépendante de tout SGBD, permet de s'abstraire des considérations tactiques, inutile pour causer périmètre Stratégique. (SI

- Le cloud computing (IAAS, PAAS, SAAS) concerne d'abord le monde de l’IT
- alors qu'un conseiller en stratégie permettant d’expliquer pourquoi il faut passer au SAAS, appartient au monde du SI.

- Les livrables informatiques résultants des projets (IT),
- Les compétences que l'on forme ou que l'on rémunère (SI),
- La capitalisation des livrables pour l'étude d'une amélioration future ou continue (SI)... 


Stratégie du SI - 2eme Partie (A suivre) 
La seconde partie traite de la mise en œuvre des stratégies économiques avec le SI.