Introductie
Stel dat u een Java-ontwikkelaar bent, apps bouwt en implementeert om on-premises servers uit te voeren. Het is een lastig proces om deze servers te organiseren en afhankelijkheden, schalen en andere overwegingen te beheren.
In tegenstelling tot virtuele machines die hardware emuleren, worden containers rechtstreeks boven op het hostbesturingssysteem, kernel en hardware uitgevoerd als gewone processen. Doordat containers zo eenvoudig zijn, vereisen ze minder systeembronnen. Het resultaat is een kleinere footprint met aanzienlijk minder overhead, snellere opstarttijden voor apps en een goed gebruiksvoorbeeld voor het schalen op aanvraag.
Met containers zorgt u ervoor dat uw apps en afhankelijkheden altijd worden geïsoleerd in containerinstallatiekopieën en klaar zijn voor implementatie op schaal.
In deze module gaat u eerst een bestaande Java-app containeriseren. Vanaf het open internet en gedeeld onder de MIT-licentie is Flight Booking System for Airline Reservations een volledig responsief, voorbeeld van een webgebaseerd Flight Booking System op basis van een voorbeeldmaatschappij, gebouwd met de MVC-architectuur (Model View Controller) die is gemaakt met behulp van Java Servlets en Java Server Pages (JSP's). De oorspronkelijke webtoepassing is ontworpen om te worden uitgevoerd op Java SE 8 en Tomcat 8.5. Het is echter bijgewerkt om de toepassing te moderniseren, zodat deze kan worden uitgevoerd op Java SE 17 en Tomcat 10.1.
Na het containeriseren van de app maakt u vervolgens een Dockerfile en schrijft u de Docker-instructies die nodig zijn om een containerimage te bouwen. Vervolgens voert u de containerafbeelding lokaal uit en test u de app. Vervolgens pusht u de containerinstallatiekopieën naar Azure Container Registry en implementeert u deze in Azure Kubernetes Service.
Aan het einde van deze module kunt u een Java-app in een container plaatsen, de containerinstallatiekopieën naar Azure Container Registry pushen en vervolgens implementeren in Azure Kubernetes Service.
U gebruikt uw eigen Azure-abonnement, met toegang tot het maken, bijwerken en verwijderen van resources, om de resources in deze module te implementeren. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Belangrijk
Om onnodige kosten in uw Azure-abonnement te voorkomen, vergeet niet uw Azure-resources te verwijderen zodra u deze module heeft afgerond.
Leerdoelen
Aan het einde van deze module kunt u de volgende taken uitvoeren:
- Een Java-app containeriseren.
 - Bouw een containerimage voor de Java-app.
 - Voer de containerafbeelding lokaal uit.
 - Push de containerimage naar Azure Container Registry.
 - Implementeer de containerimage naar Azure Kubernetes Service.
 
Voorwaarden
Als Java-ontwikkelaar bent u al bekend met het bouwen van apps. Wanneer u de oefeningen in deze module voltooit, gebruikt u een persoonlijk Azure-account. Zorg ervoor dat u over de volgende resources beschikt:
- Een Azure-abonnement met toegang tot het maken, bijwerken en verwijderen van resources.
 - Lokale installaties van Docker CLI, Git CLI en Azure CLI, versie 2.66 of hoger.