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. Ces outils, déployés aussi bien sur le edge que dans des infrastructures sur sites, demandent toujours plus de puissance de calcul pour faire marcher des applications toujours plus intelligentes et critiques. Une distribution Linux conçue pour les périphériques embarqués exécutant des applications intelligentes exigeantes à grande échelle est ainsi 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 à la distribution hybride d’un système Linux intégré, mobile, fixe et sur 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, bien que 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. 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. Et c’est 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. Ils modulent les logiciels au profit de leur composition et utilisation et aident également à automatiser le déploiement logiciels. Par ailleurs, la virtualisation minimise l’importance du matériel. Elle creuse le fossé entre le logiciel et le matériel en transférant plus de valeur ajoutée dans le logiciel. Cela développe les 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 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, LoRa, GPS, 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 supervisé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 alors qu’un logiciel sera plus difficilement attaqué.
Un système Linux embarqué actuel 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 inviolables 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 IoT. Celle-ci confronte Linux à une nouvelle frontière : le monde physique. 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.