Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. ASP.NET Core MVC
  3. Le déploiement
Extrait - ASP.NET Core MVC Maîtrisez ce framework web puissant, ouvert et multiplateforme (3e édition)
Extraits du livre
ASP.NET Core MVC Maîtrisez ce framework web puissant, ouvert et multiplateforme (3e édition) Revenir à la page d'achat du livre

Le déploiement

Déploiement sur Azure

Le cloud computing ou informatique dans les nuages, abrégé cloud, est l’exploitation de la puissance de calcul et/ou de stockage de serveurs informatiques, généralement installés dans des data centers.

Selon la définition du National Institute of Standards and Technology (NIST), le cloud computing est l’accès via un réseau de télécommunications, à la demande et en libre-service, à des ressources informatiques partagées et configurables.

Il existe différentes manières de consommer des services dans le cloud : IaaS, PaaS et SaaS sont les principales. Le but premier est de délocaliser l’infrastructure des entreprises :

  • Infrastructure as a Service (IaaS) permet d’utiliser une infrastructure comme un service et d’étendre une infrastructure existante avec notamment des réseaux de stockage, des serveurs, etc. Seul le matériel est dématérialisé.

  • Par Platform as a Service (PaaS), le fournisseur propose au consommateur une infrastructure déjà déployée et configurée. Les systèmes d’exploitation installés au sein de ces plateformes n’ont plus qu’à accueillir les outils de gestion de bases de données, les serveurs web ou encore des outils de développement.

  • Software as a Service (SaaS)...

Déploiement sur IIS

Historiquement intégré au sein de Microsoft Windows, Internet Information Services (IIS) permet de gérer vos applications web via une plateforme à la fois sécurisée, fiable, modulaire et facile d’accès pour le développeur. Afin de résumer correctement IIS, nous pourrions dire qu’il permet de :

  • Déployer et faire fonctionner des sites web. Les technologies supportées sont celles de Microsoft, à savoir ASP, ASP.NET ou ASP.NET Core aujourd’hui. IIS supporte également PHP.

  • Isoler les applications entre elles via des pools applicatifs (gestion séparée de la mémoire). Ce mode de fonctionnement dit en "sandbox" permet d’attribuer un processus unique au site, et ainsi de réduire les risques de sécurité.

  • Modulariser à souhait la plateforme via des composants IIS.

  • Augmenter la réactivité du site via des caches.

Cette partie a pour objectif de montrer pas à pas le déploiement d’un site ASP.NET Core sur IIS.

La suite sous-entend que le service Web Server (IIS) est activé sur la machine. Le service est activable dans les fonctionnalités Windows via la fenêtre Programmes et Fonctionnalités.

Tout d’abord, il est important d’installer le package .NET Core Windows Server Hosting sur le serveur. Ce dernier installera...

Déploiement sur Linux

Le déploiement sur Linux représente certainement l’une des plus grandes réussites d’ASP.NET Core. Déployer sur un environnement autre que IIS et Windows Server est une problématique que les équipes de développement de Microsoft ont gardé à l’esprit depuis le début. Aujourd’hui, déployer une application ASP.NET sur Linux est rendu possible via l’outil en ligne de commande dotnet et est extrêmement facile à mettre en place. Tout d’abord, il faut se munir d’une distribution Linux de type Ubuntu 14.04 Server (au minimum) avec un utilisateur ayant des privilèges sudo sur la machine, et d’un projet ASP.NET Core fonctionnel.

L’outil en ligne de commande Yeoman permet de créer un projet ASP.NET Core fonctionnel à partir de zéro. Ce dernier est particulièrement pratique dans un environnement n’utilisant pas Visual Studio.

Afin de publier sur un environnement Linux, il suffit de lancer la commande suivante :

dotnet publish 

La commande ci-dessus va créer ce qu’on appelle une self-contained app, c’est-à-dire une application capable de se lancer d’elle-même sans autres ressources supplémentaires. Le développeur est ensuite libre de copier le dossier nouvellement créé sur le serveur Linux. Un bon processus de déploiement intégrerait les composants suivants :

  • Un contrôleur de code source afin de stocker le code de l’application...