Revue : I <3 Logs (I Heart Logs) par Jay Kreps

Dans mon chemin d’apprentissage vers les nouvelles architectures de données, j’ai croisé ce petit bouquin rapide de Jay Kreps, et je ne peux que le recommander.

Jay Kreps c’est l’un des inventeurs d’Apache Kafka, quand il était encore chez Linkedin, et depuis c’est le co-fondateur de Confluent, la société commerciale qui édite la plateforme open source. Alors oui, fatalement, il a un petit biais en faveur des plateformes d’intégration basées sur les logs, mais il a surtout une grosse expérience sur le sujet à partager.

Couverture : I heart Log

Evacuons tout de suite le reproche principal qui est fait à ce bouquin: il est court, très court. Vu son prix, il est vrai que ça le rend vraiment cher à la page. Mais pour moi c’est le condensé parfait des idées sous-jacentes au grand retour à venir du temps réel dans l’intégration de données (confère). Donc je lui pardonne son prix (et j’aime signaler au marché qu’il va dans la bonne direction grace à mes achats). Pas de problème si vous surveillez votre budget, direction le blog de Confluent qui dans ses articles reprend beaucoup du contenu du livre. C’est moins bien organisé, mais avec un peu de patience on remet tout dans l’ordre. Dans le cas contraire, je vous encourage vivement de casser la tirelire 😉

Morceaux choisis:

  • La différence entre « Physical Logging » (on log le résultat de l’opération, ex: le contenu de la ligne) et « Logical Logging » (on log l’opération, ex : la requête SQL)
  • Différence qui découle dans 2 architectures de centralisation des logs: le « Primary Backup Model » pour le « Physical Logging » (on écrit sur un master, on forward le résultat de l’écriture aux systèmes esclaves), versus le « State Machine Model » pour le « Logical Logging » (on log la transaction en amont, elle est dupliquée pour traitements sur tous les systèmes en aval). Chacun avec ses avantages et inconvénients
  • Tout ça découle de l’idée de dualité de l’information: tables vs événements, une notion qu’on retrouve en BI, lorsqu’on modélise un processus métier et qu’on peut choisir entre conserver le stock vs les transactions d’un processus métier
  • Cette idée va être structurante dans la construction d’un système de log centralisé, à savoir comment connecter chaque type de système source. Les logs issus des applications auront tendance à être logiques, ceux connectés directement sur les bases plutôt physiques
  • L’objectif de mettre en place un système de log centralisé étant bien sûr d’isoler chaque consommateur de chaque source, pour que chacun puisse vivre sa vie en bonne intelligence
  • Le fait de mettre en place un système centralisé de log implique le passage au temps réel: l’unité de traitement n’étant plus le batch (à savoir une fenêtre temporelle: 1h, 1 jour, 1 semaine) mais bien le log, manifestation d’une opération unitaire du processus
  • A ce titre, on peut alors s’interroger sur la possibilité de mettre en place du « Stream Analytics » (merci Microsoft de nommer les produits de manière aussi explicite ;)), c’est à dire le traitement des informations en continu, plutôt que via un ETL, pour les contextes décisionnels. Il est à noter qu’il a été prouvé mathématiquement qu’il est possible d’implémenter toutes les opérations considérées comme bloquantes (distinct, max, top…) en streaming via le windowing et le caching

Je recommande vivement!

I heart Logs, Jay Kreps (Amazon.fr)

Le printemps arrive, c’est le bon moment d’apprendre!

Des tas de d’événements à l’horizon, le beau temps revient, c’est le moment de sortir et déclencher les opportunités 🙂

C'est en forgeant qu'on prend des poissons dans les dents

De mon côté j’en fais moins sur le blog, mais je présente beaucoup plus:

  • Cette semaine : le SQLRally Nordic. Alors ok, c’est demain et après-demain, sur Copenhague, donc c’est vraiment ce qu’on appelle vous prévenir à la dernière minute… Mais s’il y a des aventuriers, vous êtes les bienvenus à la session que je présente : « Modern BI Platforms using Azure in PaaS ». Entre nous, j’ai un peu d’appréhension sur ce sujet. C’est la première fois que je présente dessus, c’est des technos nouvelles, des idées nouvelles (Lambda/Kappa architectures), qui remettent vraiment en cause le statu quo. En plus c’est en anglais, durant l’une des meilleures conférences payantes SQL Server en Europe: c’est un vrai challenge. Je vous en dirai plus à mon retour!
  • La semaine prochaine, le BizTalk Summit France à Paris chez MS. Au départ c’était pour rendre un coup de main à mon camarade Michel Hubert (Monsieur le Regional Director!), au final je me suis bien marré à préparer cette session sur l’Internet of Things (IoT) avec Azure. J’ai monté une chouette petite maquette avec un Arduino Yun, Azure Event Hub + Stream Analytics et Power BI. Alors n’ayez pas peur du nom de la conférence (oui BizTalk ça peut faire peur ;)), c’est une journée de sessions gratuites avec des sujets vraiment intéressants : DevOps, SaaS, Mobilité… Venez vous ouvrir l’esprit 😉
  • En mai, le SQLSaturday Lisbon 2015, évidemment au Portugal! Un retour sur la session que j’avais présentée aux JSS2014 (premiers pas sur Azure Machine Learning), mise à jour et en anglais. Il faut savoir que Lisbon c’est un gros SQLSat – il n’y a qu’à voir le line-up – et c’est pour moi une vraie fierté d’y avoir été invité.

J’ai aussi postulé aux SQLSaturdays Torino, Edinburgh et Paris, on verra si ça passe 😉

Et derrière moi :

  • Les Techdays 2015 : à mon sens une belle session avec David Joubert sur l’utilisation d’Azure Machine Learning pour la détection du SPAM. A noter notre approche que je trouve originale: on se met à la place de celui qui doit écrire un mail, et qui a peur de ne pas passer les anti-spam côté réception. Le système mis en place lui permet de directement tester ses textes dans Excel, avec un scoring en un clic effectué via Power Query et les API Azure Machine Learning. Les détails chez David!

Ça bouge beaucoup en ce moment, ne restez pas sur la touche 😉