Red Hat on Edge Complexité


Image : Tomasz/Adobe Stock

Edge est complexe. Une fois que nous aurons dépassé l’énormité frissonnante et la réalité bouleversante de la compréhension de cette déclaration de base, nous pourrons peut-être commencer à construire des cadres, des architectures et des services autour de la tâche qui nous attend. Dernières années Rapport sur l’état de la périphérie de la Linux Foundation l’a dit succinctement : « La périphérie, avec toutes ses complexités, est devenue une industrie en évolution rapide, puissante et exigeante à part entière. »

Red Hat semble avoir pris une appréciation stoïque du rôle complexe de gestion de périphérie qui attend toutes les entreprises qui déplacent désormais leurs piles informatiques pour chevaucher cet espace. La société affirme qu’elle considère l’informatique de pointe comme une opportunité « d’étendre le cloud hybride ouvert » jusqu’à toutes les sources de données et les utilisateurs finaux qui peuplent notre planète.

Pointant vers des terminaux périphériques aussi divergents que ceux trouvés sur la Station spatiale internationale et votre pharmacie de quartier locale, Red Hat vise maintenant à clarifier et à valider les parties de sa propre plate-forme qui répondent aux défis spécifiques de la charge de travail périphérique.

À la pointe du bord

La mission est que, bien que la périphérie et le cloud soient intimement liés, nous devons permettre des décisions de calcul en dehors du centre de données, à la pointe de la périphérie.

« Les organisations considèrent l’informatique de pointe comme un moyen d’optimiser les performances, les coûts et l’efficacité pour prendre en charge une variété de cas d’utilisation dans des secteurs allant de l’infrastructure de ville intelligente, la surveillance des patients, les jeux et tout le reste », a déclaré Erica Langhi, architecte de solutions senior chez Chapeau rouge.

VOIR: Ne freinez pas votre enthousiasme : tendances et défis de l’informatique de périphérie (TechRepublic)

De toute évidence, le concept d’edge computing présente une nouvelle façon de voir où et comment les informations sont consultées et traitées pour créer des applications plus rapides, plus fiables et plus sécurisées. Langhi signale que bien que de nombreux développeurs d’applications logicielles connaissent peut-être le concept de décentralisation au sens réseau plus large du terme, il y a deux considérations clés sur lesquelles se concentrer pour un développeur de périphérie.

« Le premier concerne la cohérence des données », a déclaré Langhi. « Plus les données de périphérie sont dispersées, plus elles doivent être cohérentes. Si plusieurs utilisateurs essaient d’accéder ou de modifier les mêmes données en même temps, tout doit être synchronisé. Les développeurs Edge doivent considérer les capacités de messagerie et de streaming de données comme une base puissante pour prendre en charge la cohérence des données afin de créer des services de transport de données natifs Edge, d’agrégation de données et d’applications Edge intégrées.

Exigences clairsemées d’Edge

Ce besoin de mettre en évidence les subtilités des environnements périphériques découle du fait qu’il s’agit d’une informatique différente – aucun client n’offre son document de «spécification des exigences» et ses préférences d’interface utilisateur – à ce niveau, nous travaillons avec des constructions technologiques plus granulaires au niveau de la machine. .

La deuxième considération clé pour les développeurs Edge concerne la sécurité et la gouvernance.

« Opérer sur une grande surface de données signifie que la surface d’attaque est maintenant étendue au-delà du centre de données avec des données au repos et en mouvement », a expliqué Langhi. « Les développeurs Edge peuvent adopter des techniques de chiffrement pour aider à protéger les données dans ces scénarios. Avec une complexité accrue du réseau alors que des milliers de capteurs ou d’appareils sont connectés, les développeurs de périphérie devraient chercher à mettre en œuvre des configurations de réseau automatisées, cohérentes, évolutives et basées sur des politiques pour prendre en charge la sécurité.

Enfin, dit-elle, en sélectionnant un système d’exploitation immuable, les développeurs peuvent appliquer une surface d’attaque réduite, aidant ainsi les organisations à faire face aux menaces de sécurité de manière efficace.

Mais ce qui change vraiment le jeu du développement logiciel traditionnel aux infrastructures de pointe pour les développeurs, c’est la variété des appareils cibles et leur intégrité. C’est le point de vue de Markus Eisele dans son rôle de développeur stratège chez Red Hat.

« Alors que les développeurs pensent généralement aux frameworks et que les architectes pensent aux API et à la manière de tout relier, un système distribué qui a des unités de calcul à la périphérie nécessite une approche différente », a déclaré Eisele.

Ce qu’il faut, c’est une chaîne d’approvisionnement complète et sécurisée. Cela commence par des environnements de développement intégrés – Eisele et son équipe pointent vers Red Hat OpenShift Dev Spaces, un environnement de développement sans configuration qui utilise Kubernetes et des conteneurs – qui sont hébergés sur des infrastructures sécurisées pour aider les développeurs à créer des binaires pour une variété de plates-formes cibles et d’unités informatiques. .

Binaires sur la base

