Rédigé par Randy Jones, directeur principal, Innovation technologique
Ensemble, l’infonuagique et la facilité avec laquelle on se connecte à Internet partout dans le monde ont rendu les marchés étrangers plus accessibles, notamment à un nouveau genre de développeurs, ceux qui élaborent des logiciels en tant que service (SaaS). Ceux qui réussissent connaîtront une expansion rapide, cependant, s’ils sont mal gérés, les services d’infonuagique qui ont facilité une telle croissance pourraient également écraser l’entreprise. C’est ce que j’appelle « être piégé dans le nuage ».
Pourquoi piégé?
Cette situation résulte de la tension qui existe entre les services payés à l’acte et la nécessité d’automatiser le code pour contrôler les ressources utilisées. Les développeurs de SaaS peuvent en effet se retrouver coincés entre deux situations difficiles :
- sans automatisation – fort risque d’une facture exorbitante (attribuable aux frais d’utilisation élevés) assorti de piètres possibilités au niveau de la mise à l’échelle;
- avec automatisation – asservi aux fonctionnalités, aux API et au barème de prix du fournisseur d’infrastructure en tant que service (IaaS) retenu.
Aucun de ces deux scénarios n’est propice à un essor durable et prolongé de l’entreprise.
Sans automatisation, on doit se procurer les ressources en nuage de façon statique, selon le trafic prévu, souvent une inconnue. À raison de 20 $ mensuellement par instance, l’inutilisation de cinq instances représente une perte mensuelle d’environ 100 $. Les frais d’utilisation associés au stockage et à l’usage de la bande passante engendrent encore plus d’incertitude. Songez à un service en vertu duquel l’utilisateur pourrait téléverser et partager librement du contenu lourd (images, fichiers audio ou vidéo). Le développeur exploitant un tel service sera peut-être estomaqué de recevoir une facture de 900,30 $ consécutivement au transfert de 10 Go de données effectué mille fois. Pareille chose pourrait se produire, car il en coûte généralement trois cents par mois pour stocker chaque gigaoctet de données en sus du quota initial et neuf cents par transfert hors du nuage. L’automatisation est une des rares solutions auxquelles le développeur peut recourir pour contrôler de tels coûts tout en agrandissant son entreprise.
Automatiser est indispensable si l’on veut exploiter les ressources du nuage avec un maximum d’élasticité. Toutefois, automatiser le développement de logiciels n’est pas une mince affaire. Il faut bien comprendre le comportement d’un SaaS en fonction de la demande dont il est l’objet. Ainsi, il est capital de saisir comment les ressources (opérations de calcul, stockage, utilisation du réseau) sont exploitées en fonction du trafic offert. Le développeur doit aussi comprendre comment les frais sont facturés d’après les ressources du nuage qu’il utilise. La chose est souvent plus complexe qu’il n’y paraît de prime abord, et déterminer ces coûts avec certitude n’est pas aisé. Au bout du compte, l’automatisation suppose un important investissement.
L’automatisation est étroitement associée aux protocoles et aux modèles d’information des API employées par le fournisseur d’IaaS pour surveiller l’exploitation de ses ressources. Malheureusement, les fournisseurs de services d’infonuagique les plus populaires recourent rarement à des API normalisées, faciles à obtenir. Par définition, les systèmes de gestion de nuage IaaS de source ouverte tel OpenStack promettent l’implantation d’une API normalisée, mais tant que cette norme n’aura pas été adoptée par les fournisseurs d’IaaS, les développeurs contraints de modifier leurs codes d’automatisation chaque fois qu’ils changent de fournisseur en paieront le coût.
L’immobilisation et sa problématique actuelle
Le marché des IaaS traverse actuellement la phase classique de la tornade. Rares sont les développeurs qui envisagent maintenant autre chose que les solutions en nuage pour leurs nouveaux produits et, pour profiter de cette demande, de nouveaux venus mêlent les logiciels de gestion de nuage de source ouverte comme OpenStack à de l’équipement économique, histoire de proposer de nouveaux et intéressants services IaaS. Résultat? La concurrence fait rapidement baisser les coûts.
Le coût des services IaaS diminue rapidement et il pourrait encore le faire beaucoup. Au moment où j’écris ceci, un serveur Web hébergé sur une petite instance offerte sur une IaaS coûte environ cinq à dix fois plus que l’exploitation du même serveur hébergé par un fournisseur commercial d’hébergement Web. Les coûts des fournisseurs d’IaaS et de services commerciaux d’hébergement étant régis par les mêmes impératifs, on peut s’attendre à ce que le coût des services IaaS baisse fortement au cours de l’année ou des deux années qui viennent. Le développeur qui lie son SaaS à un fournisseur d’IaaS un peu lent pourrait être plombé par un sérieux désavantage concurrentiel.
S’affranchir du nuage
Pour ne pas se retrouver coincés, les développeurs doivent échafauder des plans qui leur éviteront de dépendre d’un nuage. L’indépendance signifie pouvoir héberger son SaaS chez l’un ou l’autre fournisseur aux frais de commutation raisonnables sans que les services en soient trop perturbés. S’affranchir du nuage exige un amalgame de pratiques techniques et commerciales :
- minimiser sa dépendance aux fonctionnalités particulières d’une plateforme en tant que service (PaaS);
- atteindre et maintenir la portabilité du code de l’application;
- automatiser la synchronisation des images entre les services d’infonuagique;
- automatiser les méthodes qui feront migrer les données d’un nuage à l’autre;
- fonder autant que possible l’automatisation sur des nuages recourant à un jeu commun de plateformes et d’API;
- profiler la consommation des ressources en regard du trafic;
- répertorier les fournisseurs de services d’infonuagique qui épousent les exigences techniques et financières du développeur;
- saisir ce qui distingue les API de différents services d’infonuagique.
Certes, la liste est longue et assortie de coûts sensibles, compte tenu du cycle de vie. Cependant, lorsqu’on propose un SaaS susceptible d’intéresser une large foule, l’utilité d’un tel travail, même s’il n’est effectué qu’en partie, devient un argument de poids. Les développeurs pourraient aussi envisager recourir à un courtier en infonuagique (CI) pour les aider à s’affranchir du nuage. À l’instar des courtiers d’autres secteurs de l’économie (les assurances, par exemple), le CI propose une gamme de services choisis de manière impartiale contre honoraires. Un CI spécialisé dans les IaaS prendra en charge quelques-unes des pratiques les plus onéreuses parmi celles mentionnées ci-dessus, comme suit :
- en présentant les fournisseurs d’infonuagique avec qui il traite, sélectionnés sur la base de leurs politiques et de l’usage d’une même API;
- en regroupant la surveillance de l’utilisation des ressources;
- en maintenant des liens d’accomplissement et de règlement avec les fournisseurs de services d’infonuagique.
Les CI font-ils partie de l’infrastructure numérique canadienne?
Les consommateurs de services d’infonuagique se rendent compte de plus en plus clairement qu’ils n’est pas bon de s’asservir à un nuage. Si les CI semblent promettre une amélioration sur ce plan, il est encore trop tôt pour se prononcer sur leur utilité et leur disponibilité.
Face à l’adoption générale des services d’infonuagique publics et privés dans l’économie numérique, il est facile d’imaginer un avenir où les CI feront partie intégrante de l’infrastructure numérique. La concrétisation d’un tel avenir dépendra de nombreux facteurs, notamment le degré de consolidation et d’uniformisation des services commerciaux d’infonuagique, ainsi que l’évolution des liens complexes qui unissent les intervenants dans les nuages privés employés pour la recherche, l’éducation et l’administration publique.
Faut-il s’affranchir des nuages? Que penser des courtiers en infonuagique? Quelle est votre expérience en la matière? Parlez-en à Randy en lui écrivant à [email protected].