Créer une App pour Azure (partie 4)

Table des matières
La transition digitale a poussé les éditeurs de logiciels et les entreprises à migrer leurs applications sur le web. Les services du cloud Azure ont offert la plateforme idéale, les services adéquats, ainsi que les outils, pour réaliser un développement vers le tout numérique en gardant le contrôle total sur les données. Cette publication propose la création d’une application simple en découvrant certains de ces services et outils.

Création de l’infrastructure Azure

Une fois le container créé, on peut commencer à s’occuper de l’infrastructure Azure qui va accueillir notre application.

Cette publication est composée de plusieurs partie. Ceci étant la 4ème partie.

La nomination des services

Microsoft recommande de nommer les services d’une manière structurée.

  • Un acronyme ou un sigle pour le service.
  • Le type de ressource ou information précisant sa fonction.
  • Le nom de l’application si celui y est dédié.
  • La région du service.
  • l’instance du service.

Exemple :

SigleType de ressourceApplicationRegionInstanceDescription
pesqlsrvimagesgallerywesteu001Le point de terminaison du serveur SQL
pour l’application Images Gallery
stimagesgallerywesteu001Le stockage pour l’application Images Gallery
snetbackendimagesgallerywesteu001Le sous-réseau privé de l’application
Exemple de nomination de service

Azure Container Registry

La première des tâches va être de créer un “ACR” ou “Azure Container Registry”.

  • Créez un groupe de ressources pour les éléments du réseau.
  • Créez un “ACR” dans Azure de type basic.
  • Copiez son nom dans le presse-papier depuis l’onglet “Overview”.
  • Retournez dans VSCode et entrez la commande ci-dessous.
az login

Ceci va ouvrir une fenêtre de connexion pour vous connecter à votre compte Azure.

  • Refermez la fenêtre
  • Entrez la commande ci-dessous