« Idéalement, l’automatisation à l’œuvre ici va bien au-delà d’une compilation réussie, jusqu’à des binaires testés et signés sur des images de base vérifiées », a déclaré Eisele. « Ces scénarios peuvent devenir très difficiles du point de vue de la gouvernance, mais doivent être reproductibles et peu invasifs pour les cycles de boucle interne et externe pour les développeurs. Bien que cela ne change pas grand-chose à première vue, il y a encore moins de marge d’erreur. Surtout en pensant à la sécurité des artefacts générés et à la façon dont tout se combine tout en permettant aux développeurs d’être productifs.

La référence de boucle interne et externe d’Eisele rend hommage à la complexité à l’œuvre ici. La boucle interne étant un flux de travail de développeur unique où le code peut être testé et modifié rapidement. La boucle externe étant le point auquel le code est engagé dans un système de contrôle de version ou une partie d’un pipeline logiciel plus proche du point de déploiement en production. Pour plus de précisions, nous pouvons également rappeler que la notion d’artefacts logiciels référencés ci-dessus désigne l’ensemble de la panoplie d’éléments qu’un développeur peut utiliser et/ou créer pour construire du code. Cela pourrait donc inclure des notes de documentation et d’annotation, des modèles de données, des bases de données, d’autres formes de matériel de référence et le code source lui-même.

VOIR: Kit de recrutement : Développeur Back-end (TechRepublic Premium)

Ce que nous savons avec certitude, c’est que contrairement aux centres de données et au cloud, qui sont en place depuis des décennies, les architectures de périphérie évoluent toujours à un rythme plus exponentiel.

Parer la construction d’un but

« Les décisions de conception que les architectes et les développeurs prennent aujourd’hui auront un impact durable sur les capacités futures », a déclaré Ishu Verma, évangéliste technique de l’edge computing chez Red Hat. « Certaines exigences en matière de périphérie sont uniques pour chaque industrie, mais il est important que les décisions de conception ne soient pas spécialement conçues pour la périphérie, car cela peut limiter l’agilité et la capacité d’évolution futures d’une organisation. »

Les ingénieurs de Red Hat, centrés sur la périphérie, insistent sur le fait qu’une meilleure approche consiste à créer des solutions qui peuvent fonctionner sur n’importe quelle infrastructure – cloud, sur site et en périphérie – ainsi que dans tous les secteurs. Le consensus ici semble être solidement orienté vers le choix de technologies telles que les conteneurs, Kubernetes et les services d’application légers qui peuvent aider à établir une flexibilité prête pour l’avenir.

« Les éléments communs des applications de pointe dans de multiples cas d’utilisation incluent la modularité, la ségrégation et l’immuabilité, ce qui fait des conteneurs un bon ajustement », Verma. « Les applications devront être déployées sur de nombreux niveaux périphériques différents, chacun avec ses caractéristiques de ressources uniques. Combinés aux microservices, les conteneurs représentant des instances de fonctions peuvent être agrandis ou réduits en fonction des ressources ou des conditions sous-jacentes pour répondre aux besoins des clients en périphérie.

Edge, mais à grande échelle

Tous ces défis nous attendent alors. Mais bien que le message soit de ne pas paniquer, la tâche est rendue plus difficile si nous devons créer une ingénierie d’application logicielle pour les environnements de périphérie capable d’évoluer en toute sécurité. La périphérie à l’échelle s’accompagne du défi de gérer des milliers de terminaux périphériques déployés à de nombreux endroits différents.

« L’interopérabilité est la clé de la périphérie à grande échelle, car la même application doit pouvoir s’exécuter n’importe où sans être refactorisée pour s’adapter à un cadre requis par un fournisseur d’infrastructure ou de cloud », a déclaré Salim Khodri, spécialiste de la mise sur le marché de la périphérie EMEA chez Red Chapeau.

Khodri fait ses commentaires en ligne avec le fait que les développeurs voudront savoir comment ils peuvent exploiter les avantages de pointe sans modifier la façon dont ils développent, déploient et maintiennent les applications. Autrement dit, ils veulent comprendre comment ils peuvent accélérer l’adoption de l’informatique de périphérie et lutter contre la complexité d’un déploiement distribué en rendant l’expérience de programmation en périphérie aussi cohérente que possible en utilisant leurs compétences existantes.

« Des outils cohérents et les meilleures pratiques de développement d’applications modernes, y compris l’intégration du pipeline CI/CD, les API ouvertes et les outils natifs de Kubernetes, peuvent aider à relever ces défis », a expliqué Khodri. « Ceci afin de fournir les capacités de portabilité et d’interopérabilité des applications de pointe dans un environnement multifournisseur, ainsi que des processus et des outils de gestion du cycle de vie des applications à la périphérie distribuée.

Il serait difficile d’énumérer les principaux points de conseil ici d’une part. Deux seraient un défi et cela pourrait également nécessiter l’utilisation de certains orteils. Les mots d’ordre sont peut-être les systèmes ouverts, les conteneurs et les microservices, la configuration, l’automatisation et bien sûr les données.

La périphérie décentralisée peut commencer à partir de l’ADN du centre de données et conserver systématiquement sa relation intime avec l’épine dorsale de la pile informatique native du cloud, mais il s’agit essentiellement d’un appariement de relations déconnecté.