Les services en nuage

Rob Fullerton

Rob Fullerton est en fonction depuis dix ans à CBC/Radio-Canada au sein du groupe des services en ligne/numériques. Il a occupé plusieurs postes, dont ceux d’administrateur de bases de données, d’administrateur de systèmes, de chef d’équipe, Développement, de chef, Service de souscription, de chef de projet, et son poste actuel de chef de produits, Plateformes. Son équipe gère la plateforme d’outils qui servent à publier du contenu et à le diffuser à l’auditoire par l’entremise de CBC.ca.

Introduction

Le concept de « nuage », dans le domaine de l’informatique d’entreprise ou personnelle, est un sujet qui alimente les discussions dans les milieux technologiques. Comme bien des sujets populaires, il est souvent mentionné, mais rarement bien compris. Le but de cet article est d’aider à expliquer ce qu’est le « nuage » (p. ex. dans les expressions informatique en nuage et services en nuage) et pourquoi c’est un concept important à comprendre. Cet article ne vise pas à déterminer si les services en nuage sont bons ou mauvais de façon générale ou pour CBC/Radio-Canada, ni à faire des recommandations particulières.

Qu’est-ce que le « nuage » ?

Comme bien des concepts généraux, le « nuage » (ou, plus précisément, l’informatique en nuage) fait l’objet d’une définition de base sur le site Wikipédia :

« L’informatique en nuage est une informatique offerte en tant que service plutôt qu’en tant que produit, dans laquelle des ressources, des logiciels et de l’information partagés sont fournis aux ordinateurs et autres appareils sous forme d’un service général (comme le service public d’électricité) par l’intermédiaire d’un réseau (généralement Internet). »

Cette définition est forcément vague, car si l’on cherche à savoir ce que signifie précisément l’informatique en nuage, et quels sont ses avantages et ses inconvénients, on se trouve face à de nombreuses définitions divergentes.

Dans cet article, nous utilisons le terme « informatique en nuage » pour désigner les applications techniques du concept, et le terme « services en nuage » pour désigner à la fois les applications techniques et leurs activités de soutien connexes.

Brève rétrospective

Pour tenter d’y voir clair, commençons par un rapide retour sur l’évolution de l’informatique. Les ordinateurs centraux des décennies passées étaient essentiellement de gros systèmes auxquels accédaient des terminaux éloignés par l’intermédiaire d’un type quelconque de réseau. Dans les décennies qui ont précédé, c’était une configuration nécessaire pour une raison bien simple : l’informatique coûtait extrêmement cher et les besoins matériels des ordinateurs étaient massifs. Et comme les données gérées par les terminaux étaient généralement du texte, la capacité des réseaux de l’époque suffisait aux besoins de transfert. Il était donc logique de centraliser les éléments coûteux du système (processeurs, mémoire vive, stockage, climatisation, personnel de maintenance) à un même endroit, tout en gardant l’équipement terminal le plus « léger » possible. L’autre énorme avantage d’une telle configuration est que les ressources de calcul sont partagées entre de nombreux utilisateurs, ce qui réduit la probabilité qu’elles restent inactives à un moment donné.

Au fil du temps, la puissance de traitement a vu son coût diminuer de façon exponentielle, en même temps qu’elle devenait plus accessible. Les besoins des utilisateurs, parallèlement, sont devenus exponentiellement plus complexes et exigeants. De plus, le traitement n’était plus axé sur le texte, mais sur de volumineux contenus numériques (données d’applications, audio, vidéo, etc.) dépassant les capacités des réseaux. La convergence de ces tendances a favorisé, du point de vue économique, la solution consistant à accroître les ressources de traitement au poste même de l’utilisateur. Résultat : le terminal « client léger » a cédé la place à un « client lourd » ayant des capacités qui, auparavant, demeuraient l’apanage des puissants systèmes centraux.

Informatique à la demande

