S’ouvrir l’esprit

C’est en lisant l’article tout récent de Troy Hunt que j’ai mis des mots sur une sensation ressentie dernièrement:

There’s this odd thing that tends to happen in many peoples’ careers and I suggest it’s particularly prevalent in technology: you get really, really good at something and then it hits you – you have to stop it. Well actually, you could continue doing it, but not if you want to “progress” against traditional measures such as seniority and income.

En français dans le texte:

Il y a cette chose étrange qui se produit dans la carrière de beaucoup, et qui je crois est prévalent dans la technologie: lorsqu’on devient vraiment, vraiment bon dans son domaine, l’évidence se fait: on doit arrêter. En fait rien n’empêche de continuer, mais cela va à l’encontre d’une progression sur des métriques comme la séniorité et le salaire.

C’est d’ailleurs une idée qui se marie très bien avec certaines théories dont on a déjà parlé ensemble, particulièrement le fait que les sur-performeurs ont tendance à rester coincés sur le poste qu’ils occupent (pourquoi les promouvoir, ils sont tellement bons là où ils sont!). Une autre problématique c’est que plus le gap est important entre son niveau d’expertise et repartir à 0 dans un nouveau domaine, plus le cerveau fuit la possibilité: ça fait trop mal à l’égo. Et tout un tas d’autres raisons.

Bien évidemment, rien de dramatique de mon côté: j’aime la BI sur SQL Server et cela reste mon gagne pain principal. Cependant je prends conscience de certains faits: le sujet n’est plus qu’une part minime de ma veille technologique, et au final, les projets excitants qui se dessinent à l’horizon concernent des technologies différentes.

Quels sont justement les sujets sur lesquels je creuse en ce moment? J’en ai déjà parlé:

  • Le Machine Learning, via le parcours Data Science de l’Université John Hopkins sur Coursera.
  • R, le langage de manipulation de données, via le même parcours
  • Python, un langage objet avec une syntaxe simple, pour me remettre gentiment dans le bain du « vrai » développement. L’excellent tutorial pour Python c’est Learn Python the Hard Way
  • L’intégration de données moderne, via des lectures et vidéos dont je vous reparlerai plus tard, à transposer sur Azure avec entre autres Event Hub et Stream Analytics

Evidemment ça fait beaucoup de front, alors j’alterne sur des cycles de 2/3 mois: Coursera, Intégration, Python… Et tant qu’à causer logistique, je me suis équipé de Coach.me, qui permet de rester motiver dans la durée grâce au principe des chaînes/streaks. L’autre nouvelle habitude c’est de pousser mes développements perso sur Github, comme ça je m’améliore aussi sur la partie ALM. L’avantage d’avoir commencé par Coursera c’est qu’une partie des premiers cours était dédiée à Github et au Markdown.

Franchement je m’éclate. L’ensemble débloque des scénarios d’usage vraiment sexy, genre « Internet of Things » (marketing power!), avec par exemple: la mise en place d’un dashboard web qui affiche en temps réel la température de la pièce. Rigolo non?

Pour ça on mélange un tas de technos et c’est ça qui est top:

  • Une board Arduino Yun
    • Jouer avec les composants électroniques pour cabler le capteur
    • La logique embarquée (du pseudo C) pour relever la température chaque seconde
    • Le module wifi pour envoyer le relevé vers Azure, auquel en accède en Python en y intégrant le SDK Azure
  • Côté Azure
    • Paramétrer l’Event Hub en PowerShell
    • Implémenter la logique d’agrégation dans Stream Analytics via du pseudo SQL et une logique de streaming
    • Finalement écrire les résultats dans Power BI avec l’API Rest

Et je vous avoue que voir la courbe de température évoluer en temps réel quand on réchauffe le capteur en le touchant, c’est bête mais ça provoque de la vraie joie!

