Amazon lance un nouveau service..

Une base de donnée (mysql) en mode service. L’idée est bonne mais vu que la théorie ne permet pas d’avoir de base relationnelle de taille infinie facilement (verrours, nombre d’accès, cout de l’optimisation des requêtes…) il devait il y avoir un piège … et effectivement ils sont concés comme Microsoft avec Azure SQL sur les limites des RDMS.
Amazon propose plusieurs types de bases ce qui est très bien pour bon nombre d’applications comme le fait Microsoft .. 1 To c’est déjà bien ! maintenant ca n’est pas la scalabilité de Amazon Simple DB , Amazon S3 ou Google Apps Engine ou il n’y a pas de limite de taille (il y en a mais très éloignées des besoins même pour de très gros sites).

Dans les avantages la tolérance aux pannes est parammétrée ce qui est déjà bien car très difficile à mettre en oeuvre. Je n’ai pas regardé pour Amazon mais pour Azure SQL Server la base est repliquée sur deux sites distants de quelques centaines de km avec une bascule automatique.

C’est bien pour ceux qui veulent des petits sites mais c’est un service qui n’a pas la scalabilté des autres services . Il faut faire attention avant de ce jeter dessus !

Il faut également regarder de près les couts…

iTunes, remplacant des chaines de télévision

Un article de MacPlus sur iTunes comme remplaçant des télévisions qui date un peu (fin aout) mais qui va dans le même sens que moi.

Les chaînes de télévision n’ont que deux ou trois ans pour créer des marques fortes sur internet, avant de se faire manger toute crues par iTunes ! C’est le constat dressé par Ashley Highfield, ancien patron d’iPlayer, l’application de télévision de rattrapage de la BBC et désormais vice-président de la branche « online » de Microsoft UK.

Je ne pense pas que son timing soit le bon, il faudra bien plus de temps que ça ! iTunes n’arrive toujours pas a proposer la location de films en France alors que c’est possible aux US depuis… fort longtemps.

La vraie bataille sera cependant connexe, qui va avoir la main sur la publicité qui sera injectée dans les films ? Apple me semble bien placée !

Google explique ses datacenter…

http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf

Toujours intéressant de voir comment ils raisonnent.

Une société qui a lance des logiciels de gestion de datacenter qui permet de gérer 10^7 serveurs… (rien que l’échelle est amusante) il y a toujours des choses a apprendre !

Capitaine ad hoc

J’ai évoqué dans un billet précédant la capacité des militaires a créer des organisations ad hoc pour traiter un objectif, organisations temporaires allant de quelques heures à quelques mois (années quand ça se passe mal…. )

Le cloud computing est l’outil qui permet d’industrialiser cette gestion d’organisation.

On peut déjà le voir avec Google Apps, la force n’est pas dans la réduction des cous d’exploitation (qui est quand même réelle) mais la possibilité d’ouvrir les données et de s’ouvrir à celles des autres.
Cette ouverture nécessite d’être ouvert sur Internet, la meilleure place étant d’utiliser les outils d’Internet (Google) mais sans exclure d’ouvrir son système d’information…
Cette collaboration est bi directionnelle, on peut avec Google Docs partager un document … mais on peut aussi utiliser un gadget fait par un autre. D’une certaine manière on s’incrit dans l’écosystème Internet en utilisant et fournissant des données.

Google Apps n’est qu’un premier exemple, un exemple simple.
On peut imaginer des scénarios plus orientés métiers.

Imaginons un service Saas BI, je l’utilise et je permet a mes partenaires favoris d’utiliser une partie de mes données, de leur coté ils en partagent aussi.
J’ai donc bien dans un premier temps changé d’hébergeur et utilisé une solution qui se met à jour toute seule… mais en exposant et utilisant des données des autres je change bien plus radicalement l’informatique de demain.

On peut se faire des scénarios avec des ERP, imaginez ce que l’on peut faire avec des données en commun comme les adresses, SIRET à jour, on a des mêmes commandes/factures et leurs statut en temps réel…
Les scénarios d’usages sont infinis.

La magie d’Internet sera de travailler comme s’il n’y avait qu’une seule base de donnée, on ne duplique plus, on utilise, on collabore. On ne partage pas que des services mais des données.

Cette évolution va poser quelques défis :
- technique pour arriver à exposer les données, le web sémantique est la piste.
- juridique/sécurité (les 2 travaillent avec des périmètres, il y a toujours ce qui est dans et en dehors de l’entreprise, on voit la difficulté qu’ils vont avoir a traiter des données partagées… les responsabilités associées…)
- l’impact sur les organisations

