- Advertisement -

Architecture et conception logicielles Rapport sur les tendances d’InfoQavril 2022

Recevez des mises à jour en temps réel directement sur votre appareil, abonnez-vous maintenant.

Points clés à retenir

  • « Données plus architecture » est l’idée que, plus fréquemment, l’architecture logicielle s’adapte pour prendre en compte les données. Cela inclut de manière holistique la qualité des données, les pipelines de données et la traçabilité pour comprendre comment les données ont influencé les décisions et les modèles d’IA.
  • L’architecture logicielle innovante facilite la qualité des données de la même manière que nous avons amélioré la qualité du code. Il est aussi important de détecter les mauvaises données tôt que de détecter les bogues tôt.
  • La pratique de l’architecture logicielle n’appartient pas uniquement aux personnes ayant le titre d’emploi d’architecte. Chaque ingénieur peut participer activement à l’architecture, et les architectes doivent aider à faciliter ce processus.
  • L’un des avantages positifs de la pandémie et du passage au travail à distance et hybride est l’augmentation de la communication asynchrone, qui peut se manifester sous la forme d’enregistrements de décision d’architecture (ADR).
  • Les architectes logiciels adaptent leurs boucles de rétroaction, ce qui peut être difficile lorsqu’ils traitent avec des collègues sur de nombreux fuseaux horaires ou d’autres contraintes de travail à distance. Les bons architectes apprennent du travail distribué comment concevoir de meilleurs systèmes distribués.

Chaque année, les éditeurs d’InfoQ discutent de ce que nous avons observé dans l’ensemble du paysage du développement logiciel et créent plusieurs rapports sur les tendances, chacun avec son propre graphique de la courbe d’adoption. Cela aide l’équipe éditoriale à concentrer ses reportages sur les technologies et les idées innovantes, et fournit également à nos lecteurs un aperçu de haut niveau des sujets à surveiller.

Il y a deux éléments principaux dans ces rapports. Le premier est le rapport écrit que vous lisez actuellement et comprend le graphique des tendances et des détails sur les éléments individuels qui ont été ajoutés ou modifiés au cours de l’année écoulée, ainsi qu’une analyse générale des éditeurs d’InfoQ.

La deuxième partie du rapport est un épisode du podcast InfoQ, qui est une chance d’écouter une partie de la conversation des éditeurs et d’entendre quelques exemples anecdotiques de notre panel d’experts praticiens.

Mises à jour du graphique des tendances

En 2021, nous avons examiné de nombreuses façons dont les architectes façonnent leurs conceptions, en tenant compte des principales « -ilities ». Cette année, nous avons ajouté la « conception pour la sécurité » à cette liste, et nous l’envisageons au stade de l’adoption précoce. Bien que la sécurité ait toujours été un facteur, il est de plus en plus important de prendre en compte la sécurité de manière précoce et répétée lors de la conception d’un système et de ses composants.

L’architecture ne fait peut-être pas partie du triplet portemanteau DevSecOps, mais c’est un composant sous-jacent de cette idée. Il existe également de nombreuses similitudes entre la cybersécurité et l’architecture logicielle, comme discuté avec Maxime Lamothe-Brassard sur le podcast InfoQ.

Nous avons envisagé d’ajouter « conception pour l’évolutivité », mais nous avons décidé qu’il était inclus dans l’idée de « conception pour la résilience » et d’autres tendances qui existent pour s’adapter à l’évolutivité. Au cours de la deuxième année de la pandémie, la consommation de services en ligne a continué de croître et les entreprises ont dû être en mesure d’évoluer pour répondre à la demande.

eBPF, les filtres de paquets Berkley étendus, sont un moyen de programmer le noyau Linux et permettent aux développeurs d’ajouter des fonctionnalités au système d’exploitation lors de l’exécution. Nous avons ajouté eBPF en tant que tendance innovante et nous surveillerons son adoption au cours des prochaines années. Liz Rice a fourni un excellent aperçu de la technologie dans un récent épisode du podcast InfoQ.