Tout ça pour dire que je vous dois une série d’articles sur tout ça, et que je m’y mets de ce pas! En attendant, n’hésitez pas à vous y mettre de votre côté. Oui ça peut faire peur toutes ces technos étranges, mais en persévérant ça finit par rentrer 😉

Un sauteur de haie qui oublie de sauter, mais qui finit quand même la course!

Y’a un truc qui m’intrigue à Redmond…

Lors de la keynote du PASS Summit 2014, le mois dernier à Seattle, nous avions eu droit à la présentation de la nouvelle organisation de l’équipe Data Platform de Microsoft, par son leadership flambant neuf:

Des visages sur des noms

Trois patrons pour trois lignes de produit, alignées comme indiqué sur ce schéma (désolé pour la qualité patate):

L'organisation MS 2014 pour la Data en image

Si on repart du fond de la stack:

  1. Capture + Manage : T.K. « Ranga » Rengarajan, patron de Data Platform, Cloud & Entreprise. A comprendre : SQL Server, Azure SQL Database, Azure HDInsight, Azure DocumentDB, Azure Search and Analytics Platform System
  2. Transform + Analyze : Joseph Sirosh, patron de l’Information Management & Machine Learning. A comprendre : Tous les services Azure Data
  3. Visualize + Decide : James Phillips, patron de Power BI, tout du moins la partie sur O365 (dashboards, Q&A, Mobile…)

Là dessus je me fais les remarques suivantes:

  • Ranga ancien SAP, Joseph ancien Amazon, James co-fondateur de Couchbase, les 3 ont moins de 2 ans d’ancienneté chez MS, ça sent l’air frais, c’est plutôt bon signe
  • Ranga et Joseph sont CVP (haut gradés), James n’est « que » General Manager, bizarre cette différence de traitement…
  • Vis à vis des périmètres de chacun:
    • Pour Ranga on a une ligne claire de produits, énoncée dans sa fiche speaker, pas de doute possible
    • Pour Joseph, il fallait être là en scéance mais ont été nommés : Azure Data Factory, Azure Stream Analytics et Azure Machine Learning. On en reparle plus bas.
    • Pour James c’est moins clair. Power BI ça veut tout et rien dire, et si on s’en réfère au slide ci-dessus on note l’absence de la partie add-ins intégrée à Excel (soit à mon sens la plus importante), qui on le sait est retombée dans l’équipe Office. Bon il en parle quand même pendant la session, mais manifestement ça n’est pas dans son scope. Notons qu’il nous a parlé également de 2/3 autres trucs mignons qui arrivent et sont eux dans son scope : les Dashboards Power BI et l’amélioration du refresh on-premise/Power BI (genre SSAS et scheduling)

On en revient à Joseph, en reprennant le slide et en essayant de matcher les produits qu’on connaît en face:

  1. Orchestration -> Azure Data Factory
  2. Information Management -> ?
  3. Complex Event Processing -> Azure Stream Analytics
  4. Modeling -> ?
  5. Machine Learning -> Azure Machine Learning

Hum… Y’a des trous! Et si on observe le pattern, ça sent les services Azure managés, pour de l’Information Management et du Modeling! Wait, what?

Je ne sais pas vous, mais moi ça m’intrigue définitivement 😉

J'ai hâte!!

En Novembre cette année, c’est à Seattle que ça se passe!

Cette année encore c’est avec beaucoup de plaisir que j’irai au MVP Summit la première semaine de Novembre, invité par Microsoft, payé par ma boîte, Cellenza, autant vous dire que la vie est belle 🙂

La cerise sur le gâteau, c’est que la même semaine, en quinconce comme qui dirait, se déroule le PASS Summit. Vous le savez, le PASS c’est la Professional Association for SQL Server, le méga groupe mondial des utilisateurs des technos data issues de Microsoft. Evidemment le GUSS, notre groupe d’utilisateurs en France, est une émanation du PASS, c’est un « chapitre local » en mode Sons of Anarchy, local chapter for France !

Photo des motards de Sons of Anarchy