Ce dernier point est intéressant, on dispose déjà de prémisses avec Google Apps, twitter, Facebook…
Tous ces outils permettent à différentes personnes de se mettre autour d’un site, d’un wiki, d’une forum …
Ces outils permettent la communication en court circuitant les organisations en place, celles qui se mettent en place naturellement sont celles qui permettent de résoudre les problèmes.

D’un point de vue technique ces organisations peuvent se mettre en place en quelques minutes…
La question que les capitaines d’industries vont avoir est comment faciliter ce mécanisme, comment valoriser la collaboration, comment avoir des objectifs individuels qui favorisent cette collaboration, comment avoir des objectifs dans les organisations qui les poussent à collaborer, comment créer des relations de confiance avec les clients, fournisseurs et partenaires qui permettent de travailler ensemble ?

Il n’y a pas de réponses connues à ce jour sur ces points… par contre les mesures actuelles (la définition des objectifs pousse en général a jouer contre son camp qu’a collaborer, comme si des joueurs de foot avaient des objectifs en nombre de buts a marquer et bien sur des objectifs qui montent de mois en mois jusqu’à la rupture).
La notion même de périmètre va devenir plus délicate a manier… Qui est responsable quand sur le wiki de la société A un partenaire B met un gadget qui affiche une information d’un fournisseur C qui aggrège du contenu de différents sites et qui retourne a un moment du contenu illicite ?
Les pratiques sont bien plus avancés que les organisations et les juristes.

Le concept d’entreprise en réseau qui doit bien avoir une vingtaine d’années arrive mais rien ne semble prêt pour les changements qui viennent, changements inévitables.

Va t-on voir l’émergence de 2 classes, une classe qui collabore, est mobile, dans le monde des idées et une classe qui produit ?

Microsoft devdays (suite), nouveautés de la CLR

Recherche

Dans les autres nouveautés intéressantes, la recherche fédérée arrive dans windows 7.
C’est à dire que l’on peut appeler d’autres moteurs de recherche (format Atom bien entendu) et afficher les résultats.
L’affichage peut être customisé bien entendu.

Il est donc possible d’indexer sa base client via un moteur de recherche (Google, Exalead, …) et afficher les résultats dans l’explorer windows avec les meta données (nom,prenom…)

Evidement ca n’est pas parfait car la recherche fédérée ne peut pas faire aussi bien que non fédéré, en même temps c’est assez simple à mettre en oeuvre et donne quand même une expérience utilisateur satisfaisante.

C# / VB.Net

Je vais compléter par rapport au billet d’hier.
Il est possible de faire des méthodes dynamiquement (ou des attributs).
L’usage est assez évident, ça simplifie l’accès aux bases ou au xml.

Exemple : xmlPersonne.nom au lieu de personne.getAttribute(« nom »)

il est possible d’étendre des objets sans les connaitre ou même avoir le code.
exemple on défini une méthode add ( Personne pers, String nom, String prénom) ce qui permet
de faire quelque chose du style
Personnel personnel = { { « Dupont », « jean »} , {« Doe » , « john »}}
instanciation statique, le compilateur se débrouille pour retrouver la méthode add adaptée au contexte et ça marche…

Comme en C autrefois, on peut avoir des paramètres optionnels dans les méthodes… J’imagine que pour php ça les a bien aidés…

Les covariant permettent en fait de faire du binding dynamique mais avec une vérification statique…
j’explique, avec COM avant on l’héritage n’existant pas, il suffisait d’avoir des mêmes signatures de méthodes pour qu’une boucle sur une collection puisse appeler une méthode.

voiture
        methode move () <<code>>

vache
        methode move () <<code>>

collection.add (myvoiture)
collection.add(myvache)

for each v in collection do v.move()

la découverte de la méthode move se faisait au runtime, si tous les objets de la collection avaient la même signature de méthode ça marchait mais pas de vérification statique et surcout lié au dynamisme
La on peut d’une certaine manière expliquer au compilateur que l’on peut caster des équivalences (lui dire qu’un véhicule et un animal ça a la même interface même si ça n’est pas complètement le cas (méthodes en plus ou en moins). On bénéficie des erreurs à la compilation car si on appelle la methode move sur une interface qui ne le gère pas on est prévenu et avec la même permisivité que l’on avait en COM.
Ca n’a pas été dit mais j’imagine que le binding généré est statique.

Inférence de type

Le compilateur sait inférer les types, il est donc possible d’écrire Dim s = « ma chaine », il type tout seul s en string (et pas en Variant comme en VB), ce qui veut dire que l’on ne peut plus ensuite mettre que des string.
Pour rester générique il faudrait faire Dim s as object.
C’est bête mais ca évite du code donc des erreurs !

Donc pas de nouveauté complètement révolutionnaires mais un pas est fait vers les langages dynamiques comme php.

Conclusion

Bref ils ont repris toutes les idées de COM, mais plus besoin de faire de marshalling… les connaisseurs comprendront ;-)

