Comme pour tout déploiement informatique à grande échelle, il n’y a pas une seule méthode pour effectuer un déploiement fog computing, une extension du cloud traditionnel. Mercredi dernier, lors du Fog World Congress 2018 (1 au 3 octobre) organisé à San Francisco, Chuck Byers, ingénieur principal et architecte système de Cisco, a abordé les nombreuses possibilités de déploiements fog computing, aussi bien techniques qu'organisationnelles, depuis le design jusqu’au paramétrage.

Outre des conseils généraux sur l'architecture des systèmes informatiques en brouillard, Chuck Buyers a évoqué des domaines plus spécifiques propres à tout déploiement de ce type, notamment les différents matériels, les protocoles réseau et la sécurité.

Les options de calcul

Le fog computing fait souvent intervenir plusieurs types de processeurs. L’environnement est donc hétérogène. Les processeurs RISC/CISC, comme ceux de ARM/Intel, offrent d'excellentes performances en single-thread et de nombreuses possibilités de programmation. « Ils auront toujours une place importante dans les réseaux fog computing, et l’on trouvera presque toujours au moins deux ou trois cœurs processeurs de cette catégorie dans tous les nœuds fog », a déclaré Chuck Buyers. Mais c’est loin d'être la seule option. Les circuits FPGA peuvent aussi s’avérer utiles quand on a recours à des chemins de données personnalisés pour accélérer les charges de travail.

De même, les accélérateurs GPU - que l’on associe souvent aux systèmes de jeux et au calcul haute performance - sont très efficaces pour exécuter des tâches nécessitant beaucoup de traitements parallèles. « Si un bon processeur RISC ou CISC peut comporter une douzaine de cœurs, un gros GPU peut abriter mille noyaux », a rappelé Chuck Buyers. « Et si votre système et vos algorithmes supportent le traitement parallèle, les GPU offrent une solution bon marché et peu gourmande en énergie ». Enfin, les unités de traitement Tensor, optimisées pour faciliter l'apprentissage machine et les tâches basées sur l'IA, se prêtent de manière évidente aux applications qui délivrent ce type de fonctionnalité.

La gestion du stockage

Le fog computing offre un tas d’options de stockage allant de solutions bon marché, mais lentes, à des solutions rapides, mais plus chères. Dans les solutions bon marché, c’est le stockage en réseau NAS qui est le plus avantageux, car il permet de bénéficier d'énormes volumes de stockage, en particulier sur un réseau distribué. Avec une contrepartie : des temps de latence de l’ordre de plusieurs secondes à plusieurs minutes. Selon Chuck Buyers, « les disques durs classiques à plateaux peuvent convenir à de grandes médiathèques ou à d’importantes archives de données, et offrent des temps de réponse nettement meilleurs ».

Plus haut dans la hiérarchie, le stockage flash, en particulier les disques SSD ordinaires, offre à peu près les mêmes fonctionnalités qu'un disque à plateau tournant, avec un prix par Go plus élevé, mais des temps d'accès beaucoup plus rapides. Cette solution convient mieux au stockage en vrac rapide, mais l’ingénieur principal et architecte système de Cisco fait remarquer qu’avec cette solution, les vitesses d'accès peuvent diminuer après un nombre de cycles de lecture/écriture important. « Après plus de 2 000 écritures à une adresse donnée sur la puce flash, il devient plus difficile de la reprogrammer, au point, éventuellement, d’avoir des erreurs en écriture sur ce secteur du disque flash », a-t-il déclaré. « Il faut donc procéder à ce qu'on appelle un nivellement de couches au niveau de la baie flash, de façon à écrire le même nombre de fois sur toutes les adresses de la baie - le disque gère tout seul les écritures multiples ». Les puces flash locales - celles qui ne sont pas installées dans des baies de type SSD - offrent une bonne solution pour le stockage des clés de sécurité, les tables et les logs. Dans les options les plus chères, il y a la solution DRAM Main Memory. Elle convient mieux aux contenus utilisés fréquemment, aux bases de données en mémoire, etc.

Les solutions réseau

Il existe de très nombreuses solutions de mise en réseau pour les architectes fog computing, ce qui rend leur classification plus compliquée. Néanmoins, deux catégories s’imposent : les solutions câblées et les solutions sans fil. Cette seconde catégorie se subdivise entre solutions sous licence et solutions libres. Dans ce domaine, Chuck Byers recommande essentiellement de « choisir celles qui vous semblent les plus pertinentes ». Le sans fil est souvent peu coûteux et à faible impact, et c’est vraiment la seule option possible pour un déploiement qui suppose des échanges de données avec des appareils mobiles. Les solutions sans fil sous licence offrent un meilleur contrôle, moins d'interférences potentielles avec des sources extérieures, mais impliquent évidemment des frais de licence et/ou d'utilisation. Cependant, Chuck Byers préconise, dans la mesure du possible, les solutions câblées, parce qu’elles protègent mieux des interférences et n’utilisent pas les ondes radiofréquences. « Les réseaux filaires sont à privilégier, surtout quand les données sont envoyées vers le cloud, parce que ces réseaux offrent plus de bande passante et leurs frais d'exploitation sont moins onéreux », a-t-il fait remarquer.

Les options logicielles

Pour Chuck Byers, la modularité est essentielle en matière de logiciels. Parce que les nœuds de l’architecture fog peuvent être reliés entre eux par des API normalisées, les utilisateurs ont la possibilité de remplacer différents composants de leur pile logicielle sans perturber le reste du système. « Il faut vraiment accorder la philosophie de la modularité logicielle avec le processus de développement logiciel », a-t-il expliqué. « Donc, si vous utilisez des logiciels open source, vous pourrez fragmenter vos modules logiciels pour qu'ils soient partitionnés de la même manière que la distribution open source de votre choix. De même, si vous utilisez des méthodes de développement agiles, le choix de la taille du « fragment » peut permettre aux utilisateurs de reprogrammer un composant dans un seul cycle de développement ».

La sécurité

Les exigences de sécurité de certains systèmes informatiques en brouillard - ceux qui ne surveillent ou ne contrôlent rien de particulièrement critique - sont « assez modestes », selon Chuck Byers. Celles d'autres systèmes, en particulier ceux qui font intervenir des capteurs pouvant avoir un fort impact sur le monde physique, sont plus critiques. « Le piratage de systèmes de contrôle - réacteurs, ascenseurs, avions et autres - pourrait avoir des conséquences dramatiques, il est donc de la plus haute importance de les protéger ». De plus, ces systèmes peuvent être soumis à des contraintes règlementaires strictes. C'est donc un autre aspect sur lequel les concepteurs de systèmes informatiques en brouillard doivent garder un œil.

Quelques conseils généraux

Dans le cas des systèmes fog computing de bonne taille, la question de l'efficacité énergétique peut devenir rapidement un enjeu. Dans la mesure du possible, les concepteurs doivent utiliser des puces basse consommation, un refroidissement ambiant et des modes de mise hors tension sélective. De la même façon, Chuck Byers a fait remarquer que les fonctions qui n’ont pas besoin d’être traitées par l’informatique en brouillard devraient, si possible, être déplacées dans le cloud, où elles pourront, en plus, profiter de nombreux avantages en terme de virtualisation, d’orchestration et d’évolutivité.