Depuis environ dix ans, la tendance ci-dessus s’est cependant inversée, pour diverses raisons. D’abord, l’explosion d’Internet comme plateforme universelle, avec son mode d’accès par navigateur (un système à client léger, par définition), a ramené à l’avant-scène l’idée d’accéder à distance aux données et aux fonctionnalités. Nous présentons plus loin divers exemples, mais pour l’instant, pensons aux services de courriel Web pour illustrer le concept. Les coûts, de toute évidence, constituent l’autre facteur crucial. Si, dans les beaux jours des gros ordinateurs centraux (encore utilisés dans certains créneaux), la technologie des ressources informatiques était coûteuse, aujourd’hui, c’est la gestion des ressources informatiques qui coûte cher.

La présence de clients lourds dispersés à l’échelle d’un groupe d’utilisateurs (que ce soit à l’intérieur d’une entreprise ou parmi un auditoire public) complique considérablement le soutien. Contrairement à ce qu’on observe dans les systèmes centralisés, les configurations sont souvent disparates, ce qui rend le dépannage ardu; les interventions physiques de soutien des systèmes sont plus difficiles, et parfois impossibles. La popularité croissante de nouveaux types de clients mobiles (téléphones intelligents, tablettes, etc.) accroît prodigieusement le coût et la complexité des services de soutien.

En même temps, la technologie a évolué au point où les ressources informatiques (traitement, réseautage, stockage, applications, etc.) peuvent être attribuées à un utilisateur ou à une entreprise, par l’intermédiaire d’un réseau, pratiquement en temps réel. Ces possibilités ont fait naître le modèle d’une informatique offerte en tant que service, à la demande . On compare souvent ce modèle à celui des services publics, dans lequel les demandes fractionnelles des clients sont gérées en fonction d’un ensemble de ressources physiques comme l’électricité ou le gaz, suivant l’approche de l’« équilibrage de charge ». Le concept de services informatiques à la demande sera examiné en détail plus loin.

Catégories de services en nuage

Comme il est également mentionné à la page Wikipédia initiale(site disponible uniquement en anglais), l’informatique en nuage peut être examinée selon différents paradigmes. L’utilité de chacun dépend du contexte dans lequel il est mis en œuvre.

Paradigme fondé sur les services

Dans ce paradigme, les types de services en nuage sont classés selon les niveaux de technologie qui sont gérés par « d’autres ». La source des services peut être un tiers fournisseur, un groupe interne de l’entreprise, ou les deux à la fois (voir plus loin la section « Paradigme fondé sur le déploiement »). Pour comprendre plus facilement ce dont il s’agit, examinons la figure 1 (version originale du graphique disponible uniquement en anglais).

Voici une brève explication des éléments qui figurent dans chacune des colonnes :

  • Applications : outils construits sur les plateformes décrites ci-dessous et utilisant ou produisant des données pour un besoin particulier. Il peut s’agir tout aussi bien d’un client de courriel GroupWise que d’un logiciel de serveur de base de données, de Microsoft Word ou d’un logiciel de contrôle du trafic aérien.
  • Données : éléments d’information que traitent les applications (documents, données audio ou vidéo, tableaux de bases de données, courriels, fichiers journaux, etc.).
  • Exécution (environnement d’) : autre niveau de plateforme logicielle permettant la création et l’exécution d’applications fondées sur des normes (p. ex. Sun Java et Microsoft .NET).
  • Intergiciel : logiciel assurant l’échange d’information entre d’autres formes de logiciels. Un exemple courant est celui d’un connecteur de base de données, qui permet aux applications de se connecter de façon transparente à n’importe quelle base de données.
  • Système d’exploitation (SE) : plateforme logicielle sur laquelle tournent l’intergiciel, l’environnement d’exécution et les applications (p. ex. Microsoft Windows, Unix, iOS).
  • Virtualisation : environnement matériel et logiciel permettant l’attribution dynamique de serveurs, d’espace de stockage et de ressources réseau.
  • Serveurs : matériel physique assurant le traitement informatique.
  • Stockage : espace où les données sont réellement stockées (p. ex. baies de disques durs).
  • Réseautage : ressources assurant la transmission (câbles ou émetteurs/récepteurs) et équipement de routage connexe permettant le transfert de données entre ordinateurs.