Encore une fois coté Java ils vont crier a l’hérésie… et intègreront les modifs dans un ou deux ans. S’ils y arrivent, vu la complexité du langage, je ne suis pas sur que les machines virtuelles soient faciles a maintenir !

Microsoft fait des progrès !

PHP

Microsoft fait un vrai support du php, ils ont même modifié IIS pour avoir un cache de l’opcode, ils ont rajouté une couche à la CLR pour gérés les langages dynamiques comme php (et python).
Pour php ils ont même fait un travail d’exégèse de tous les codes nécessaires, vérifiés les licences et industrialisé le build de tout le code php.

Ils ont fait Web PI pour permettre d’ajouter simplement wordpress ou drupal sur un serveur windows (encore plus simple que sur unix), le setup installe même mysql,php (ça n’a pas du être facile à faire avaler en interne…)… pour que ca soit fonctionnel à la fin de l’installation (avec les mêmes bugs que sur linux, ceux qui étaient à la démo comprendront…).

sql server va avoir son driver php mais pas encore son driver PDO (ça vient !, c’est prévu).

php est supporté dans Visual studio comme language avec complétion…

Ballmer n’a présenté que quelques slides mais a cité php.

La voir choisie par Microsoft me semble bien meilleure que IBM, php n’est pas une surcouche mais une extension de iis normale, au même niveau que php dans apache.
Rappelons qu’IBM l’execute au dessus de WebSphere…

Un intérêt de mixer php et IIS c’est pour faire du streaming qui est bien géré par iis, …

il est aussi possible de faire des appels aux API de Microsoft pour manipuler les objets word, excel … plus généralement les objets Com.

A noter aussi que les hébergeurs commencent a mieux gérer windows comme plateforme de manière industrielle( ovh, dedibox, ikoula…), il y a des serveurs windows pas très cher aujourd’hui en location. Linux n’est plus nécessaire pour démarrer pas cher (Ils ont fait de vrais efforts).

Supervision

Microsoft a fait lui même les extension pour supporter dans operation center redhat et suse. Il est possible et même facile de superviser ces plateformes avec des règles déjà paramétrées pour filtrer proprement et agir directement (arrêter ou relancer un service, vérifier la présence d’un process…)

C’est un effort louable, Microsoft par habitude laisser faire les partenaires et ne traite que sa propre plateforme. La ils ont développé et supportent des outils tournant sur d’autres plateformes (en plus de redhad et suse il y a aussi solaris et aix).

Multitouch

Démos assez bluffantes et particulier sur Surface.
Ca m’avait échappé mais le multitouch de surface est un peu plus sophistiqué que ce que je pensais.
Il y a une caméra qui observe le dessus de la table pour repérer ce qui s’y passe. Il est donc possible de voir que l’on a posé ses clefs et agir en conséquence.
Les API s’en servent pour repérer les mains, les doigts et leur sens ! et repère éventuellement les mains et devine les personnes derrières. Il est donc possible de gérer plusieurs personnes simultanément. Un exemple est donné avec un jeu de carte sur la table de surface (je veux la même :-) )
Une petite démo d’une tablet multitouch ou c’est l’écran qui est pris en compte et pas le trackpad … windows 7 est une sorte de grand iphone…

Exchange 2010 & stockage

je voulais voir les changements d’architecture liés au stockage.
Quelques messages intéressants.

En 2013 les disques SATA feront 8To (un seul disque…).
Il faut adapter pour gérer les disques SATA c’est c’est bien moins cher en stockage.

Les changements sont nécessaires :
- il faut limiter le nombre de petites lectures car les disques vont moins vite
- il faut lire de gros blocks et séquentiels : il faut réfléchir a la manière dont on stocke
- passage des secteurs de 8ko a 32Ko

Exchange a réduit de 70% les io en faisant une table par utiliser plutôt qu’une table pour tout le monde, il est donc possible et même recommandé de prendre des baies avec des disques SATA pour offrir aux utilisateurs de grosses boites.
La réduction des IO permet de le faire.

C’était intéressant car même si ça n’était pas dit, la même chose pour les applications métiers et les bases.
Une base relationnelle ne peut pas bien fonctionner sur des disques SATA pour des raisons de temps d’accès.
Par contre utiliser une base relationnelle mais des modèles non relationnels (stockage de documents…) permet comme pour exchange de passer au SATA (moins d’IO, lecture d’un document en une seule séquence…).