Et sinon… vous pensez quoi de Power Query dans un contexte de Data Governance ? Jean-Pierre tu préfèrerais pas qu’on aille boire une bière plutôt?

Le PASS Summit c’est genre la plus grosse conférence data dans l’écosystème Microsoft, et de loin. Sur place il y a juste toutes les stars du milieu (la liste est ridicule).

C’est simple, pour moi participer au PASS Summit c’est le meilleur retour sur investissement possible en terme de formation et motivation pour quelqu’un qui travaille dans la stack SQL Server. Oui l’addition peut paraître salée, entre le coût de la conférence, les billets d’avion et le logement sur place, mais rien d’autre ne déclenche un tel boost de compétences et d’implication chez un collaborateur.

Logo du PASS Summit 2014

Cette année la délégation française est vraiment nombreuse, c’est le moment, rejoignez-nous à Seattle 😉

Retour sur « Accélerez vos idées », la keynote de Microsoft du 15/04

Bon bin ça c’est fait : hier à 19h a eu lieu comme prévu la belle présentation de Microsoft sur leur plateforme Data / BI / Big Data, avec entre autres Satya Nadella (CEO) et Quentin Clark (cVP Data) sur scène.

Si vous voulez un compte rendu exhaustif, je conseille fortement l’article de JP sur le sujet.

Voir à travers le marketing...

Voir à travers le marketing…

Mon retour en vrac :

  • Il est bien Satya sur scène, j’aime beaucoup son élocution et sa présence, beaucoup plus que ce qui se faisait avant…
  • Autant le discours marketing est chouette, « Turn the data exhaust into Ambiant Intelligence », autant à mon sens les outils ne sont pas encore au niveau de ce qui est promis. C’est vrai que les premières briques sont là, et c’est vrai aussi que j’ai confiance dans la capacité des équipes produit à créer une offre cohérente à moyen terme. Mais ne mettons pas la grenouille avant les bœufs, sinon on aura des déçus.
  • D’ailleurs entendre un beau message marketing tout neuf, et voir que quasiment toutes les démos qui l’accompagnent ont déjà été présentées, et certaines depuis 1 an, c’est pas top top…
  • Un autre slogan qui fait sourire c’est « Mobile First, Cloud First », parce qu’en BI si on est couvert pour le Cloud, pour le Mobile c’est moins évident… Mais ça vient, ne faisons pas de mauvais esprit 🙂
  • Et dans le détail produit :
    • Polybase ça m’a l’air excellent (dans une même requête SQL on touche Hadoop et les bases relationnelles), dommage que pour le moment ça ne marche que sur PDW, pardon APS (l’appliance de MS change de nom). A quand dans Azure ?
    • On note qu’Office est présenté comme l’interface universelle pour tous les usages de données. Dommage pour SSRS 😉
    • Ça cause beaucoup Machine Learning, mais pour le moment rien de concret dans l’offre. On notera qu’à ce sujet pour une fois MS fait les choses à l’envers en termes de développement produit : ils partent d’une solution verticale existante (solution ML pour la recherche dans Bing) et tentent d’en faire un produit générique, alors que d’habitude ils développent les outils d’abord et recherchent les usages ensuite. Y’a du challenge !

Voilà, voilà. Content de voir que Satya mouille sa chemise pour la BI, mais ce n’était pas non plus une keynote à la Apple avec des annonces révolutionnaires qui font rêver. En fait ce qui m’a fait le plus plaisir pendant cette présentation, ce sont les commentaires en live des copains sur Twitter 😉

Petite astuce SQL : génération de requêtes SQL avec Excel

Si c’est une évidence pour les vieux de la vieille, je me rends compte que tous ne sont pas forcément au courant de cette technique assez simple qui permet de générer des requêtes SQL avec Excel. Ça a surement déjà dû être bloggé 10 fois, mais ça va plus vite d’écrire l’article que de le chercher 😉

