Vous vous trompez à propos du cloud

Et si vous construisiez plutôt une aire de stockage ?

Le cloud, voila un chouette buzzword.

Mais concrètement, c'est quoi ?

Vous pensez qu'il s'agit de services accessibles par Internet permettant de louer :

  • des serveurs virtuels pour héberger ses applications ou ses bases de données (au lieux d'acheter des serveurs)

  • des espaces de stockage pour y placer ses fichiers, et y avoir accès de n'importe ou,

  • ou encore des outils en ligne, pour gérer sa prospection, ses factures ou sa comptabilité.

Et bien c'est bien plus que tout ça.

C'est un truc encore plus fort, qui réconcilie ceux qui gèrent l'informatique avec ceux qui l'utilisent.

IT vs utilisateurs.

La plupart des entreprises sont confrontées à un débat sans fin.

A droite du ring, les utilisateurs.

Ils veulent de nouveaux outils logiciels, développés par eux mêmes ou par des prestataires. Pas pour le plaisir d'avoir des trucs nouveaux, mais d'abord parce qu'ils en ont besoin pour être performants dans leur métier.

A gauche du ring, les services informatiques ou les infogérants lorsque c'est externalisé.

Ils gèrent mille et une applications différentes, et sont en première ligne lorsqu'elles buggent. Ils sont régulièrement questionnés sur leurs coûts de fonctionnement (toujours trop chers).

Selon les situations, les moyens, et l'historique, on observe 2 réponses possibles face à une nouvelle demande des utilisateurs :

  • "Non, ça suffit comme ça" (variante moins contestable : "non, pas faisable techniquement". Faux, tout est faisable). Le SI déborde de pleins de trucs sous-utilisés, pas la peine d'en rajouter. On doit pouvoir se de débrouiller avec ce qui est déjà disponible, à condition de bien vouloir adapter ses pratiques de travail.

  • "Utilisez des SaaS". Dans l'offre pléthorique des outils en ligne, il y a probablement ce qui vous convient. La gestion du SI se résumera alors au strict minimum : un laptop pour chaque employé, et une connexion Internet d'entreprise.

Aucune des 2 réponses n'est réellement satisfaisante.

En particulier, je constate que les SaaS suscitent des réserves auprès des entreprises qui grandissent car :

  • on arrive assez rapidement à une situation dans laquelle on doit jongler avec plusieurs outils qui ne dialoguent pas entre eux,

  • des questions émergent sur la maîtrise des données (vos données sensibles sont ailleurs. Mais ou ?),

  • on est un utilisateur parmi des milliers d'autres : le modèle économique des SaaS repose sur le principe d'un grand volume d'utilisateurs qui ont des besoins identiques,

  • la personnalisation des SaaS requiert des compétences spécifiques et coûteuses (consultants SalesForce, SharePoint p.ex).

Ainsi, on assiste à une éclosion de pleins de petits outils locaux développés sous Excel qui finissent par devenir le cauchemar :

  • des utilisateurs devenus trop nombreux (plantage des fichiers volumineux, mise à jour simultanée impossible, pertes de données),

  • ou du service informatique qui hérite d'un machin incompréhensible, in-maintenable mais que tout le monde utilise,

  • et souvent des deux.

C'est dommage, parce que le cloud apporte une alternative intéressante.

Construisez une aire de stockage.

Le cloud ajoute un niveau d'abstraction supplémentaire dans l'architecture informatique : les containers.

Parce que ce n'est pas le job d'un exploitant informatique de s'occuper des applications de l'entreprise.

Inutile de submerger ceux qui s'occupent de votre SI avec des détails de conception : le langage de développement, la technologie du serveur HTTP, ou la version du framework.

Demandez-leur plutôt de construire et de gérer une zone d'entreposage de containers.

Une zone sécurisée, avec des barbelés tout autour, et seulement 2 portes d'accès :

  • celle des utilisateurs (ports TCP 80 ou 443, http uniquement),

  • celles des développeurs (idem + ssh avec clé)

Dans cette zone de stockage, ajoutez des services communs sous la forme d'API accessibles à tous les containers entreposés :

  • authentification (un login et un mot de passe unique pour accéder aux services)

  • stockage de fichiers

  • envoi de mails

  • bus d'échange de données (pub/sub)

  • et peut-être l’accès aux API du logiciel métier historique (legacy)

Des limites de responsabilités claires = moins de friction.

Une fois cette infrastructure en place, il devient simple de confiner les applications métier dans des containers (on dirait une phrase issue d'un discours Covid, mais non, rien à voir).

La containerisation offre la possibilité de travailler avec davantage de flexibilité et à moindre coût, sans être dépendant d'un fournisseur unique.

A chaque livraison d'une nouvelle application ou d'une nouvelle version, votre SI reçoit un container qu'il place sur l'aire d'entreposage, sans regarder dans le détail ce qu'il contient. Il lui suffit de le passer au scanner, c'est à dire à une suite de tests attestant de la conformité du container à la politique de sécurité de l'entreprise.

Peu importe que le container utilise PHP6 ou nodeJS 12, Ruby on rails ou n'importe quoi d'autre.

Les opérations de sauvegarde ou de reprise d'activité sur un autre serveur sont facilitées : on sauvegarde régulièrement tout le container, et on le ré-instancie ailleurs si besoin. Le routage des requêtes vers les containers s'effectue via des noms de domaine internes à l’entreprise (monapplication.monentreprise.com).

La construction d'une aire d'entreposage n'impose pas d'avoir ses propres serveurs. Au contraire ! Il existe de nombreuses offres d'hébergement dans des data-centers qui accueilleront avec joie votre aire de stockage.

Cette démarche n'est pas réservée aux grosses structures.

Je connais de très petites entreprises qui louent leur aire de stockage chez OVH (ou Gandi), et en ont confié l'exploitation à un administrateur freelance qui facture une prestation de quelques heures par semaine.

Pourquoi ?

Parce que techniquement, c'est plus simple qu'il n'y paraît. Par exemple, j'ai une aire d'entreposage pour mes projets, constituée :

  • d'une machine virtuelle chez OVH (28€/mois) ...

  • ... sur laquelle j'ai installé Docker (0 €)

  • ... ainsi qu'un container faisant office de porte d'entrée. Il détecte automatiquement les containers entreposés dans la zone, et il se charge de leur router les requêtes. J'utilise nginx-proxy pour lancer ça en 1 ligne de commande (avec un coût de 0 €).

Le nuage c'est une bouffée d'oxygène.

Une fois cette aire de stockage en place, on sort du débat entre utilisateurs et exploitants.

Il devient possible d'utiliser plus facilement des outils open-source, souvent déjà prêts à l'emploi dans des conteneurs.

Mais il est aussi plus simple de créer des logiciels sur-mesure en faisant appel aux compétences spécifiques à chaque besoin.

On peut rapidement tester de nouvelles idées, mettre en place de nouveaux services, sans risque de perturber le reste du système et à moindre coût d'exploitation.

Et surtout : on garde la maîtrise de nos données.

Alors, envie d'essayer ?

Bonne semaine !

— Hervé