Le terme « Next-gen GraphQL » a été remplacé par GraphQL Federation, car il s’agit de l’aspect le plus important adopté par les entreprises qui s’appuient sur leurs implémentations GraphQL existantes.

« Passerelles de données » a été supprimée et remplacée par « Données + Architecture ». De plus, Architect Elevator a été remplacé par Architecture Decision Records. Ces changements sont discutés en détail plus loin dans ce rapport.

Dapr et WebAssembly sont tous deux passés d’Innovateurs à Early Adopters.

Quelques éléments ont été supprimés en raison d’un manque d’adoption et d’une innovation insuffisante mentionnée au cours des dernières années. Il s’agissait de Open Application Model (OAM) et de RSocket & Reactive Streams.

Données + Architecture

Nous assistons à une transition des données considérées uniquement au niveau des couches de stockage ou de transport dans un système vers des données constituant un élément déterminant du système. Cela est évident dans les systèmes AI/ML, qui sont construits à partir de données, ainsi que dans les modèles de conception tels que l’approvisionnement en événements. Parfois, cela se manifeste par un concept bien défini, tel que le maillage de données, que nous continuons à observer comme une tendance innovante distincte. Le plus souvent, les architectes considèrent simplement les données différemment, ce qui a conduit à l’ajout de « données + architecture » ​​sur le graphique des tendances de cette année.

Dans une interview sur le podcast InfoQ, Neal Ford et Mark Richards ont évoqué la nécessité d’inclure des chapitres sur les données dans leur nouveau livre, Software Architecture : the Hard Parts. Neel a dit :

Nous voulions nous assurer d’avoir une image plus complète car nous croyons fermement que les données plus l’architecture seront l’un des thèmes des prochaines années. Et c’est vraiment le thème d’une grande partie de notre travail professionnel que nous faisons en ce moment – démêler cette relation et en faire une relation de travail harmonieuse est à nouveau une collaboration, entre les administrateurs de base de données, les architectes, et intégrer ces pratiques dans le le même genre de pratiques auxquelles nous nous habituons en architecture et en design.

L’architecture Data + englobe certains des termes optimisés pour le référencement, tels que les passerelles de données qu’elle a remplacées sur le graphique. Cela inclut également des idées telles que la qualité des données et l’introduction d’outils qui tentent de résoudre le problème de « Comment s’assurer que les données que nous utilisons sont correctes ? Comment savons-nous que c’est ce à quoi nous nous attendions ? » Les conséquences de ne pas traiter cette question peuvent être désastreuses.

Le rédacteur en chef d’InfoQ, Eran Stiller, considère la qualité des données dans son travail chez Badook et a ce qui suit à dire à ce sujet :

Aujourd’hui, les entreprises s’appuient de plus en plus sur des algorithmes d’intelligence artificielle et d’apprentissage automatique. Ils les utilisent pour améliorer leur expérience client, prévoir leurs ventes et leur niveau de stock, et obtenir des informations précieuses sur leur activité. Dans certains cas, ils prennent même des décisions entièrement automatisées sans intervention humaine. Ces algorithmes reposent sur des données. Si les données sont bonnes, ils peuvent construire un modèle utilisable. Mais malheureusement, nos données changent avec le temps et leur qualité diminue. Des erreurs de collecte de données se produisent, les pipelines de données peuvent par inadvertance faire des ravages sur nos données, et les hypothèses que nous avions auparavant sur nos données changent avec le temps et peuvent ne plus être valides, entraînant des résultats commerciaux potentiellement catastrophiques.

Par exemple, la société immobilière Zillow a récemment écrit plus d’un demi-milliard de dollars après que son modèle de données pour prédire les prix des logements et guider ses décisions commerciales n’ait pas réussi à s’adapter à une réalité changeante.

De plus, les régulateurs du monde entier, tels que l’Union européenne, sont en train de réglementer la manière dont les algorithmes d’intelligence artificielle sont créés et utilisés. Une loi similaire sur la responsabilité algorithmique a récemment été présentée au Congrès américain. Une partie cruciale de ces réglementations consistera à s’assurer que les données utilisées pour dériver l’algorithme sont valides.

