Rapport sur les tendances de l’architecture et de la conception logicielles d’InfoQ – avril 2023

Points clés à retenir

  • La conception pour la portabilité est de plus en plus adoptée, car des frameworks comme Dapr se concentrent sur un modèle d’abstraction natif du cloud et permettent aux architectes de séparer la logique métier des détails de mise en œuvre.
  • Les grands modèles de langage vont avoir un impact significatif, qu’il s’agisse d’aider à comprendre les compromis architecturaux ou d’autonomiser une nouvelle génération de développeurs low-code et no-code.
  • La durabilité des logiciels sera une considération de conception majeure dans les années à venir. Des travaux sont en cours pour mieux mesurer puis réduire l’empreinte carbone des systèmes logiciels.
  • Les applications décentralisées prennent la blockchain au-delà de la crypto-monnaie et des NFT, mais le manque de demande des consommateurs en fera un modèle de niche.
  • Les architectes sont toujours à la recherche d’améliorations sur la façon de documenter, de communiquer et de comprendre les décisions. Cela peut être un autre domaine où les grands modèles de langage joueront un rôle à l’avenir, agissant en tant qu’archéologues médico-légaux pour passer au peigne fin les ADR et l’histoire des gits.

Les rapports sur les tendances d’InfoQ fournissent aux lecteurs d’InfoQ un aperçu de haut niveau des sujets auxquels prêter attention et aident également l’équipe éditoriale d’InfoQ à se concentrer sur les technologies innovantes. En plus de ce rapport et du graphique des tendances, un podcast d’accompagnement présente certains des éditeurs discutant de ces tendances.

Plus de détails suivent plus loin dans le rapport, mais il est d’abord utile de résumer les changements par rapport au graphique des tendances de l’année dernière.

Trois nouveaux éléments ont été ajoutés au graphique cette année. Les grands modèles de langage et la sécurité de la chaîne d’approvisionnement logicielle sont de nouvelles tendances innovantes, et « l’architecture en tant que sport d’équipe » a été ajoutée parmi les premiers utilisateurs.

Les tendances qui ont été adoptées, et donc déplacées vers la droite, incluaient la « conception pour la portabilité », l’architecture basée sur les données et le sans serveur. eBPF a été supprimé car il a des applications de niche et ne sera probablement pas un facteur majeur dans les décisions architecturales.

Quelques tendances ont été renommées et/ou combinées. Nous considérons Dapr comme une mise en œuvre du concept de « conception pour la portabilité », il a donc été supprimé en tant que tendance distincte. L’architecture pilotée par les données est la combinaison de « données + architecture » et de maillage de données. La blockchain a été remplacée par l’idée plus large d’applications décentralisées, ou dApps. WebAssembly note désormais à la fois le côté serveur et le côté client, car ce sont des idées liées mais distinctes et qui peuvent évoluer indépendamment à l’avenir.

L’aspect portabilité de la « conception pour la portabilité » ne consiste pas à pouvoir récupérer votre code et le déplacer. Au contraire, cela crée une abstraction propre de l’infrastructure. Comme le dit l’éditeur d’InfoQ, Vasco Veloso, « quiconque conçoit et construit le système peut se concentrer sur ce qui apporte de la valeur, au lieu d’avoir à trop se soucier des détails de la plate-forme sur laquelle il va fonctionner ».

Cette philosophie de conception est rendue possible par des frameworks tels que Dapr. Daniel Bryant, responsable des actualités d’InfoQ, voit l’avantage du projet CNCF dans la fourniture d’une couche d’abstraction et d’une API clairement définies pour la création de services cloud natifs. Bryant a déclaré: «[with integration] tout tourne autour des API et [Dapr] fournit des abstractions sans faire le plus petit dénominateur commun ».

Un article récent de Bilgin Ibryam décrit l’évolution des applications natives du cloud vers des applications liées au cloud. Au lieu de concevoir un système avec des composants logiques pour la logique d’application et l’infrastructure de calcul, les applications liées au cloud se concentrent sur les liaisons d’intégration. Ces liaisons incluent des API externes ainsi que des besoins opérationnels tels que l’orchestration de flux de travail et la télémétrie d’observabilité.