Vous partez depuis Excel, avec le tableau qu’on souhaiterait importer côté SQL:

Un tableau dans Excel

Vous y ajoutez la formule Excel suivante :

Tableau plus la formule qui suit

="SELECT '"&Tableau1[@[Colonne 1]]&"' AS Colonne1, "&Tableau1[@[Colonne 2]]&" AS Colonne2, '"&Tableau1[@[Colonne 3]]&"' AS Colonne3 UNION ALL"

Le principe vous l’avez compris : on compose une chaîne de caractère (= »SELECT… ») qui va correspondre à un SELECT simple (qui n’a pas besoin de FROM sur SQL Server, on rajoute FROM DUAL sur du Oracle) qui seront enchainés les uns aux autres par le UNION ALL (= »SELECT … UNION ALL »). Dans cette chaîne, on n’oublie pas de mettre les champs texte entre quote (‘ ).

Voilà ce que ça donne :

Tableau avec le résultat de la formule sur la première ligne

Ce qu’on va pouvoir recopier pour tout le tableau :

Tableau avec la formule recopié pour toutes les lignes

Direction SQL Server Management Studio, où on supprime le dernier UNION ALL, puis on encapsule le tout dans un SELECT imbriqué, et hop, mes valeurs sont prêtes à être intégrées avec un INSERT INTO, ou utilisées pour définir une vue :

La requête SQL en résultat

En SQL:

SELECT
        Colonne1,
        Colonne2,
        Colonne3
FROM (
        SELECT 'A' AS Colonne1, 12 AS Colonne2, 'XART' AS Colonne3 UNION ALL
        SELECT 'B' AS Colonne1, 15 AS Colonne2, 'CFSE' AS Colonne3 UNION ALL
        SELECT 'C' AS Colonne1, 42 AS Colonne2, 'SJRU' AS Colonne3 --UNION ALL
) A

C’est quand même bien fait hein ?

Des news de Redmond : Power BI et Quentin Clark

En ce moment Microsoft communique beaucoup autour de la BI (cf. pourquoi). Alors pour éviter d’être submergé, je vous ai fait une petite sélection avec mes commentaires:

Logo Power BI

  • Power BI passe en « General Availability »
    • Alors déjà GA ça veut dire quoi ? Mais qu’on va commencer à payer tiens donc! En toute honnêteté je ne trouve pas ça très cher pour les entreprises : 20€/utilisateur/mois si vous êtes en E3/E4 (ce qui devrait être le cas). Pour les particuliers le message est moins rose : si Office 365 Famille c’est vraiment pas cher (90€/an pour 5 machines), aucune possibilité d’avoir un petit morceau de Power BI avec. La version minimale d’Office pour y accéder semble être Office 365 ProPlus à 13€HT/utilisateur/mois, et avec ça on s’ouvre l’option Power BI à 40$/utilisateur/mois en plus. Ouch. Même combat pour les étudiants, qui touchent Office à 80€ pour 4 ans (c’est donné !), mais dont la version d’Office n’est pas éligible à Power BI (paf 52$/user/mois pour l’upgrade full…). Nul.
    • Une des conséquences du passage en GA est la clarification du destin de Power Map, qui rejoint la distribution Excel par défaut (dans les versions streamées – celles qui se mettent à jour toutes seules). Fini donc d’avoir à installer l’add-in en plus, c’est plutôt cool.
    • Alors oui, ça miaule dans les chaumières parce que Microsoft fait du gros forcing sur le passage en licence par abonnement (Office 365) plutôt qu’en boite. Mais de mon côté si d’une part je trouve les prix ultra agressifs (mais ok, rien ne nous met à l’abri d’une explosion des tarifs une fois que tout le monde aura signé… euh en fait si, la concurrence), d’autre part je trouve fantastique le principe des mises à jour continues, si possible via les Updates dans les applications. Ce dernier point on l’a vu à l’œuvre dans la preview de Power Query depuis le milieu de l’année dernière, avec des grosses mises à jour livrées tous les mois, et franchement c’est juste le top (de la même manière que Chrome ou Firefox se mettent à jour tout seul). Dans l’absolu je préfère largement avoir des cycles de release mensuels, plutôt que d’attendre 3 ans pour avoir à migrer de SQL Server 2005 à 2008 (ou pas).
