Choisir la bonne architecture logicielle pour le développement de vos applications.
Adopter la bonne architecture logicielle pour le développement de vos applications, c’est un choix cornélien qui se résume aujourd’hui à trois options : monolithe (modulaire), Micro-services / micro-frontends et Serverless.
C’est une décision à prendre dès la phase de conception par l’architecte (Design patterns, MVC ou Clean Architecture) et c’est une étape primordiale car elle est structurante pour la suite en termes de d’évolutivité, de performance, d’inter-connectivité (API), de sécurité et de stabilité dans la durée.
Agilité oblige, les micro-services et le serverless s’imposent couplées à des méthodes de développement DevOps / CI/CD.
- Les Microservices permettent le développement d’applications alors que plusieurs équipes travaillent sur des applications spécifiques en même temps. Par ailleurs, les microservices s’intègrent parfaitement au développement Cloud Native, car les coûts opérationnels plus élevés peuvent être transférés vers le Cloud avec une complexité de code moindre. Ainsi, les micro-services sont clairement l’architecture à privilégier en 2022 si votre priorité est la flexibilité ou si vous souhaitez migrer un monolithique existant vers une architecture moderne avec du développement modulaire de fonctionnalités. Ce que confirme entre-autres tendances l’enquêtes menée par Le MagIT sur les priorités IT 2022 des entreprises en France résumées dans l’infographie ci-dessous.
- On voit également émerger de plus en plus d’applications Serverless, c’est-à-dire des applications cloud (Azure Service Fabric, Google Cloud Engine et AWS Lambda, le précurseur) qui ne nécessitent aucune installation de serveur, ni aucune activation de service. Les fonctions s’exécutent, à la demande, uniquement lorsqu’on en a réellement besoin (Event Driven). Du DevOps, vous passez au NoOps ! Plus de problème d’infrastructure ni de ressources nécessaires en interne pour les tâches de gestion ou de support ! En revanche, on mesure bien la dépendance avec le fournisseur cloud que vous aurez choisi … ce qui pose un vrai problème en terme de portabilité. Dans la réalité, le Serverless en est encore à ces débuts comme le modèle Function-as-a-service (FaaS) qui s’appuie sur des microservices qui s’exécutent sur une infrastructure serverless qui alloue dynamiquement les ressources nécessaires.
Être architecte n’a jamais aussi Hype qu’en 2022 !
Pour aller plus loin :
Geekflare : https://geekflare.com/fr/know-about-serverless/
En savoir plus
L’IA s’invite également de plus en plus dans le développement logiciel et contribue à améliorer la qualité (QA) notamment en automatisant toujours davantage certaines tâches répétitives et fastidieuses. Certes les outils d’automatisation des tests avec IA/ML embarqués manquent encore de maturité …. mais les avancées technologiques sont rapides. C’est clairement…
Il est vrai qu’un data lake offre l’avantage d’ingérer (streaming) et de stocker de manière aveugle toutes les données brutes (format natif, données non structurées) … ce qui est en soit contraire aux principes de l’intégration de données (ETL) dans des Data Warehouses par nature organisés. Peu importe l’utilité des…