Vers plus de simplicité dans les architectures IT

L’objet de ce billet est mettre en lumière une tendance actuelle vers des architectures informatiques plus simples, plus pragmatiques, et plus sobres.

Cette tendance est, selon moi, liée à diverses causes :

  • Un certain ras le bol de la complexité chez les développeurs : beaucoup d’entre eux sont fatigués par la complexité des architectures logicielles. Par exemple, certains délaissent les frameworks JEE pour les POJO (Plain Old Java Object) ou parlent même d’Essential Java.
  • La fin de la loi de Moore : l’augmentation constante et régulière de la puissance des processeurs permettait de ne pas trop se soucier de la performance de son architecture. Cela est en train de changer.
  • Un souhait d’une informatique plus sobre : les datacenters consomment tellement d’énergie que leur facture électrique constitue un centre de coût considérable. De plus, ils dégagent tellement de chaleur qu’on arrive à la limite des possibilités du refroidissement par air. Le refroidissement par fluide inerte va vite se révéler nécessaire (voir ce billet).

La tendance à la simplicité se concrétise tant côté serveur que côté poste de travail.

Plus de simplicité côté serveur

Les enseignements du Web2.0 ont été largement entendus pas les concepteurs de plateformes de développement (JEE, .NET, etc.) : le style REST fait aujourd’hui largement consensus, et la galaxie WS-* fait sa traversée du désert.

Par ailleurs, les services issus des acteurs du Cloud Computing permettent de développer une application à moindre frais via l’intégration par Mashups. Il existe de nombreux services opérationnels et gratuits qu’il est absolument inutile de recoder :

  • Cartographie (Google Maps, Bing Maps, etc.)
  • Paiement en ligne (Paypal, Google Checkout, etc.)
  • Suivi de trafic (Xiti, Google Analytics, etc.)
  • Fournisseurs d’identité OpenID
  • Stockage de médias (Flick, Youtube, etc.)
  • etc.

Une tendance forte chez les acteurs du Cloud Computing est d’employer des architectures que je qualifierai de dénormalisées afin d’obtenir de meilleures performances. Ainsi un certain nombre d’entre eux utilisent des systèmes de persistance non relationnels et non transactionnels. Un mouvement est né de cette approche : le groupe NoSQL (voir cet article de ZDnet et ce billet sur le blog OCTO).

Par ailleurs, les acteurs du Cloud Computing utilisent des architectures logicielles très véloces, souvent basées sur des composants Open Sources optimisés, là où de nombreuses entreprises empilent des Windows / Oracle / Websphere. Ce type de pratique commence à intéresser les entreprises.

Plus de simplicité côté poste utilisateur

Côté poste de travail, l’échec de Vista a montré que les utilisateurs attachent plus d’importance à la vélocité d’un système qu’à des gadgets d’interface comme le basculement en 3D entre fenêtres. Le temps de boot d’un ordinateur est essentiel : Microsoft l’a oublié pendant un temps à ses dépends. Même si Windows 7 a corrigé le tir, Vista a ouvert le champ à des systèmes beaucoup plus simples et véloces. Un certain nombre d’entre eux sont en cours de finalisation : Moblin, JoliCloud, Chrome OS. Ces systèmes sont tout simplement des navigateurs Web propulsés par un noyau Linux.

La palme du retour à la  simplicité va à l’iPhone : en effet, Apple a osé sortir en 2007 un système d’exploitation Mono-tâche. Ce parti pris a deux objectifs : offrir aux utilisateurs une forte vélocité et économiser la batterie.

Il a obligé Apple a faire quelques contorsions  :

  • quelques applications ont le droit d’exister en tâche de fond (téléphone, email, SMS, musique, etc.)
  • l’absence de multi-tâche est pour les autres applications est compensée par un système de push qui permet de les « réveiller ».

L’approche d’Apple me semble très élégante et elle a largement remis en question Windows Mobile.

En conclusion

Le retour à des architectures simples me parait intéressant à plusieurs titres : meilleure performance pour les utilisateurs, plus grande sobriété et respect de l’environnement.

Cette tendance permet aussi d’envisager une informatique de pure commodité, véritablement robuste  : j’entends par là des datacenters et des postes de travail destinés à durer 20 ans.

Technorati : BDUWSEZQMY7D

Retour en haut