Il importe de souligner que la répartition des éléments dans les colonnes de la figure 1 peut prêter à interprétation. Diverses technologies amalgament plusieurs niveaux. Les catégories d’offres de services en nuage peuvent également être imprécises, car de nombreux fournisseurs proposent des gammes de services ne respectant pas le classement ci-dessus. Néanmoins, la représentation est suffisante pour les fins de notre explication.

Infrastructure-service (IaaS, « Infrastructure as a Service »)

L’infrastructure-service est une offre qui s’adresse à ceux qui savent comment configurer la partie logicielle de la colonne des fonctions, mais ne souhaitent pas gérer le matériel. Si ce genre de service est obtenu auprès d’un fournisseur externe, il est habituellement facturé à l’utilisation (c.-à-d. en fonction des cycles machine, de l’espace de stockage consommé, de la capacité de réseau utilisée, etc.).

Ce modèle est attrayant pour ceux qui craignent les investissements requis par l’achat de matériel ou les frais d’exploitation (y compris le personnel) liés au maintien d’une installation physique. Selon les services et les prix, l’architecture à implanter peut également être beaucoup plus complexe que ce qu’une personne ou une entreprise peut réaliser d’elle-même sur le plan de la sécurité, de la redondance, etc. Enfin, certains allèguent que c’est une solution favorable à l’environnement, car elle permet d’éliminer des centres de données sous-utilisés. Cette allégation n’est pas encore démontrée, car la preuve dépend d’éléments connexes comme l’origine de l’électricité alimentant l’installation du fournisseur d’infrastructure-service, son degré d’efficacité énergétique, etc.

Les inconvénients concernent principalement le niveau d’intégration et de confort. Les fournisseurs d’infrastructure-service se réservent généralement le droit de répartir les ressources selon les besoins de leur propre processus d’équilibrage de charge. Autrement dit, un client ne saura pas nécessairement où ses données et ses applications sont physiquement situées (parfois, même le pays qui les héberge peut demeurer inconnu). Les modalités du service peuvent également exiger des processus plus complexes d’accès aux logiciels et aux données que si l’accès se faisait dans un environnement local relevant entièrement du client.

L’exemple le plus connu d’une entreprise offrant une infrastructure-service pure est Rackspace (site disponible uniquement en anglais). Parmi les autres fournisseurs offrant des services de stockage, notons Amazon Web Services , Akamai (site disponible uniquement en anglais) et Microsoft Windows Azure (stockage).

Plateforme-service (PaaS, « Platform as a Service »)

La plateforme-service est le niveau suivant d’offre de services en nuage. Comme l’indique la figure ci-dessus, il s’agit d’une offre allant au-delà de l’infrastructure-service, dans laquelle de nouveaux éléments sont ajoutés. Dans certains cas, la plateforme-service est facturée exactement comme l’infrastructure-service, avec des frais additionnels pour les éléments qui lui sont propres. Dans d’autres cas, les frais sont regroupés et la fraction propre à la plateforme-service est « cachée ».

Les avantages de la plateforme-service comprennent ceux mentionnés plus haut pour l’infrastructure-service, auxquels s’ajoute une réduction ou une élimination de la maintenance du système d’exploitation et de la plateforme logicielle. Les services comprennent, par exemple, l’application des correctifs de système d’exploitation (SE), la sécurité (renforcement) et certains ajustements de performance. Certaines de ces tâches exigent des connaissances spécialisées, certaines sont très mécaniques, et certaines ont les deux caractéristiques. Pour de nombreuses entreprises, c’est une bonne solution d’obtenir ces services de tiers plutôt que de maintenir une équipe pour les assurer.

Un désavantage possible est que les clients doivent évoluer au rythme du fournisseur en ce qui touche les modifications de la plateforme (il se peut, par exemple, que le client ne puisse dicter entièrement la configuration et l’application des correctifs visant le système d’exploitation et les logiciels). Autre inconvénient, il n’existe pas encore de normalisation entre les fournisseurs de plateforme-service, de sorte que les applications et les données configurées pour un fournisseur pourraient ne pas être facilement transférables à un autre fournisseur.

