10 mars 2022

Platform as a Service : l'exemple de Django sur Azure App Service

AuteurLuka Penezić
Catégories

"Platform as a Service" (en Français « Plateforme en tant que service » - PaaS) définit les services d’ « informatique dans le Cloud » (Cloud Computing) proposés par différents fournisseurs pour faciliter le travail des développeurs. Grâce à ce type de services, les développeurs peuvent consacrer plus de temps à des tâches plus importantes, comme le développement. Dans la partie précédente de la série d’articles "Platform as a Service", nous avons examiné l'exemple de Django sur Google App Engine.

Dans cette partie, nous nous intéressons plus particulièrement à la Plateforme en tant que Service sur Azure App Service.

Microsoft Azure App Service : Définition et avantages

Microsoft Azure est l'un des meilleurs fournisseurs de services Cloud. Cette plateforme fournit divers services pour tous les scénarios Cloud. L'une des principales raisons de sa qualité est qu'Azure permet un déplacement facile entre les Clouds locaux et les Clouds publics. Elle est également une plate-forme robuste et qui conserve la cohérence entre les applications. (Source)

Azure PaaS est idéal pour ces utilisations

Comme décrit précédemment, la plate-forme en tant que service (PaaS) est utilisée dans les organisations commerciales pour des scénarios tels que le cadre de développement et la veille économique. La PaaS offre plus de fonctionnalités pour les outils commerciaux, de middleware et d'outils de développement. En général, l'utilisation de plateforme en tant que service avec Azure App Service est idéale pour : (Source)

  • Les équipes de développement d'entreprises qui cherchent à optimiser le temps de mise sur le marché des applications.
  • Les organisations ayant des coûts d'exploitation élevés et souhaitant réduire les exigences de gestion d'un ensemble d'applications.
  • Les organisations nécessitant des métriques de support clés pour l'utilisation et la facturation.
  • Les entreprises cherchant à réduire les coûts informatiques et à réduire la complexité des éléments liés aux bases de données et aux systèmes d'exploitation tout en améliorant l'évolutivité.
  • Les entreprises qui cherchent à améliorer la qualité des services de leur entreprise peuvent grandement bénéficier du PaaS.

Le principal service intéressant pour ce sujet est App Service. Comme indiqué sur le site officiel :

Django sur Azure App Service : Un guide étape par étape

Azure App Service est un service d'hébergement web entièrement géré qui prend en charge les applications Python 3.7 et supérieures hébergées dans un environnement de serveur Linux. En suivant les instructions officielles, tout le processus devrait être simple.
Voici un guide étape par étape : (Source)

EXIGENCES : Profil Azure et échantillon d'application terminée en Django

1) Configurez votre environnement initial
2) Clonez l'échantillon
3) Exécutez l'échantillon
4) Déployez l'échantillon
5) Naviguez vers l'application
6) Redéployez les mises à jour
7) Streamez les logs
8) Gérez l'application Azure
9) Nettoyez les ressources

Mais nous allons procéder étape par étape, en décrivant la procédure complète.

Django sur Azure App Service : Mise en œuvre pas à pas

Tout d'abord, nous avons besoin d'une application dans le cadre de Django que nous pouvons utiliser. Par exemple, Azure propose un exemple d'application sur GitHub afin que chacun puisse cloner le dépôt et l'utiliser pour les formations.  

Pour exécuter l'application localement, dans CMD nous devons passer au dépôt cloné, créer un environnement virtuel pour l'application, installer les dépendances et enfin exécuter l'application.

Dans le navigateur Web, entrez http://localhost:8000 et l'application Django python devrait être visible.

Pour héberger votre application sur Azure, vous devez créer une application Web Azure App Service dans Azure. Vous pouvez créer une application Web à l'aide du portail Azure, de VS Code en utilisant le pack d'extension Azure Tools, ou de l'Azure CLI. Le moyen le plus simple est de passer par le portail Azure, dans la barre de recherche en haut, entrez "app services".

Sélectionnez l'élément intitulé "App Services" sous le titre "under Services" dans le menu qui apparaît sous la barre de recherche. Cliquez sur +Créer et remplissez les champs obligatoires : Groupe de ressources, nom, pile d'exécution, région et plan de service d'application.

Le service Azure App prend en charge plusieurs méthodes pour déployer le code de votre application sur Azure, notamment la prise en charge des actions GitHub et des principaux outils CI/CD. Dans cet article, nous allons expliquer le déploiement par fichier ZIP.

Lors du déploiement du fichier ZIP de votre code Python, vous devez définir un drapeau pour activer l'automatisation de la construction d'Azure. L'automatisation de la construction installera toutes les exigences nécessaires et conditionnera l'application pour qu'elle s'exécute sur Azure.

'automatisation de la construction dans Azure est activée en définissant le paramètre d'application SCM_DO_BUILD_DURING_DEPLOYMENT dans le portail Azure ou Azure CLI. Ensuite, créez un fichier ZIP de votre application. Vous ne devez inclure que les composants de l'application elle-même. Une fois que vous avez un fichier ZIP, le fichier peut être téléchargé vers Azure en utilisant soit Azure CLI, soit un client HTTP comme Postman ou cURL.

Félicitations ! Vous avez déployé votre application Django sur App Service.

Pour vérifier votre application, ouvrez un navigateur Web et entrez l'URL : http://<nom-de-l'application>.azurewebsites.net. Le démarrage de l'application peut prendre une minute ou deux, donc si vous voyez une page d'application par défaut, attendez une minute et rafraîchissez le navigateur.

Avec l'exemple de Django sur Azure App Service en mode PaaS, nous voyons que le Cloud computing en général et le PaaS en particulier deviennent de plus en plus populaires et matures. Vous souhaitez lire plus d'articles de blog sur des sujets tels que le le Cloud ou la PaaS ? Alors n'hésitez pas à vous rendre dans la catégorie de blogs sur le Cloud.


Articles recommandé
28 septembre 2022 Glossaire informatique de Libelle, partie 17 : Qu'est-ce que l'automatisation des processus informatiques ?

Tous les articles du blog