az acr login --name [nom de l'ACR]

Ceci va vous connecter avec l’ACR.

  • Créez un tag de votre image docker. Un tag est une version de l’image, ici 1.0
docker tag [nom de l'image docker] [nom de l'ACR].azurecr.io/images-gallery:1.0
  • Pousser l’image dans Azure
docker push [nom de l'ACR].azurecr.io/images-gallery:1.0
  • Cliquez sur “Repositories” de l’ACR et vérifiez que le container est bien présent.
Le répertoire de l’ACR
  • Activez l’option “Admin”.
Activez le “Admin user”

App services

Microsoft Azure offre la possibilité de créer des applications sans se soucier de sa maintenance. Le service peut-être lié à un compte GitHub ou à un container. On peut aussi programmer un “CI/CD” pour créer un environnement de développement continu. Le service à également la possibilité de s’adapter à la demande (auto-scalling).

  • Créez un groupe de ressources pour l’application.
  • Créez un “App service plans” de type B1. La version gratuite ne permet pas de créer des certificats SSL.
Le plan tarifaire pour l’app service
  • Créez une application
  • Entrez un nom pour l’application. Celui-ci n’a pas vraiment d’importance. C’est le certificat SSL et le DNS qui donneront le vrai nom de l’application à utiliser dans l’URL.
  • Sélectionnez “Docker Container”.
  • Sélectionnez “Linux”.
  • Sélectionnez le plan tarifaire créé ci-dessus.
  • Sélectionnez le container depuis l’ACR.

Création de l’app

  • Laissez l’option “Enable Network injection sur Off”. La sécurité de l’application sera traitée plus tard.
  • Passez les autres options.

Voilà, l’application est créé et devrait déjà répondre à l’URL “https://[nom de l’app].azurewebsites.net/”. Le premier démarrage de l’app peut prendre une bonne minute, alors patience !

A ce stade, l’application devrait retourner une erreur de type “Failed to connect”. C’est normal. Il faut s’occuper de créer la base de données et le stockage.

L’écran d’erreur et un message

Le serveur SQL

Microsoft Azure propose son propre moteur de base de données baptisé “Azure SQL Server”. C’est une version allégée de “Microsoft SQL Serveur”. C’est un “PaaS”, à savoir une “Plateforme as a Service”. Au même titre que “L’App Services”, l’avantage du “PaaS” vient qu’il est administré par Microsoft. On ne s’occupe pas de la mise à jour, ni de la maintenance du serveur. Il est tout à fait possible de rendre le serveur redondant au travers des “réplicas” et du mode élastique.

Même si on utilise un service, il va falloir créer deux éléments, le serveur et la base de données.

  • Créez un groupe de ressources pour le serveur et la base de données.
  • Nommez-le “sqlsrv-imagesgallery-westeu-001”.
  • Entrez une location.
  • Entrez le login “azadmin” pour l’admin.
  • Entrez un mot de passe et confirmez-le. N’oubliez pas de le noter.
  • Créez le serveur.

Création du serveur de la base de données

La base de données

Deuxième étape, la création de la base de données. On va choisir les options les plus basiques

  • Sélectionnez le même groupe de ressources que le serveur SQL.
  • Nommez-le “sqldb-imagesgallery-westeu-001”.
  • Sélectionnez “No” pour l’option “elastic pool”.
  • Sélectionnez “Production”.
  • Sélectionnez le serveur le moins cher, c’est-à-dire l’option “Basic”.
  • Sélectionnez “LRS” pour la redondance.

Création de la base de données

Connexion à la base de données

Il va falloir paramétrer le serveur pour que l’on puisse y accéder.

  • Commencez par cliquer sur l’onglet “Networking” et vérifiez que l’option “Selected networks” est bien activée.
  • Ajoutez votre adresse IP publique dans la section concernant le firewall.
L’onglet “Networking” du serveur SQL
  • Cochez l’option l’exception “Allow Azure services and resources to access this server”.
Autoriser l’application à accéder à la base de données
  • Téléchargez Azure Data Studio et installez-le sur votre PC.
  • Cliquez sur l’onglet “Overview” du serveur SQL.
  • Récupérez son nom en cliquant sur la note.
L’onglet “Overview” et le nom du serveur
  • Entrez les informations de connexions dans Azure Data Studio et connectez-vous.
  • Une fois la connexion active, on peut voir le nom du serveur et les dossiers y attenant.
Azure Data Studio

Création de la base de données

  • Copiez-Collez le petit script ci-dessous.
CREATE TABLE dbo.images
(
    ID int NOT NULL IDENTITY(1, 1), 
    Name nvarchar(255) NOT NULL, 
    URL nvarchar(255) NOT NULL, 
    Creation_Date datetime2(0) NOT NULL DEFAULT getdate(), 
    CONSTRAINT [PK_images_ID] PRIMARY KEY (ID)
)
GO
  • Enregistrez le dans un fichier “azure.sql”.
  • Retournez dans Azure Data Studio et ouvrez le fichier.
  • Acceptez les mises en garde de sécurité.
  • Cliquez sur “Run”.
La création de la base de données avec Azure Data Studio

Le stockage

Une des premières fonctions du cloud, c’est le stockage des données. Ici aussi, le stockage dans Azure est un service. Nul besoin d’installer un serveur de fichier.

  • Créez un groupe de ressources pour le stockage.
  • Créez un compte de stockage.
  • Entrez un nom pour le stockage. Le nom doit être UNIQUE au monde, sans majuscule et symboles.
  • Sélectionnez l’option “Standard”.
  • Sélectionnez l’option “LRS (Local Redundancy Storage)”.
  • Acceptez toutes les autres options.
  • Créez le compte de stockage.
La création du compte de stockage

La création du compte de stockage

Le coffre-fort (keyvault)

Le service suivant est le coffre-fort. C’est lui qui va garder le certificat et les mots de passe de connexion pour la base de données et le stockage.

  • Créez un “Key Vault”.
  • Sélectionnez le groupe de ressources du réseau.
  • Nommez-le “key-westeu-001”.
  • Créez le keyvault
Création du coffre-fort

Configurer le keyvault

Pour accéder au keyvault, les différents services doivent être enregistrés dans Azure AD.

  • Retournez dans l’application (App Services).
  • Cliquez sur l’onglet “Identity”.
  • Créez un “managed identity” de type “system assigned” pour l’application.
  • Activez le service en glissant le bouton sur “On”.
  • Copiez l’ID de l’objet.
L’enregistrement de l’application
  • Retournez dans le keyvault.
  • Cliquez sur l’onglet “Access Policies”.
  • Cliquez sur “Add Access policy”.
  • Sélectionnez “Get” pour le “Secret permissions”.
  • Sélectionnez “Select Principal”.
  • Collez l’ID de l’application.
  • Sauvegardez.

Ajout d’une police d’accès pour l’application

Les secrets

On appelle “secrets”, une chaîne de caractère de moins de 10kb servant comme mot de passe ou autres éléments confidentiels.

  • Retournez dans le compte de stockage.
  • Cliquez sur l’onglet “Access keys”.
  • Affichez les clés en cliquant sur “Show keys” tout en haut de l’écran.
  • Copiez la clé numéro 1.
Les clés d’accès au compte de stockage
  • Retournez dans le Keyvault.
  • Créez un secret pour le mot de passe du compte de stockage.
  • Nommez-le “key-imagesgallery-storage”.
  • Collez la clé numéro 1.
le secret du stockage
  • Recommencez pour la base de données.
  • Nommez-le cette fois-ci “key-imagesgallery-sqldb”.
  • Collez le mot de passe du serveur SQL. Si vous avez oublié de le noter, vous avez la possibilité de faire un reset du mot de passe.
Les deux secrets de l’infrastructure

A ce stade, l’application devrait fonctionner avec l’URL : “https://[nom de l’app].azurewebsites.net/”.

L’application (sans contenu)
  • Essayez de téléverser des images.

Vous devriez voir le résultat du téléversement. Il affiche le nombre d’images téléversées, le nombre d’images total ainsi que les erreurs survenues.

Le résultat du téléversement d’images
  • Cliquez sur le lien “Go Back” et vous verrez les vignettes des images s’afficher.
  • Il est alors possible de télécharger ou d’effacer les vignettes en cliquant sur l’icône de la poubelle et/ou du téléchargement.
L’application (avec du contenu)

Vérification du contenu

Il est possible de consulter le contenu de la base de donnée avec Azure Data Studio.

  • Connectez-vous à la base de données et lancez la requête SQL “Select * from images”.
  • Azure Data Studio affiche bien les images contenu dans l’application.
Le contenu de la base de données

De même, il est possible de vérifier le contenu du stockage.

Le contenu du container images

L’application va créer automatiquement un “container de blob” appelé images. Celui-ci contient nos images.

Voilà, l’application fonctionne et c’est déjà pas mal. Mais il est possible encore de l’améliorer.

Conclusion

Ce chapitre a couvert le registre dans lequel le container a été déposé, ainsi que les différents services utilisés pour cette application comme le stockage, la base de données et le coffre-fort.

Enfin, il est aussi question de deux des outils indispensables lorsque il est question d’utiliser les services de stockage et de bases de données.

  • Azure Data Studio
  • Azure Storage Explorer

Le prochain chapitre va s’articuler au tour de la sécurité de l’application et sur le cloud Azure en général.

Table des matières
A consulter également

Créer des champs personnalisés

Créer une App pour Azure (partie 3)

Site multilingue

Capturer une carte géographique

Exécutez du Javascript dans une page HTML

Ouvrir une connexion SSH sur un container

Liaison de pièces jointes

Le thème enfant et les paramètres globaux

Les fenêtres modales et le système de connexion

Comment ajouter le ReCaptcha (sans plugin)

A consulter également

Capturer une carte géographique

Supprimer les infos de mise à jour

Liaison de pièces jointes

SEO et réécriture des URL

Inscription

Pour vous inscrire, veuillez remplir les champs ci-dessous

Mot de passe oublié ?

Vous allez recevoir un message avec un lien vous permettant de renouveler votre mot de passe

Mise à jour du mot de passe

Veuillez entrer votre ancien mot de passe ainsi qu'un nouveau
et confirmer celui-ci

Connexion