Une autre technologie qui prend en charge la conception pour la portabilité est WebAssembly, en particulier WebAssembly côté serveur. WebAssembly est souvent considéré comme une capacité côté client, pour optimiser le code exécuté dans le navigateur. Mais l’utilisation de WebAssembly présente des avantages significatifs pour le code côté serveur. L’éditeur d’InfoQ, Eran Stiller, a décrit le processus de création de conteneurs basés sur WebAssembly.

Au lieu de le compiler dans un conteneur Docker, puis de devoir faire tourner un système entier à l’intérieur de ce conteneur sur votre orchestrateur, vous le compilez dans WebAssembly, ce qui permet au conteneur d’être beaucoup plus léger. Il a une sécurité intégrée car il est destiné à exécuter le navigateur. Et il peut fonctionner n’importe où, dans n’importe quel cloud ou sur n’importe quel processeur, d’ailleurs. – Eran Stiller

Vous trouverez plus d’informations sur Dapr et WebAssembly en suivant ces rubriques sur InfoQ.

Les nouvelles autour de l’IA, en particulier les grands modèles de langage tels que GPT-3 et GPT-4, ont été impossibles à ignorer. Ce n’est pas simplement un outil utilisé par les professionnels du logiciel comme l’ont démontré l’adoption par les gens ordinaires et la couverture dans toutes les formes de médias. Mais qu’est-ce que cela signifie pour les architectes logiciels ? À certains égards, il est trop tôt pour savoir ce qui va se passer.

Avec ChatGPT et Bing, nous commençons à peine à voir ce qui est possible avec de grands modèles de langage comme GPT-3. C’est la définition d’une tendance innovante. Je ne sais pas ce qu’il en adviendra, mais ce sera significatif, et quelque chose que j’ai hâte de voir évoluer dans les prochaines années. – Thomas Betts

Bien que l’avenir soit incertain, nous sommes optimistes quant au fait que ces modèles d’IA auront généralement un avantage positif sur le logiciel que nous construisons et sur la façon dont nous le construisons. Les capacités de génération de code de ChatGPT, Bing chat et GitHub Copilot sont utiles pour écrire du code et des tests et permettre aux développeurs de travailler plus rapidement. Les architectes utilisent également les chatbots pour discuter des options de conception et analyser les compromis.

Bien que ces améliorations de l’efficacité soient utiles, il faut veiller à comprendre les limites des modèles d’IA. Ils ont tous des préjugés intégrés qui peuvent ne pas être évidents. Ils peuvent également ne pas comprendre votre domaine d’activité, même s’ils semblent confiants dans leurs réponses.

Ce sera certainement une tendance majeure à surveiller en 2023, car les nouveaux produits sont construits sur de grands modèles linguistiques et les entreprises trouvent des moyens de les intégrer dans les systèmes existants.

L’année dernière, nous avons discuté de l’idée de « données + architecture » ​​comme un moyen de saisir comment les architectes considèrent les données différemment lors de la conception de systèmes. Cette année, nous combinons cette idée avec Data Mesh sous le titre « architecture pilotée par les données ».

La structure, le stockage et le traitement des données sont des préoccupations initiales, plutôt que des détails à gérer lors de la mise en œuvre. Blanca Garcia-Gil, membre du comité de programmation de QCon London, a déclaré : « Lors de la conception d’architectures cloud, il est nécessaire de penser dès le départ à la collecte, au stockage et à la sécurité des données, afin que nous puissions en tirer de la valeur plus tard, y compris l’utilisation de l’IA/ML. » Garcia-Gil a également souligné que l’observabilité des données est toujours une tendance novatrice, du moins par rapport à l’état d’observabilité d’autres parties d’un système.

Data Mesh était un changement de paradigme, avec des équipes alignées autour de la propriété des produits de données. Cela correspond à l’idée d’une architecture basée sur les données, ainsi qu’à l’incorporation de la loi de Conway dans la conception globale d’un système.

