Par François Jolain.
L’informatique est sortie de la centralisation pour plus de résilience
Dans les années 2010, le web changea drastiquement. On se mit à concevoir de véritables logiciels accessibles depuis le navigateur. Des plateformes de plus en plus compliquées à développer et à déployer en datacenter. Des plateformes de plus en plus fragiles par leur taille et critiques par leurs usages.
De ces problématiques naquit le microservice, une architecture logicielle qui n’a rien à envier aux théories libérales.
Décentraliser les logiciels
La source de ces problèmes était la centralisation. Les sites étaient d’un seul tenant hébergés sur un seul serveur. Le moindre aléa sur le serveur ou bug dans le code et tout le site devenait hors service, comme les 3,6 millions de sites chez OVH. On décida donc de découper le logiciel en partie indépendant, appelé microservices.
Par exemple, un site marchand d’un seul bloc se retrouve découpé en micro plateformes indépendantes. Un microservice qui gère le catalogue, un qui gère le panier utilisateur, un qui gère le paiement, un qui gère le suivit de la commande, etc.
Aucun microservice est immuable, il s’en crée et détruit à chaque instant en fonction de la demande et des aléas. La plateforme est flexible, elle s’étend sur plusieurs datacenters et évolue constamment au grès des aléas. Ainsi, la plateforme Netflix, pionner dans ce domaine est composée de 1000 microservices.
Netflix a même érigé la résilience en art. Les ingénieurs ont conçu un chaos monkey, un programme fou qui fait exprès de débrancher des serveurs ou de supprimer des données en condition réelle pour être certain que la plateforme est bien résiliente.
Redonner plus d’autonomie aux parties
Ce fut déjà une révolution, mais un verrou freinait encore la résilience. Les microservices envoyaient des ordres aux autres microservices, créant une chaîne de commandement trop rigide face aux aléas. La solution fut de ne plus envoyer des ordres, mais des évènements.
Avec un ordre, chaque microservice doit avoir un plan global de la plateforme pour savoir qui doit recevoir l’ordre, et savoir que faire si l’ordre n’est pas exécuté correctement. Un évènement évite les problèmes, vous le propagez à toute la plateforme, chaque microservice décide ce qu’il en fait.
Ce principe par évènement ou signal est très présent autour de nous. La nature n’appelle pas les arbres un par un pour ordonner la floraison. Elle fait monter la température et l’ensoleillement. Chaque arbre réagit à ces évènements selon ses caractéristiques. Il n’y a que les humains pour affectionner les systèmes hiérarchiques top-bottom…
Chaque microservice devient autonome, il est maître de son domaine et réagit aux signaux externes. LinkedIn, première plateforme à migrer totalement vers ce type de communication traite aujourd’hui 7 billions de messages par jour échangés entre ses microservices.
Netflix, Amazon, Facebook ou Google, toutes les plus grosses plateformes sont composées de milliers de microservices : agents autonomes réagissant à des signaux externes et envoyant à leur tour d’autres signaux. Le tout s’étalant sur plusieurs datacenters et se réarrangeant au grès des aléas et de la demande. Les théories libérales appliquées à l’informatique.
Pour sécuriser ces gigantesques sites à mon sens il faut 2 copies à minima et ce, ni sur les mêmes serveurs ni dans les mêmes clouds ? Avec peut-être 2 blockchains pour lier tout ça ?
Un peu court comme architecture !!!
Bref, on savait faire déjà il y a quelques années et le cloud n’est qu’un élément supplémentaire mais il ne change rien aux fondamentaux qui régissent une architecture sécurisée avec une sûreté de fonctionnement proche de 99.999%.
“on savait faire déjà il y a quelques années …”
On n’a pas attendu les “bus logiciel” pour faire de la sécurité informatique.
Il y a 40 ans, on savait déjà que l’on devait entreposer les sauvegardes sur un site éloigné et au moindre problème les dalles de “plancher informatique” “volaient” quand les systèmes de détection et d’extinction (placés sous le plancher) inondaient la sale de gaz inerte avant même que quiconque ait pu sentir une odeur de fumée. (Et chacun – prévenu par l’alarme – évacuait au pas de course la salle qui aurait asphictié les humains encore plus surement que l’incendie). (J’ai vu ça au moins 3 fois, et à chaque fois il a fallu plusieurs jours pour trouver ce qui avait cramé).
N’y a-t’il pas une faille de sécurité dans le cas présent et n’a t’on pas survendu le “nuage” ?
Quand on paye 3€ mensuellement on en a pour son argent donc on perd ses données en cas de soucis.
En revanche quand on paye les options pour la sécurité et la sauvegarde et autres redondances de données alors on récupère son site dans les heures qui suivent…..
C’est ainsi que le capitalisme fonctionne on appâte puis une fois ferré on fourgue les options à valeur ajoutée…
Mwais, vous oubliez le cas Microsoft…
Ca fais 40 ans qu’ils nous pourrissent la vie en nous vendant hors de prix un système d’exploitation pourri pour remplacer un autre tout aussi pourri…
Et pourtant , ils sont encore la…. Le libéralisme ne marche pas toujours…
Il est parfaitement faux de dire que l’informatique a été décentralisée depuis 2010…l’essentiel des sites web de la planète tournent sur des machines hébergées dans les datacenters d’Amazon, Microsoft et Google ainsi que dans ceux d’un petit nombre de “pure players” dont OVH fait partie. Le web actuel n’a jamais été aussi centralisé. Regardez ce qui s’est passé avec la suppression pure et simple du réseau social Parler qui commençait à beaucoup génrer la nomenklatura de la valley…ce réseau social était celui qui enregistrait la plus forte croissance et commençait à tailler des croupières à d’autres réseaux plus établis.
Ensuite, les microservices, c’est bien, mais la décentralisation la plus absolue c’est mieux. Regardez ce qui se fait avec IPFS, Holochain et quelques autres projets. Idéalement et en poussant le concept de conteneur à fond, il faudrait que chaque navigateur embarque sa propre enclave sécurisée permettant d’héberger un sous ensemble de contenu appartenant à divers site web…chaque utilisateur étant rémunéré, à la manière de ce qu’on retrouve sur les blockchains type ethereum (notion de gas dans les contrats intelligents que propose cette blockchain).