Introduction

Effectué

Mettez-vous dans la peau d’un développeur Java : vous générez et déployez des applications devant s’exécuter sur des serveurs locaux. L’orchestration de ces serveurs, des dépendances et de la mise à l’échelle (pour n’en nommer que quelques-uns), est un processus délicat.

Contrairement aux machines virtuelles qui émulent du matériel, les conteneurs s’exécutent directement sur le système d’exploitation, le noyau et le matériel hôtes, comme tous les autres processus. Cela signifie que les conteneurs ont besoin de moins de ressources système, ce qui permet de réduire l’encombrement en diminuant la charge, d’accélérer les temps de démarrage d’application, et d’obtenir un excellent cas d’usage pour la mise à l’échelle à la demande.

Avec les conteneurs, vous garantissez que vos applications et dépendances sont toujours isolées dans des images conteneur et qu’elles sont prêtes pour le déploiement à grande échelle.

Dans ce module, vous allez d’abord conteneuriser une application Java. Pour plus de confort, nous avons sélectionné une application Java existante. Depuis l’Internet ouvert et partagé dans le cadre de la licence MIT, le système Flight Booking System for Airline Reservations est un système web de réservation de vols, basé sur un exemple de compagnie aérienne. Il est construit avec l’architecture MVC (modèle-vue-contrôleur), créée à l’aide de Java Servlets et de JSP (Java Server Pages).

Vous allez ensuite construire un Dockerfile et écrire les instructions Docker nécessaires pour générer une image conteneur. Ensuite, vous exécuterez l’image conteneur localement et testerez l’application. Vous transmettrez ensuite l’image conteneur à Azure Container Registry et vous la déploierez sur Azure Kubernetes Service.

À la fin de ce module, vous saurez conteneuriser une application Java, envoyer l’image conteneur à Azure Container Registry, puis la déployer sur Azure Kubernetes Service.

Vous utilisez votre propre abonnement Azure (avec un accès pour créer, mettre à jour et supprimer des ressources) afin de déployer les ressources dans ce module. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Important

Pour éviter des frais inutiles dans votre abonnement Azure, pensez à déprovisionner vos ressources Azure quand vous en avez terminé avec ce module.

Objectifs d’apprentissage

À la fin de ce module, vous saurez effectuer les opérations suivantes :

  • Conteneuriser une application Java.
  • Générer une image conteneur pour l’application Java.
  • Exécuter l’image conteneur localement.
  • L'envoi (push) de l'image conteneur à Azure Container Registry.
  • Déployer l’image conteneur dans Azure Kubernetes Service.

Prérequis

En tant que développeur Java, vous connaissez déjà la génération d’applications. Pour effectuer les exercices de ce module, vous allez utiliser un compte Azure personnel. Veillez à disposer des ressources suivantes :

  • Un abonnement Azure avec un accès pour créer, mettre à jour et supprimer des ressources
  • Installations locales de Docker CLI, Git CLI et Azure CLI (2.12 ou ultérieur)