BPOS

Je ne vais pas faire de la pub pour microsoft sur le sujet, ils le feront mieux que moi… mais j’ai bien noté qu’ils avaient un exploitant pour plus de 50 000 serveurs.
Les hosteurs apprécieront la performance.
Cela illustre bien le changement d’échelle en matière de hosting. On passe de Monsieur Renault qui fait une voiture à la main à l’usine en matière d’exploitation.

sur Azure j’ai noté une limite importante, il faut modifier un fichier de configuration pour indiquer le nombre de serveurs sur laquelle une application doit être déployée, il faut donc la surveiller de près pour augmenter ou réduire ce nombre d’instance.
Sans aller jusqu’au niveau de Google sur le sujet, faire comme righscale me semble être un minimum pour une offre packagée.

Sinon ils permettent des choses amusantes comme mettre l’application sur le cloud et la base sur le LAN de l’entreprise sans avoir besoin d’ouvrir les firewall, il suffit que la base puisse faire de l’https en sortie …

C#

retour au passé, on peut faire des objets vb ou C# comme des objets COM un peu avancés, on peut simuler dynamiquement des méthodes (faire croire a l’appelant qu’une méthode existe).
C’était utilisé il y a longtemps par COMTi, on paramètre une transactions CICS et quand on invoquait une certaine méthode il la simulait sur la base de ce paramétrage.
Je dis ca, ca date de 10 ans cette histoire.
C# peut faire la même chose maintenant ! ouf

j’ai pas tout suivi sur les co variants… m’a l’air bien compliqué de binder des interfaces comme ils le font…

IP v6
Microsoft pour leur outil de VPN (un peu mieux pensé cela dit) fait de l’ip v6, c’est obligatoire.
Ils fournissent les passerelles qui gèrent tous les protocoles nécessaires pour permettre a un poste ou qu’il soit sur internet de faire de l’ip v6 avec le réseau de l’entreprise.
L’interêt est de faire de l’IP Sec.
Les postes clients de leur coté font de l’ip v6 natif (cas rare aujourd’hui), tunneling sur ip v4 ou même sur de l’http historie de passer les firewalls… (la sécurité périmétrique est encore une fois dépassée).
ils ont beaucoup incisté sur ip V6, c’est le premier protocole de windows 7, l’OS essaye d’abord en ip v6 avant de downgrader en ip v4.
Ce qui est bien c’est qu’ils fournissent les passerelles pour migrer progressivement mais ils le disent bien, faut commencer à y aller.

Virtualisation

Ils font comme vmware, on peut déplacer une machine virtuelle en fonctionnement.
Ils ont fait une démo bluffante avec un poste client virtuel ou un film était lancé et on n’a pas vu le changement de serveur pour cette machine virtuelle…

Conclusion
Dans les reproches la logistiques car j’ai raté des sessions qui m’intéressaient car elles étaient pleines… dommage (et rien dans les pochettes surprises d’intéressant a part ce livret sur le développement).
Et le pire c’est qu’ils n’y avaient plus de ces verrines qui avaient l’air délicieuses quand je suis passé au buffet le mardi midi ! :-(

a noter aussi l’absence de mots qui étaient courants il y a encore peu, j’ai pas entendu arler de webservices, SOA…

Sur le fond je note une ouverture de plus en plus grande, ils ont parlé de vmware, linux, php, demo avec firefox … ce qui est plutôt bien. C’est de moins en moins tabou.
Je sens que la crise les fait changer en profondeur. Pour Ballmer elle va durer et il faut faire ‘with less – do more’, donc il faut sortir de la valeur ajoutée pour arriver a vendre des licences face à l’open source. Il y a un gros travail qui vient de commencer sur l’ « efficiency ». En gros ils vont revenir sur leurs fondamentaux.

Je me rappelle d’une époque ou les installation sous Unix étaient de vrais cauchemars (recompilation de librairies, pour les compiler il fallait un langage qu’il fallait installer et compiler qui ne compilait pas a cause d’une librairie qu’il fallait…) fasse a windows ou on lançait un setup, suivant, suivant, terminé. Aujourd’hui c’est un peu le contraire. sur linux apt-get upgrade;apt-get update;apt-get install apache2 ca permet d’installer et mettre a jour tous les logiciels d’un serveur.
Les Os devraient tous avoir leur itunes d’application gratuites et payantes avec système de mise à jour automatique, sur demande… comme pour les iPhones. Ca serait un vrai plus.