Tout, vite, et pour pas cher
Lors des nombreuses missions d’architectures réalisées je suis souvent confronté à un problème ambivalent mais aussi vieux que mon métier : mon client veut un haut niveau de service (fonctionnel et technique) mais exige également un faible coût de fonctionnement, peu d’investissements de départ et un minimum de contraintes sur son SI existant.
Aujourd’hui, une architecture SOA[[Pour les puristes il s’agit plus d’un mix entre de l’ASP (application Service Provider) et de l' »InSP » (!) : Infrastructure Service Provider (désolé pour le néologisme…) – gardons SOA pour la suite, de toute façon personne n’arrive à se mettre d’accord sur une définition satisfaisante]] mise en oeuvre à travers internet et utilisant des services distants du marché offre de bonnes opportunités pour répondre à cette problématique, du moins quand le coût de mise en oeuvre est un point bloquant (PME, PMI).
Le SOA à travers internet
On assiste aujourd’hui à l’émergence de nouvelles solutions pouvant répondre à cette problématique. L’idée de base, elle aussi peu nouvelle, est de mutualiser des besoins communs vers des acteurs spécialisés. La nouveauté réside dans la fiabilité et le débit des connections internet. Tous ces services sont en effet proposés à travers le réseau des réseaux de manière complètement déconcentrée. Ils proposent tous un ensemble d’API permettant une intégration aisée (à base de web services) à votre SI, vous liant de la manière la plus faible possible à eux.
Si on prend l’exemple d’Amazon S3, pour environ 1,5 $ US vous pouvez écrire, stocker et lire un Go de données sur une plateforme sécurisée annonçant 99,9 % de disponibilité ! Il faudrait être fou pour développer et héberger soi-même ce service !
Achetez (ou utilisez) donc votre SAN chez Amazon S3, votre geolocalisation chez Google, la gestion de votre bibliothèque de photos chez Flickr, votre service de paiement chez Paypal, le suivi des embouteillages afin d’optimiser le traffic de votre flotte de poid lourd chez Yahoo !, et poussez vos contenus sur des mobiles en utilisant 411sync.
(voir une liste assez complète|API dashboard sur programmableweb.com de ces APIs). De quoi enfin vraiment passer à cette architecture SOA dont les consultants nous rebattent les oreilles depuis plusieurs années !
Bien sûr, charge à vous de développer les connecteurs à votre SI – pas de bus d’intégration etc. – mais dans bien des cas cette option reste intéressante, surtout pour une petite structure émergente ou pour valider des concepts ou besoins.
Quelles précautions prendre ?
Ces solutions présentent un intérêt évident, notamment pour le démarrage des projets. Il faut toutefois se poser un ensemble de questions préliminaires importantes :
– quelle est la viabilité de ces services dans le temps ?
– quelle est la sécurité des données que je confie à ces services ?
– quelle qualité puis-je attendre ? Cette qualité sera-t-elle durable ? (certains de ces services sont souvent d’abord destinés aux particuliers, peuvent-ils satisfaire les entreprises ?)
– a partir de quand est il plus intéressant économiquement et industriellement d’investir dans ma propre infrastructure ?
Il faut notamment faire le plus attention possible aux conditions d’utilisation de ces services (par exemple, celles d’Amazon S3 sont ultra-protectrices vis à vis du fournisseur de service). Enfin, l’immense majorité de ces services sont conçus, au départ, pour l’utilisateur amateur et non pour l’entreprise ; pour laquelle des produits beaucoup plus chers sont proposés (par exemple : l’API du moteur de recherche Google et le prêt à l’emploi Google mini, l’offre entreprise étant clairement située sur Google mini) !
Toutes ces questions méritent bien sur d’être étudiées le plus finement possible.