Passage en GA de Power BI – Annonce sur le licensing

Passage en GA de Power BI – Annonce sur le licensing

  • Le deuxième gros sujet c’est les pontes de Microsoft qui prennent le micro, et celui qui nous intéresse c’est Quentin Clark, le grand patron de l’offre Data, sur la vision de Microsoft pour sa plateforme
    • En 2 mots, son message : « Cloud First »
      • Aujourd’hui : on rouille sur de l’IT à la papa, avec des bases OLTP, des DWH relationnels et de la BI opérationnelle. Tout ça c’est basé sur une approche, de construire des « systèmes d’enregistrement », comme les ERP et tous les autres applicatifs LoB, qui sont designés spécifiquement pour enregistrer ce qu’il se passe sur un flux métier de l’entreprise (une interface pour enregistrer une vente, un échange client, un recrutement)
      • Demain on pourra construire des « systèmes d’observation », complémentaires, qui auront l’approche inverse, soit observer les événements dans tout l’écosystème (et pas seulement dans l’entreprise) pour en déduire de l’information
    • A mon sens c’est encore très flou, mais pour Microsoft l’objectif devient alors de nous construire l’outillage nécessaire à cette vision, autour des briques suivantes:
      • Modern Transaction Processing : la communication inter-applications dans le cloud, et non plus on-premise, en fait c’est la cloudification des EAI – le concept est excellent
      • Modern Business Intelligence : Self-Service, Machine Learning, Data Viz, tout ce qui concerne la modernisation du rôle et de l’usage de la BI
      • Modern Data Warehouse : tout ce qui doit se faire en back office pour permettre la Modern BI, soit pour le moment principalement le traitement des hautes volumétries via Big Data
      • Le tout en cloud et PaaS, pour la scalabilité, et effacer les problèmes d’infrastructure afin de se concentrer sur les problématiques métier
  • On entend donc bien le message « Cloud First », à tous les niveaux, qui au-delà du changement de mentalité technologique, avec ses avantages et ses inconvénients, va surtout permettre à l’éditeur de terminer la transition de son business modèle de la vente de boîtes à la location de services
    • Et là moi je suis à 100% pour, puisque vous le savez j’ai un avis assez tranché sur l’économie numérique, et autant payer pour un .exe ça me pose un problème, autant payer tous les mois pour un service, qui m’apporte de la valeur, qui s’améliore dans le temps, je suis complétement d’accord
    • Maintenant si MS a fait la preuve de sa compétence Cloud (Azure c’est juste énorme), et si ça commence à sentir bon côté Modern Data Warehouse (HDInsight c’est top, StreamInsight c’est bien, manque plus que des IDE avec des IHM dignes de ce nom), on est encore léger côté Modern BI : toujours à poil sur le Machine Learning (le nouveau nom du Data Mining), et pas complétement convaincu par les capacités de Data Viz de la plateforme (mais c’est un point d’attention de leur côté). D’ailleurs sur ce dernier point, vous noterez dans l’article que le sujet est retourné du côté des équipes Office (cf les titres des auteurs à la fin) plutôt que Data Platform (chez Quentin). Est-ce positif ? Sincérement, vu SSRS, à mon avis oui…
    • Dans tous les cas, respect à Quentin Clark de faire l’effort de nous exprimer sa vision, même si c’est un exercice qui va devenir strictement nécessaire pour établir une vraie relation de confiance avec nous, les utilisateurs de ces services.
Ça va, c’est clair ?

Ça va, c’est clair ?

N’hésitez pas à réagir dans les commentaires 😉