Par conséquent, je prédis que la qualité et la fiabilité des données seront un sujet de préoccupation croissante pour la plupart, sinon la totalité, des entreprises technologiques. Comme nous testons notre code, nous devons tester et valider nos données et nous assurer qu’elles se comportent comme nous l’attendons. Si nous ne le faisons pas, nous pourrions nous réveiller un matin et fonder notre stratégie commerciale sur des prévisions corrompues, ou pire encore, prendre des décisions financières catastrophiques entièrement automatisées qui pourraient nous coûter des milliards. Je suis sûr qu’aucun de nous ne veut être dans cette position.

Architectes et Architecture

Dans l’industrie, il existe un large éventail pour définir le rôle d’un architecte et les pratiques d’architecture et de conception logicielles. De nombreuses entreprises n’ont pas de titre de poste pour un architecte logiciel, et celles qui en ont peuvent avoir des responsabilités très différentes. Malgré cela, un logiciel est toujours conçu et a toujours une architecture. Notre défi est d’identifier les manières innovantes dont l’architecture est réalisée et comment cela peut se manifester dans le rôle des architectes logiciels.

C’est une idée difficile à condenser en un concept court sur le graphique des tendances. L’année dernière, nous avons eu l’idée de «l’ascenseur d’architecte» de Gregor Hohpe selon laquelle l’architecte doit communiquer à plusieurs niveaux de l’organisation. Avant cela, nous avions « architecte comme leader technique ». Les deux faisaient partie de la catégorie des premiers utilisateurs, principalement parce qu’ils avaient le sentiment qu’ils n’étaient pas nécessairement innovants, mais aussi qu’ils n’étaient pas largement adoptés.

Cette année, nous avons inclus les «enregistrements de décision d’architecture (ADR)» en tant qu’idée d’adoption précoce. Une excellente référence pour les ADR provient d’un article de 2011 de Michael Nygard. La plupart des équipes logicielles connaissent les diagrammes d’architecture «boîtes et flèches», qui sont utiles pour documenter l’état souhaité ou actuel d’un système.

Cependant, il est souvent utile de comprendre pourquoi ces décisions de conception ont été prises, ce qui est le but des ADR. En saisissant la décision, ainsi que les autres options envisagées et l’analyse des compromis effectuée à ce moment-là, un ADR peut être très utile lorsqu’une conception doit être mise à jour à l’avenir, ou simplement comme rappel lorsque la conception est remise en question.

L’un des effets secondaires de la construction de systèmes distribués et de microservices construits par des équipes semi-autonomes est que les décisions d’architecture deviennent également distribuées. Par conséquent, les architectes doivent aider les équipes à effectuer des tâches d’architecture, telles que l’analyse des compromis, la prise de bonnes décisions, ainsi que la documentation et la communication de ces décisions. Les ADR peuvent jouer un rôle important dans la mise à l’échelle de l’architecture logicielle, selon Andrew Harmel-Law.

Pour entendre plus de discussions sur le rôle des architectes et la pratique de l’architecture logicielle, je vous encourage fortement à écouter le podcast qui l’accompagne.

Prochains événements QCon 2022

QCon, la conférence internationale sur le développement de logiciels, revient (en personne et en ligne) en 2022.

QCon rassemble les ingénieurs logiciels seniors les plus innovants au monde dans plusieurs domaines pour partager leur mise en œuvre réelle des tendances et pratiques émergentes.

Trouvez l’inspiration pratique (et non les présentations de produits) des leaders du logiciel profondément enracinés dans la création de logiciels, la mise à l’échelle des architectures et l’affinement de leur leadership technique pour vous aider à prendre les bonnes décisions.

Assistez en personne à QCon London (du 4 au 6 avril) ou en ligne à QCon Plus (du 10 au 20 mai).

www.actusduweb.com
Suivez Actusduweb sur Google News


Recevez des mises à jour en temps réel directement sur votre appareil, abonnez-vous maintenant.

commentaires

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