Au nombre des fournisseurs de plateforme-service connus figurent Amazon Elastic Cloud Compute (EC2) , Google App Engine et Microsoft Windows Azure (calcul) .

Logiciel-service (SaaS, « Software as a Service »)

Le niveau de services en nuage de loin le plus diversifié est celui du logiciel-service. Dans ce cas, le fournisseur s’occupe de la colonne de fonctions au complet, y compris les applications et le stockage et la récupération des données. L’accès se fait souvent par un navigateur Web, mais il peut aussi reposer sur une application exclusive de client léger. La facturation du logiciel-service peut comprendre les éléments mentionnés plus haut pour les autres catégories avec, en plus, des droits de licence de logiciels. Dans certains cas, toutefois, les applications associées à l’offre de logiciel-service sont fournies sans frais (habituellement avec l’inclusion d’annonces).

Bien qu’une configuration propre au client puisse être nécessaire, l’avantage évident du logiciel-service est que le client peut se concentrer sur l’utilisation des applications plutôt que d’assurer lui-même la maintenance de ces outils (ou de leurs technologies sous-jacentes). Si un client est dépourvu de ressources en génie logiciel et en développement, les fournisseurs de logiciel-service peuvent lui donner accès à des marchés auparavant inaccessibles. Puisque les fournisseurs, en général, sont davantage axés sur le développement des produits, ils peuvent réagir plus vite à l’évolution du marché. De plus, comme l’accès se fait par un client léger, les utilisateurs des applications de logiciel-service profiteront toujours de la version la plus récente.

Aux inconvénients de l’infrastructure-service et de la plateforme service mentionnés plus haut s’ajoute, dans le cas du logiciel-service, l’aspect lié à la perte de contrôle. Cet aspect touche principalement la gestion des applications car, dans une large mesure, les clients du logiciel-service sont tributaires des fournisseurs pour ce qui est de l’introduction des fonctions et de la stratégie de produits en général. Par ailleurs, des sections du marché des fournisseurs de logiciel-service sont relativement volatiles, avec de fréquentes entrées et disparitions de fournisseurs, et des acquisitions par de grandes entreprises ayant leurs propres objectifs stratégiques.

Le marché des services en ligne compte aujourd’hui des milliers de fournisseurs de logiciel-service. En voici quelques-uns parmi les plus connus :

De plus, des entreprises comme Amazon Web Services (AWS) offrent des versions « logiciel-service » d’applications d’entreprise d’Oracle, de Microsoft, de SAP et d’autres éditeurs .

Paradigme fondé sur le déploiement

L’autre façon courante de décrire l’informatique en nuage est de se fonder sur son architecture de déploiement. C’est une approche utile, car l’architecture intervient dans de multiples aspects du système, p. ex. les contrats de service, les coûts, et peut-être aussi les économies d’échelle, les exigences de sécurité, etc.

Nuage public

Un nuage public est un environnement qui se situe en entier à distance et auquel on accède par Internet. Les ressources d’un nuage public sont accessibles et partagées dans l’espace public, bien que des frais puissent s’appliquer aux services. Les offres de logiciel-service de Google sont un bon exemple de services de nuage public. L’entente sur la qualité du service (EQS) des services offerts par un nuage public est également partagée, bien que des seuils standard de qualité puissent être offerts.

Nuage privé

Un nuage privé est déployé et tenu à jour pour un client unique. Il peut être physiquement situé n’importe où (dans le réseau privé d’une entreprise ou sur le réseau Internet public), mais l’accès aux ressources est restreint. Ce contexte offre une sécurité sensiblement plus stricte qu’un nuage public, et le service peut être taillé sur mesure pour le client. Parfois, les fournisseurs de services en nuage public offrent des composantes privées, de sorte qu’une partie de leur nuage est séparée et réservée à l’usage exclusif d’un unique client.

