Architecturer des applications web modernes avec ASP.NET Core et Azure
Avant de lire cet article, nous vous recommandons de commencer par lire modèle d’application web moderne pour .NET. Le modèle d’application web moderne pour l’article .NET :
- Guide recommandé par Microsoft pour les modèles d’application web modernes. Il fournit une architecture, du code et des instructions de configuration prescriptives sur la modernisation des applications web dans le cloud.
- Fournit une implémentation de référence GitHub : une application web de qualité production qui applique les bonnes pratiques. Contient des exemples concrets pour créer des applications web modernes dans Azure.
- Est plus à jour que cet article et est mis à jour activement.
EDITION v8.0 - Mise à jour vers ASP.NET Core 8.0
Consultez le journal des modifications pour les mises à jour du livre et les contributions de la communauté.
PUBLIÉ PAR
Équipes de produits Microsoft Developer Division, .NET et Visual Studio
Division de Microsoft Corporation
Une méthode Microsoft
Redmond, Washington 98052-6399
Copyright © 2023 par Microsoft Corporation
Tous les droits réservés. Aucune partie du contenu de ce livre ne peut être reproduite ou transmise sous n’importe quelle forme ou sans autorisation écrite de l’éditeur.
Ce document est fourni « en l’état » et exprime les points de vue et les opinions de son auteur. Les vues, opinions et informations exprimées dans ce livre, y compris l’URL et d’autres références de site Web Internet, peuvent changer sans préavis.
Certains exemples présentés ici sont fournis uniquement pour l’illustration et sont fictifs. Aucune association ou connexion réelle n’est prévue ou doit être déduite.
Microsoft et les marques répertoriées à https://www.microsoft.com sur la page web « Marques commerciales » sont des marques du groupe microsoft d’entreprises.
Mac et macOS sont des marques d’Apple Inc.
Le logo de la baleine Docker est une marque déposée de Docker, Inc. Utilisée par autorisation.
Toutes les autres marques et logos sont la propriété de leurs propriétaires respectifs.
Auteur:
Steve « ardalis » Smith - Architecte logiciel et formateur - Ardalis.com
Éditeurs:
Maira Wenzel
Liens d’action
Ce livre électronique est également disponible au format PDF (version anglaise uniquement) Télécharger
Clonez/fork l’application de référence eShopOnWeb sur GitHub
Introduction
.NET 8 et ASP.NET Core offrent plusieurs avantages par rapport au développement .NET traditionnel. Vous devez utiliser .NET 8 pour vos applications serveur si certains ou tous les éléments suivants sont importants pour la réussite de votre application :
Prise en charge multiplateforme.
Utilisation de microservices.
Utilisation de conteneurs Docker.
Exigences élevées en matière de performances et d’extensibilité.
Gestion côte à côte des versions de .NET par application sur le même serveur.
Les applications .NET 4.x traditionnelles peuvent prendre en charge la plupart de ces exigences, mais ASP.NET Core et .NET 8 ont été optimisés pour offrir une prise en charge améliorée pour les scénarios ci-dessus.
De plus en plus d’organisations choisissent d’héberger leurs applications web dans le cloud à l’aide de services comme Microsoft Azure. Vous devez envisager d’héberger votre application dans le cloud si les éléments suivants sont importants pour votre application ou votre organisation :
Réduction des investissements dans les coûts du centre de données (matériel, logiciel, espace, utilitaires, gestion des serveurs, etc.)
Tarification flexible (paiement en fonction de l’utilisation, et non pour la capacité inactive).
Fiabilité extrême.
Mobilité améliorée des applications ; modifiez facilement où et comment votre application est déployée.
Capacité flexible ; augmentez ou réduisez en fonction des besoins réels.
La création d’applications web avec ASP.NET Core, hébergée dans Azure, offre de nombreux avantages concurrentiels par rapport aux alternatives traditionnelles. ASP.NET Core est optimisé pour les pratiques de développement d’applications web modernes et les scénarios d’hébergement cloud. Dans ce guide, vous allez apprendre à concevoir vos applications ASP.NET Core pour tirer le meilleur parti de ces fonctionnalités.
Version
Ce guide a été révisé pour couvrir la version .NET 8.0 , ainsi que de nombreuses mises à jour supplémentaires liées à la même « vague » de technologies (autrement dit, Azure et d'autres technologies tierces) coïncidant avec la sortie de .NET 8.0. C’est pourquoi la version du livre a également été mise à jour vers la version 8.0.
Objectif
Ce guide fournit une orientation complète sur la création d’applications web monolithiques à l'aide d'ASP.NET Core et d’Azure. Dans ce contexte, « monolithique » fait référence au fait que ces applications sont déployées en tant qu’unité unique, et non comme une collection de services et d’applications qui interagissent. Dans certains contextes, le terme monolithe peut être utilisé comme un péjoratif, mais dans la grande majorité des situations, une application unique est beaucoup plus facile à créer, déployer et déboguer qu’une application composée de nombreux services différents, tout en satisfaisant les exigences professionnelles.
Ce guide est complémentaire à «microservices .NET. Architecture pour les applications .NET conteneurisées«, qui se concentre davantage sur Docker, les microservices et le déploiement de conteneurs pour héberger des applications d’entreprise.
.NET Microservices. Architecture pour les applications .NET conteneurisées
- livre électronique
https://aka.ms/MicroservicesEbook - exemple d’application
https://aka.ms/microservicesarchitecture
Qui doit utiliser ce guide
Le public de ce guide est principalement des développeurs, des prospects de développement et des architectes qui s’intéressent à la création d’applications web modernes à l’aide des technologies et services Microsoft dans le cloud.
Un public secondaire est des décideurs techniques qui sont déjà familiers ASP.NET ou Azure et qui recherchent des informations sur s’il est judicieux de procéder à une mise à niveau vers ASP.NET Core pour les projets nouveaux ou existants.
Comment utiliser ce guide
Ce guide a été condensé dans un document relativement petit qui se concentre sur la création d’applications web avec des technologies .NET modernes et Azure. Par conséquent, il peut être lu dans son intégralité pour fournir une base de compréhension de ces applications et de leurs considérations techniques. Le guide, ainsi que son exemple d’application, peut également servir de point de départ ou de référence. Utilisez l’exemple d’application associé comme modèle pour vos propres applications ou découvrez comment organiser les composants de votre application. Reportez-vous aux principes du guide et à la couverture des options d’architecture et des options technologiques et des considérations de décision lorsque vous pesez ces choix pour votre propre application.
N’hésitez pas à transférer ce guide à votre équipe pour vous aider à mieux comprendre ces considérations et opportunités. Le fait que tout le monde travaille à partir d’un ensemble commun de terminologie et de principes sous-jacents permet de garantir une application cohérente des modèles et pratiques architecturaux.
Envoyer vos commentaires
Ce livre et les exemples connexes évoluent constamment, de sorte que vos commentaires sont accueillis. Si vous avez des commentaires sur la façon dont ce livre peut être amélioré et que vous lisez ce livre sur <learn.microsoft.com>, utilisez la section Commentaires en bas de la page :
Comme indiqué dans la capture d’écran précédente, la section commentaires vous permet d’envoyer des commentaires pour :
- Ce produit : en utilisant le formulaire Contactez-nous au sujet du produit .NET.
- Cette page : en utilisant un modèle de problème GitHub avec les détails de la page.
Si vous lisez ce livre au format PDF, vous pouvez envoyer vos commentaires en créant un nouveau problème GitHub pour la documentation .NET ou en utilisant les Livres électroniques sur l’architecture .NET : modèle de problème GitHub.
Références
- choisir entre .NET et .NET Framework pour les applications serveur
https://learn.microsoft.com/dotnet/standard/choosing-core-framework-server