Par Thibaut Rouffineau, Vice Président Marketing de Canonical
Depuis longtemps, les développeurs utilisent Linux pour créer des appareils intelligents pour la maison, les usines, les bâtiments, les villes, les véhicules, etc. La tendance majeure de ces déploiements edge, est qu’ils demandent toujours plus de puissance de calcul pour faire marcher des applications toujours plus intelligentes et critiques; applications similaires a celles qui existent dans le cloud ou dans des infrastructures sur sites . Une distribution Linux conçue pour les périphériques embarqués mais capable d’exécuter des applications intelligentes exigeantes à grande échelle est donc nécessaire pour répondre aux nouveaux enjeux du Edge Computing. Avec la démocratisation des SOC, les appareils connectés ressemblent de plus en plus à des micro-serveurs embarqués sur des puces mobiles. Vue sous cet angle, une flotte d’appareils intelligents se rapproche ainsi d’une architecture informatique distribuée. À quoi devrait donc ressembler ce système Linux pour les appareils embarqués en périphérie des réseaux ? Probablement à une distribution Linux hybride combinant les caractéristiques d’un système embarqué, mobile, et serveur.
Les conteneurs et les machines virtuelles sont au cœur de l’approche cloud native qui booste la productivité des développeurs. Des gains de productivité similaires sont possibles en périphérie, grâce au découplage du matériel et des logiciels. Pourtant, les conteneurs et les machines virtuelles ne sont pas encore des VIP sur les systèmes Linux embarqués. Ce fossé peut toutefois être comblé car la plupart des SoC actuels peuvent prendre en charge les environnements d’exécution et les hyperviseurs de conteneurs. Le noyau Linux permette un ensemble d’options développées pour la virtualisation au niveau du système d’exploitation comme Snaps, Docker, LXC. L’utilisation de ces technologies est donc une avancée majeure pour le Edge sur Linux.
Les conteneurs isolent les charges de travail, et leurs sous-systèmes attenants, afin que les applications puissent s’exécuter indépendamment les unes des autres sur le même système. Cette modularisation du logiciel permet non seulement un développement plus rapide mais aussi des déploiements plus fréquents et moins risqués. Par ailleurs, la virtualisation minimise l’importance du matériel. Elle crée une abstraction entre le logiciel et le matériel et transfère plus de valeur ajoutée dans le logiciel. L’adoption de la virtualisation et de la conteneurisation dans un Linux spécialisé pour l’Edge permet donc le développement de plates-formes matérielles définies par logiciel et centrées sur les applications en périphérie de réseau.
Quid de l’optimisation du coût des opérations ? Tout d’abord, les opérations à distance semblent incontournables. Les systèmes IoT sont aujourd’hui tout aussi distribués que les ordinateurs de bureau et peuvent se situer dans des endroits difficilement accessibles (une tour cellulaire, une usine, etc.). Ils sont alors sujets à des réparations coûteuses et à de longues interruptions de fonctionnement. La gestion d’écosystème de flottes d’appareils IoT est plus complexe que d’autres types d’infrastructures informatiques. Là où les datacenters bénéficient en effet d’économies d’échelle grâce à la mise en commun des ressources, ce n’est pas le cas des flottes distribuées d’appareils IoT. Intervenir manuellement sur des appareils distribués peut coûter cher en raison de la main-d’œuvre et des temps d’interruption. Les opérateurs ont alors besoin de solutions de gestion avancées pour effectuer la maintenance des flottes d’objets connectés et l’automatisation de ces opérations est ainsi encore plus pertinente. Plus il y a d’appareils automatisés, plus le TCO est faible. Les mises à jour logicielles, les sauvegardes et les réparations automatiques sont nécessaires à l’automatisation.
Les différentes normes de communications Bluetooth, Wifi, GPRS, LTE et maintenant 5G permettent de piloter à distance des flottes distribuées d’appareils connectés. Bien que la mise en réseau augmente les risques de cybersécurité, ceux-ci sont raisonnablement limités et peuvent être adressés grâce à la mise en place de bonnes pratiques de sécurité informatique. Le problème aujourd’hui est que ces appareils pilotés à distance sont pour la plupart laissés sans surveillance et physiquement accessibles: des données sensibles peuvent alors en être extraites.
Un système Linux embarqué moderne doit donc fournir la confidentialité et l’inaltérabilité dès sa conception afin de diminuer ces risques de sécurité. Cela suppose des capacités de chiffrement intégrées des données, des disques et l’authentification logicielle. Ces fonctions de sécurité sont les nouveaux minimas requis pour la sécurité des terminaux connectés. GNU / Linux a accompagné avec succès chaque nouvelle vague de technologies informatiques et à en juger par leur rythme de croissance, la prochaine vague sera dominée par les appareils edge et IoT. Celle-ci confronte Linux à une nouvelle frontière, alliant le monde physique des systèmes embarqués au monde applicatif des systèmes serveurs / cloud . Le système Linux embarqué est à son avantage lorsqu’il est sécurisé, centré sur les applications et simple à utiliser à grande échelle. La sécurité est le moteur de la fiabilité. Une stratégie centrée sur les applications libère la productivité des développeurs et la simplicité d’utilisation stimule le TCO et le retour sur investissement.