Indépendamment des détails de mise en œuvre, les économies d’échelle peuvent être perdues dans ce modèle, si le client n’utilise pas entièrement les ressources du nuage 24 heures sur 24.

Autres modèles

Il existe d’autres modèles qui conjuguent des aspects des nuages privés et des nuages publics. Par exemple, des groupes de clients ayant des besoins techniques semblables peuvent obtenir ou mettre en place un nuage partagé ou « communautaire », tirant ainsi avantage du partage de ressources tout en profitant d’une configuration plus sécurisée et plus ajustable que celles offertes par les nuages publics. Pour plus de détails sur ces variantes, voir la publication « The NIST Definition of Cloud Computing » . (PDF disponible uniquement en anglais)

CBC/Radio-Canada et les services en nuage

CBC/Radio-Canada a mis en œuvre plusieurs systèmes pouvant être considérés comme des environnements en nuage. Certains sont internes et ont comme objectif de centraliser le soutien, tandis que d’autres sont des formes plus standard d’environnements en nuage obtenus auprès de fournisseurs de services en ligne.

RCNG

Le Réseau convergent de nouvelle génération récemment déployé par CBC/Radio-Canada est un investissement majeur fondé sur l’utilisation d’un nuage privé. Il s’agit d’un réseau extrêmement robuste reliant les divers centres de CBC/Radio-Canda pour permettre une transmission rapide et fiable de tous les types de données numériques, y compris des contenus audio et vidéo non compressés si nécessaire. De plus, la transmission de données peut être priorisée en fonction des besoins opérationnels (p. ex., selon qu’il s’agit ou non de données critiques pour la radiodiffusion). Cette technologie est le fondement de certaines autres mentionnées ci-dessous, et comblera les besoins de CBC/Radio-Canada pendant de nombreuses années.

Citrix

Citrix est un système qui est maintenant largement utilisé pour accéder à distance à diverses applications de radiodiffusion par l’intermédiaire d’un client léger. Ces applications comprennent ScheduAll (Schedulink), On Air et iNews. La clientèle de Citrix à CBC/Radio-Canada compte plus de deux mille utilisateurs et continue de croître.

Médias sociaux et distributon numérique

Les environnements en ligne reposent fortement sur les services en nuage. L’avantage tient en grande partie à la possibilité de s’adapter rapidement à l’évolution du marché. C’est ce qu’offrent par exemple les divers fournisseurs de médias sociaux auxquels CBC/Radio-Canada est associée. Mentionnons Demand Media , FileMobile , Transcontinental (les sites sont disponibles uniquement en anglais) et plusieurs autres fournisseurs de solutions de logiciel-service qui mettent en œuvre la plateforme de médias sociaux de CBC/Radio-Canada. D’autres fournisseurs comme Triton Digital et Akamai offrent plutôt une infrastructure-service, pour la livraison évolutive de contenu web audio et vidéo à l’auditoire.

En conclusion

Les lignes de force décrites au début de cet article ne semblent pas vouloir se dissiper. La technologie de calcul demeure relativement peu coûteuse, mais la gestion des ressources informatiques devient de plus en plus complexe et, par conséquent, plus coûteuse. En réponse à ces tendances, le développement de la technologie (et des processus et normes connexes) soutenant les services en nuage devrait normalement se poursuivre et s’accélérer.

Tout porte à croire que les services en nuage seront une stratégie opérationnelle et technologique de plus en plus attrayante. Le choix du modèle à utiliser (infrastructure-service, plateforme-service, logiciel-service, public/privé) restera une décision prise cas par cas, selon la tolérance au risque et le coût de l’initiative particulière envisagée.

Avec la mise en œuvre du RCNG, les applications actuelles déployées en nuage privé dans le secteur de la radiodiffusion et le vaste recours à des fournisseurs de logiciel-service pour les expériences en ligne et mobiles offertes à l’auditoire, CBC/Radio-Canada est bien positionnée pour continuer à prendre de bonnes décisions dans le domaine des services en nuage.

Outil de soulignement de texte