Bien qu’il y ait eu plus d’adoption dans la conception pour la durabilité, nous avons choisi de la laisser comme une tendance innovante parce que l’industrie commence tout juste à vraiment adopter des systèmes durables et à concevoir pour une faible empreinte carbone. Nous devons considérer la durabilité comme une caractéristique principale, et non quelque chose que nous réalisons secondairement lorsque nous essayons de réduire les coûts. Veloso a déclaré: «J’ai remarqué qu’on parle davantage de durabilité ces jours-ci. Soyons honnêtes, c’est probablement pour moitié parce que l’énergie est simplement plus chère et que tout le monde veut réduire les dépenses d’exploitation.

L’un des plus grands défis est la difficulté à mesurer l’empreinte carbone d’un système. Jusqu’à présent, le coût a été utilisé comme substitut de l’impact environnemental, car il existe une corrélation entre la quantité de calcul que vous utilisez et la quantité de carbone que vous utilisez. Mais cette technique a de nombreuses limites.

La Green Software Foundation est une initiative qui tente d’aider à créer des outils pour mesurer le carbone consommé. À QCon Londres, Adrian Cockcroft a donné un aperçu de la position actuelle des trois principaux fournisseurs de cloud (AWS, Azure, GCP) en matière de fourniture de mesures de carbone.

Au fur et à mesure que l’outillage s’améliore, les développeurs pourront ajouter l’utilisation du carbone à d’autres mesures d’observabilité d’un système. Une fois ces valeurs visibles, le système peut être conçu et modifié pour les réduire.

Cela est également lié aux idées autour de la portabilité et des frameworks natifs du cloud. Si nos systèmes sont plus portables, cela signifie que nous pourrons plus facilement les adapter pour qu’ils fonctionnent de la manière la plus respectueuse de l’environnement. Cela pourrait signifier déplacer des ressources vers des centres de données qui utilisent de l’énergie verte ou traiter des charges de travail pendant les périodes où l’énergie disponible est plus verte. Nous ne pouvons plus supposer que fonctionner la nuit, lorsque les serveurs sont moins occupés, est la meilleure option, car l’énergie solaire pourrait signifier que le milieu de la journée est le moment le plus vert.

La blockchain et un registre distribué sont la technologie derrière les applications décentralisées. Principalement en raison de changements sur Twitter, Mastodon est devenu un réseau social alternatif et décentralisé. Cependant, la blockchain reste une technologie qui résout un problème que la plupart des gens ne considèrent pas comme un problème. En raison de cette applicabilité de niche, il reste classé comme une tendance novatrice.

Les architectes ne travaillent plus seuls et les architectes ne peuvent plus penser uniquement aux problèmes techniques. Le rôle d’un architecte varie considérablement dans l’industrie, et certaines entreprises ont entièrement éliminé le titre, favorisant les «ingénieurs principaux» comme rôle principalement responsable des décisions architecturales. Cela correspond à une approche plus collaborative, où les architectes travaillent en étroite collaboration avec les ingénieurs qui construisent un système pour affiner continuellement la conception du système.

Les architectes ont travaillé en collaboration avec des équipes de logiciels pour proposer et itérer des conceptions. Je continue à voir différents rôles ici (en particulier dans les grandes organisations), mais la communication et la collaboration grâce à la preuve de concepts pour essayer des conceptions si nécessaire sont essentielles. – Blanca Garcia-Gil

Les enregistrements de décision d’architecture (ADR) sont désormais communément reconnus comme un moyen de documenter et de communiquer les décisions de conception. Ils sont également utilisés comme outil de collaboration pour aider les ingénieurs à apprendre à prendre des décisions techniques et à envisager des compromis.

Écoutez la discussion sur le rapport des tendances sur le podcast InfoQ

L’équipe éditoriale d’Architecture & Design s’est réunie à distance pour discuter de ces tendances et nous avons enregistré notre discussion sous forme de podcast. Vous pouvez écouter la discussion et avoir une idée de la pensée derrière ces tendances.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite