lundi 21 décembre 2009

Dissonance cognitive

Ca y est, j'ai terminé le Challenge Azure (je ne suis pas 1er car il a fallu un peu de temps pour brute-forcer le QCM :)



La mauvaise nouvelle pour vous, c'est que je suis maintenant officiellement autorisé à vous parler de Cloud Computing puisque j'ai envoyé mes applications "In The Cloud" :)

Mais pour être honnête, je n'ai jamais rencontré un challenge aussi grisant depuis la disparition de SecuriTech. Il existe plein de challenges passionnants et intelligents sur Internet, mais rien à faire: le temps limité ajoute un sentiment d'urgence très excitant.

Et le Challenge Azure est vraiment unique. Pourquoi ? Parce qu'il est facile de trouver la solution à tous les autres challenges publics. Soit parce qu'il existe des spoilers, soit parce que ce sont toujours les mêmes failles qui reviennent en boucle: buffer overflow, fichier setuid gérant mal ses privilèges, etc.

Alors que pour le Challenge Azure, il n'existe aucune solution. Personne ne peut vous aider, car personne ne sait comment ça marche. La documentation disponible sur Internet est fausse, car elle ne s'applique pas à la version CTP de novembre 2009. Bien que le challenge consiste simplement à corriger du code déjà écrit par des gens de Microsoft France, vous pouvez rester des heures à contempler une lambda-fonction C# destinée à requêter un blob dans votre storage sans comprendre une ligne de ce qui est écrit.

Et là, la vérité m'est apparue nue. Depuis 10 ans que je pratique la sécurité informatique en entreprise, je n'ai jamais rencontré un développeur (sauf des designers d'IHM en Java, mais je ne pense pas que ça compte). J'en ai pourtant audité des applications, j'en ai prodigué du conseil pour améliorer la sécurité des développements (comme compiler avec /GS, /NXCOMPAT et /SAFESEH) ... mais même dans les réunions de debriefing post-audit les plus houleuses, je n'ai jamais eu en face de moi que des intégrateurs ou des technico-commerciaux ...

Les entreprises dont le coeur de métier n'est pas l'IT n'embauchent pas de développeurs. Les seuls "développeurs" qu'on y recontrent sont des prestataires liés aux gros progiciels internes (comme SAP ou SharePoint). Ce sont souvent des consultants de l'éditeur ou de sociétés aux intérêts très liées. Le reste des applications sont achetées sur étagère, jamais développées en interne.

Et dans le domaine de l'application commerciale, il y a deux cas: soit la start-up avec quelques développeurs, parfois motivés, mais jamais très nombreux, et rarement sensibilisés à la sécurité. Soit la société qui a crû suffisamment pour sous-traiter ses développements en Roumanie, en Inde, au Vietnam, ou n'importe où ailleurs (mais toujours à un endroit où il sera impossible de communiquer avec les développeurs).

Alors après avoir pratiqué un peu sur la plateforme Azure, je souris intérieurement en pensant à la probabilité pour que ma société soit un jour cliente directe de cette solution (mais je pense que cela s'étend à d'autres sociétés françaises de la même envergure). Il est déjà probablement impossible de trouver un employé (pas un sous-traitant) qui sache écrire une ligne de C#. Alors de là à maitriser les subtilités du framework 4.0 ou de LINQ, c'est de la science fiction. Bien sûr il est également possible de développer du code PHP avec Eclipse pour la plateforme Azure, mais là on en est quasiment au stade de la manipulation génétique :)

Petit détail: le SDK Azure ne s'installe que sur Windows Vista et ultérieur. Rien que ce pré-requis est rédhibitoire quand on sait que l'écrasante majorité des postes de travail reste sous Windows XP, le SP2 n'ayant parfois pas été installé par peur des incompatibilités.

La seule voie par laquelle le Cloud a une chance de gagner les entreprises, c'est par la sous-traitance. Après tout, mon employeur m'a bien obligé à enregistrer mon numéro de carte bleue sur le site Web d'une société tierce en charge de tous les voyages et de toutes les notes de frais. Peut-être fait-elle déjà appel au Cloud ? Qui s'en préoccupe de toute façon ?


PS. Pourquoi le Cloud est-il l'avenir de l'informatique ? IDC pense qu'il n'y aura pas de successeur à Windows Seven. Vinton Cerf pense qu'en 2012, il y aura plus de téléphones connectés à Internet que d'ordinateurs. Il me semble que tout cela fait du sens: l'informatique telle que nous la connaissons va disparaitre. Les services informatiques sont déjà en train de disparaitre d'ailleurs ...

10 commentaires:

0xacdc a dit…

L'informatique telle que nous le/la connaissons est appelé(e) à disparaître au profit du Cloud. Parlons nous d'une extinction à la "Poilus de 14-18", ou a une vitrification du genre Little Boy, 30.000 personnes en une seconde ?

newsoft a dit…

Un peu des deux: je ne pense pas que le dernier informaticien mourra à 110 ans comme le dernier poilu :)

mr potatoe a dit…

bon ben azure failed si ca s'installe que sur vista et superieur :P

newsoft a dit…

@potatoe: attention, les applications hébergées peuvent être accédées en mode Web par n'importe quel client !

Exemple: http://eyeonearth.cloudapp.net/

C'est seulement le SDK qui est compatible Vista+.

Geoffrey a dit…

Quand je vois que mon nouveau directeur veut externaliser tout ce qui est possible en ne gardant que quelques personnes censées connaitre les applications internes, on en revient un peu à ce que tu dis sur le c#.
Les développeurs sont rarement intégrés au décisionnel de toute façon, ils sont considérés comme non indispensable en interne. On préfère généralement une grosse usine à gaz genre SAP plutot qu'un logiciel developpé en interne très souple puisque collant aux besoins réels des utilisateurs.

Enfin c'est comme ca :D

Matt a dit…

J'ai un challenge drole si tu veux, http://nitrome.com/games/avalanche/ debloquer les 15 niveaux. J'ai fait ca hier, j'avoue que ton blogpost sur deezer m'a aide :-)

newsoft a dit…

@matt: tu modifies les séquences de "0400" par "0401" dans le fichier "so_avalanche1.sol".

Un peu trop facile avec la chaine "levels_unlocked". Le vrai challenge c'est de publier le score de son choix en ligne :)

newsoft a dit…

Un article intéressant: "Cloud Computing is going to happen"

Julien Vanegue a dit…

Quand on voit les budgets alloues par les plus grosses entreprises d'informatique sur les futurs datacenters, on se dit que le cloud est en train de devenir incontournable. Le EC2 d'Amazone est un precurseur.

Il est aussi interessant de voir comme les solutions de virtualisations ainsi que l'emergence des multi-cores ont participes a ce(t) (r)essort cote serveur.

Il y a 20 ans, on etait sous des terminaux connectes au central. Ce paradigme est en train de revenir en force avec le Cloud. Il est clair que cela aura un enorme impact du point de vue de la securite.

Bruno a dit…

Salut ! J'aime bien ta vision des choses, et je partage forcément (cf mon dernier speech) l'idée selon quoi le Cloud est inéluctable, que nous devrons de toute façon y passer... Bon il y a certainement quelques secteurs qui auront leurs propres clouds (armées, gouvernements, santé...) mais grosso-modo le concept est désormais mur.

Quant au challenge, merci pour l'info je ne le connaissais pas.

Hop, à bientôt aux TechDays, vu que tu y parles.