Containerisatie en migratie van Java-web-apps naar Azure App Service
In dit artikel leert u hoe u Java-webtoepassingen in containers kunt plaatsen (uitgevoerd op Apache Tomcat) en deze kunt migreren naar Azure App Service met behulp van het hulpprogramma Azure Migrate: App Containerization. Het containerisatieproces vereist geen toegang tot uw codebasis en biedt een eenvoudige manier om bestaande toepassingen in een container te plaatsen. Het hulpprogramma werkt met behulp van de actieve status van de toepassingen op een server om de toepassingsonderdelen te bepalen en helpt u bij het verpakken ervan in een containerinstallatiekopieën. De containertoepassing kan vervolgens worden geïmplementeerd in Azure App Service.
Het hulpprogramma Azure Migrate: App Containerization ondersteunt momenteel het volgende:
- Java Web Apps op Apache Tomcat (op Linux-servers) containeriseren en implementeren in Linux-containers in App Service.
- Java Web Apps op Apache Tomcat (op Linux-servers) containeriseren en implementeren in Linux-containers op AKS. Meer informatie.
- Containeriseren ASP.NET apps en deze implementeren in Windows-containers in AKS. Meer informatie.
- Containeriseren van ASP.NET apps en deze implementeren in Windows-containers in App Service. Meer informatie.
Het hulpprogramma Azure Migrate: App Containerization helpt u bij het volgende:
- Ontdek uw toepassing: het hulpprogramma maakt extern verbinding met de toepassingsservers waarop uw Java-webtoepassing wordt uitgevoerd (uitgevoerd op Apache Tomcat) en detecteert de toepassingsonderdelen. Het hulpprogramma maakt een Dockerfile die kan worden gebruikt om een containerinstallatiekopieën voor de toepassing te maken.
- Bouw de containerinstallatiekopieën: u kunt de Dockerfile inspecteren en verder aanpassen aan uw toepassingsvereisten en deze gebruiken om de containerinstallatiekopieën van uw toepassing te bouwen. De containerinstallatiekopieën van de toepassing worden naar een Azure Container Registry gepusht die u opgeeft.
- Implementeren in Azure App Service: het hulpprogramma genereert vervolgens de implementatiebestanden die nodig zijn om de containertoepassing te implementeren in Azure App Service.
Notitie
Het hulpprogramma Azure Migrate: App Containerization helpt u bij het detecteren van specifieke toepassingstypen (ASP.NET en Java-web-apps op Apache Tomcat) en de bijbehorende onderdelen op een toepassingsserver. Voor het detecteren van servers en de inventarisatie van apps, functies en functies die worden uitgevoerd op on-premises machines, gebruikt u Azure Migrate: Detectie- en evaluatiemogelijkheid. Meer informatie.
Hoewel alle toepassingen niet profiteren van een rechte verschuiving naar containers zonder aanzienlijke herarchitectering, zijn enkele van de voordelen van het verplaatsen van bestaande apps naar containers zonder opnieuw te schrijven:
- Verbeterd infrastructuurgebruik: Met containers kunnen meerdere toepassingen resources delen en worden gehost op dezelfde infrastructuur. Dit kan u helpen bij het consolideren van de infrastructuur en het verbeteren van het gebruik.
- Vereenvoudigd beheer: Door uw toepassingen te hosten op een modern beheerd platform zoals AKS en App Service, kunt u uw beheerprocedures vereenvoudigen. U kunt dit bereiken door de infrastructuuronderhouds- en beheerprocessen die u traditioneel zou uitvoeren met de infrastructuur die u normaal gesproken zou uitvoeren, buiten gebruik te stellen of te verminderen.
- Draagbaarheid van toepassingen: Door de acceptatie en standaardisering van indelingen en platformen voor containerspecificaties is de overdraagbaarheid van toepassingen niet langer een probleem.
- Modern beheer aannemen met DevOps: Helpt u moderne procedures te gebruiken en te standaardiseren voor beheer en beveiliging en overgang naar DevOps.
In deze zelfstudie leert u het volgende:
- Een Azure-account instellen.
- Installeer het hulpprogramma Azure Migrate: App Containerization.
- Ontdek uw Java-webtoepassing.
- Bouw de containerinstallatiekopieën.
- Implementeer de containertoepassing in App Service.
Notitie
In zelfstudies ziet u het eenvoudigste implementatiepad voor een scenario, zodat u snel een haalbaarheidstest kunt instellen. Waar mogelijk maken zelfstudies gebruik van standaardopties en niet alle mogelijke instellingen en paden worden weergegeven.
Vereisten
Voordat u aan deze zelfstudie begint, dient u eerst:
Vereiste | Details |
---|---|
Een computer identificeren om het hulpprogramma te installeren | Een Windows-computer voor het installeren en uitvoeren van het hulpprogramma Azure Migrate: App Containerization. De Windows-computer kan een server (Windows Server 2016 of hoger) of een clientbesturingssysteem (Windows 10) zijn, wat betekent dat het hulpprogramma ook op uw bureaublad kan worden uitgevoerd. De Windows-computer waarop het hulpprogramma wordt uitgevoerd, moet een netwerkverbinding hebben met de servers/virtuele machines die als host fungeren voor de Java-webtoepassingen die in een container moeten worden geplaatst. Zorg ervoor dat er ruimte van 6 GB beschikbaar is op de Windows-computer met het hulpprogramma Azure Migrate: App Containerization voor het opslaan van toepassingsartefacten. De Windows-computer moet toegang hebben tot internet, rechtstreeks of via een proxy. |
Toepassingsservers | Schakel de SSH-verbinding (Secure Shell) in op poort 22 op de server(s) waarop de Java-toepassing(s) worden uitgevoerd om in een container te worden geplaatst. |
Java-webtoepassing | Het hulpprogramma ondersteunt momenteel: - Toepassingen die worden uitgevoerd op Tomcat 8 of hoger. - Toepassingsservers op Ubuntu Linux 16.04/18.04/20.04, Debian 7/8, CentOS 6/7, Red Hat Enterprise Linux 5/6/7. - Toepassingen met Java versie 7 of hoger. Het hulpprogramma biedt momenteel geen ondersteuning voor: - Toepassingsservers waarop meerdere Tomcat-exemplaren worden uitgevoerd. |
Een Azure-gebruikersaccount voorbereiden
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Zodra uw abonnement is ingesteld, hebt u een Azure-gebruikersaccount nodig met:
- Eigenaarsmachtigingen voor het Azure-abonnement.
- Machtigingen verlenen om Azure Active Directory-apps te registreren.
Als u net pas een gratis Azure-account hebt gemaakt, bent u de eigenaar van uw abonnement. Als u niet de eigenaar van het abonnement bent, kunt u met de eigenaar samenwerken om de volgende machtigingen toe te wijzen:
Zoek in de Azure Portal naar 'Abonnementen' en selecteer onder ServicesAbonnementen.
Selecteer op de pagina Abonnementen het abonnement waarin u een Azure Migrate-project wilt maken.
Selecteer onder het abonnement de optie Toegangsbeheer (IAM)>Toegang controleren.
Zoek onder Toegang controleren naar het relevante gebruikersaccount.
Klik onder Een roltoewijzing toevoegen op Toevoegen.
Selecteer in Roltoewijzing toevoegen de rol Eigenaar en selecteer het account (azmigrateuser in ons voorbeeld). Klik op Opslaan.
Uw Azure-account heeft ook machtigingen nodig om Azure Active Directory-apps te registreren. 8. Ga in Azure Portal naargebruikersinstellingen van Azure ActiveDirectory-gebruikers>>. 9. Controleer in gebruikersinstellingen of Azure AD-gebruikers toepassingen kunnen registreren (standaard ingesteld op Ja ).
- Als de instelling App-registraties is ingesteld op Nee, vraagt u de tenant/globale beheerder om de vereiste machtiging toe te wijzen. De tenant/globale beheerder kan de rol Toepassingsontwikkelaar ook toewijzen aan een account om de registratie van Azure Active Directory-app toe te staan. Meer informatie.
Azure Migrate downloaden en installeren: App Containerization-hulpprogramma
Download het installatieprogramma voor Azure Migrate: App Containerization op een Windows-computer.
Start PowerShell in de beheerdersmodus en wijzig de PowerShell-map in de map met het installatieprogramma.
Voer het installatiescript uit met behulp van de opdracht
.\AppContainerizationInstaller.ps1
Start het hulpprogramma App Containerization
Open een browser op elke computer die verbinding kan maken met de Windows-computer waarop het hulpprogramma App Containerization wordt uitgevoerd en open de URL van het hulpprogramma: https:// machinenaam of IP-adres: 44369.
U kunt de app ook openen vanaf het bureaublad door de snelkoppeling naar de app te selecteren.
Als u een waarschuwing ziet waarin staat dat uw verbinding niet privé is, klikt u op Geavanceerd en kiest u ervoor om door te gaan naar de website. Deze waarschuwing wordt weergegeven als de webinterface gebruikmaakt van een zelfondertekend TLS/SSL-certificaat.
Gebruik in het aanmeldingsscherm het lokale beheerdersaccount op de computer om u aan te melden.
Selecteer Java-web-apps in Tomcat als het type toepassing dat u in een container wilt opnemen.
Als u de Doel-Azure-service wilt opgeven, selecteert u Containers in Azure App Service.
Vereisten voor het hulpprogramma voltooien
- Accepteer de licentievoorwaarden en lees de informatie van derden.
- Voer de volgende stappen uit in de web-app >voor hulpprogramma's instellen:
- Connectiviteit: Het hulpprogramma controleert of de Windows-computer internettoegang heeft. Als de computer gebruikmaakt van een proxy:
- Klik op Proxy instellen om het proxyadres (in het ip-adres van het formulier of de FQDN) en de luisterpoort op te geven.
- Geef referenties op als de proxy verificatie nodig heeft.
- Alleen HTTP-proxy wordt ondersteund.
- Als u proxygegevens hebt toegevoegd of de proxy en/of verificatie hebt uitgeschakeld, klikt u op Opslaan om de connectiviteitscontrole opnieuw te activeren.
- Updates installeren: het hulpprogramma controleert automatisch op de meest recente updates en installeert deze. U kunt hier ook handmatig de nieuwste versie van het hulpprogramma installeren.
- Secure Shell (SSH) inschakelen: met het hulpprogramma wordt u geïnformeerd dat Secure Shell (SSH) is ingeschakeld op de toepassingsservers waarop de Java-webtoepassingen worden uitgevoerd om in een container te worden geplaatst.
- Connectiviteit: Het hulpprogramma controleert of de Windows-computer internettoegang heeft. Als de computer gebruikmaakt van een proxy:
Aanmelden bij Azure
Klik op Aanmelden om u aan te melden bij uw Azure-account.
U hebt een apparaatcode nodig om te verifiëren met Azure. Als u op Aanmelden klikt, wordt een modaal bestand geopend met de apparaatcode.
Klik op Code & kopiëren om de apparaatcode te kopiëren en open een Azure-aanmeldingsprompt in een nieuw browsertabblad. Als deze niet wordt weergegeven, controleert u of u de pop-upblokkering in de browser hebt uitgeschakeld.
Plak op het nieuwe tabblad de apparaatcode en voltooi de aanmelding met behulp van uw Azure-accountreferenties. U kunt het browsertabblad sluiten nadat het aanmelden is voltooid en terugkeren naar de webinterface van het hulpprogramma App Containerization.
Selecteer de Azure-tenant die u wilt gebruiken.
Geef het Azure-abonnement op dat u wilt gebruiken.
Java-webtoepassingen ontdekken
Het hulpprogramma App Containerization Helper maakt extern verbinding met de toepassingsservers met behulp van de opgegeven referenties en probeert Java-webtoepassingen (uitgevoerd op Apache Tomcat) te detecteren die worden gehost op de toepassingsservers.
Geef het IP-adres/de FQDN en de referenties op van de server waarop de Java-webtoepassing wordt uitgevoerd, die moeten worden gebruikt om extern verbinding te maken met de server voor toepassingsdetectie.
- De opgegeven referenties moeten zijn voor een hoofdaccount (Linux) op de toepassingsserver.
- Voor domeinaccounts (de gebruiker moet een beheerder zijn op de toepassingsserver), voorvoegt u de gebruikersnaam met de domeinnaam in het indelingsdomein<\gebruikersnaam>.
- U kunt toepassingsdetectie uitvoeren voor maximaal vijf servers tegelijk.
Klik op Valideren om te controleren of de toepassingsserver bereikbaar is vanaf de computer waarop het hulpprogramma wordt uitgevoerd en of de referenties geldig zijn. Na een geslaagde validatie wordt in de statuskolom de status weergegeven als Toegewezen.
Klik op Doorgaan om de detectie van toepassingen op de geselecteerde toepassingsservers te starten.
Wanneer de toepassingsdetectie is voltooid, kunt u de lijst met toepassingen selecteren die u wilt containeriseren.
Gebruik het selectievakje om de toepassingen te selecteren die u wilt containeriseren.
Geef de containernaam op: Geef een naam op voor de doelcontainer voor elke geselecteerde toepassing. De containernaam moet worden opgegeven als <naam:tag> waar de tag wordt gebruikt voor containerinstallatiekopieën. U kunt bijvoorbeeld de naam van de doelcontainer opgeven als appname:v1.
Toepassingsconfiguraties parameteriseren
Door de configuratie te parameteriseren, wordt deze beschikbaar als parameter voor implementatietijd. Hiermee kunt u deze instelling configureren tijdens het implementeren van de toepassing in plaats van deze in code te laten coderen voor een specifieke waarde in de containerinstallatiekopieën. Deze optie is bijvoorbeeld handig voor parameters zoals databaseverbindingsreeksen.
Klik op App-configuraties om gedetecteerde configuraties te controleren.
Schakel het selectievakje in om de gedetecteerde toepassingsconfiguraties te parameteriseren.
Klik op Toepassen nadat u de configuraties hebt geselecteerd om parameters te maken.
Afhankelijkheden van bestandssysteem externaliseren
U kunt andere mappen toevoegen die door uw toepassing worden gebruikt. Geef op of ze deel moeten uitmaken van de containerinstallatiekopieën of moeten worden ge externaliseerd naar permanente opslag via een Azure-bestandsshare. Het gebruik van externe permanente opslag werkt uitstekend voor stateful toepassingen die de status buiten de container opslaan of andere statische inhoud hebben opgeslagen op het bestandssysteem.
Klik onder App-mappen op Bewerken om de gedetecteerde toepassingsmappen te controleren. De gedetecteerde toepassingsmappen zijn geïdentificeerd als verplichte artefacten die nodig zijn voor de toepassing en worden gekopieerd naar de containerinstallatiekopieën.
Klik op Mappen toevoegen en geef de mappaden op die moeten worden toegevoegd.
Als u meerdere mappen aan hetzelfde volume wilt toevoegen, geeft u door komma's gescheiden waarden op
,
.Selecteer Azure-bestandsshare als opslagoptie als u wilt dat de mappen buiten de container worden opgeslagen in permanente opslag.
Klik op Opslaan nadat u de toepassingsmappen hebt bekeken.
Klik op Doorgaan om door te gaan met de buildfase van de containerinstallatiekopieën.
Containerinstallatiekopie maken
Selecteer Azure Container Registry: gebruik de vervolgkeuzelijst om een Azure Container Registry te selecteren die wordt gebruikt om de containerinstallatiekopieën voor de apps te bouwen en op te slaan. U kunt een bestaand Azure Container Registry gebruiken of ervoor kiezen om een nieuwe te maken met behulp van de optie Nieuw register maken.
Notitie
Alleen Azure-containerregisters waarvoor beheerdersgebruiker is ingeschakeld, worden weergegeven. Het beheerdersaccount is momenteel vereist voor het implementeren van een installatiekopieën van een Azure-containerregister in Azure App Service. Meer informatie.
Controleer het Dockerfile: Het Dockerfile dat nodig is om de containerinstallatiekopieën voor elke geselecteerde toepassing te bouwen, wordt gegenereerd aan het begin van de buildstap. Klik op Controleren om het Dockerfile te controleren. U kunt ook eventuele benodigde aanpassingen aan het Dockerfile toevoegen in de beoordelingsstap en de wijzigingen opslaan voordat u het buildproces start.
Application Insights configureren: u kunt bewaking inschakelen voor uw Java-apps die worden uitgevoerd in App Service zonder uw code te instrumenteren. Het hulpprogramma installeert de zelfstandige Java-agent als onderdeel van de containerinstallatiekopieën. Zodra de Java-agent is geconfigureerd tijdens de implementatie, verzamelt de Java-agent automatisch een groot aantal aanvragen, afhankelijkheden, logboeken en metrische gegevens voor uw toepassing die kan worden gebruikt voor bewaking met Application Insights. Deze optie is standaard ingeschakeld voor alle Java-toepassingen.
Buildproces activeren: selecteer de toepassingen voor het bouwen van installatiekopieën en klik op Bouwen. Als u op Build klikt, wordt de build van de containerinstallatiekopieën voor elke toepassing gestart. Het hulpprogramma blijft de buildstatus continu bewaken en u kunt doorgaan met de volgende stap nadat de build is voltooid.
De buildstatus bijhouden: u kunt ook de voortgang van de buildstap bewaken door te klikken op de koppeling Build in Voortgang onder de kolom Buildstatus . Het duurt enkele minuten voordat de koppeling actief is nadat u het buildproces hebt geactiveerd.
Zodra de build is voltooid, klikt u op Doorgaan om de implementatie-instellingen op te geven.
De container-app implementeren in Azure App Service
Zodra de containerinstallatiekopie is gemaakt, is de volgende stap het implementeren van de toepassing als een container in Azure App Service.
Selecteer het Azure App Service-plan: geef het Azure App Service-plan op dat de toepassing moet gebruiken.
- Als u geen App Service-plan hebt of een nieuw App Service-plan wilt maken dat u wilt gebruiken, kunt u er een maken vanuit het hulpprogramma door te klikken op Nieuw App Service-plan maken.
- Klik op Doorgaan nadat u het App Service-plan hebt geselecteerd.
Geef het geheime archief en de bewakingswerkruimte op: als u ervoor hebt gekozen om toepassingsconfiguraties te parameteriseren, geeft u het geheime archief op dat moet worden gebruikt voor de toepassing. U kunt azure Key Vault- of App Service-toepassingsinstellingen kiezen voor het beheren van uw toepassingsgeheimen. Meer informatie.
- Als u App Service-toepassingsinstellingen hebt geselecteerd voor het beheren van geheimen, klikt u op Doorgaan.
- Als u een Azure Key Vault wilt gebruiken voor het beheren van uw toepassingsgeheimen, geeft u de Azure Key Vault op die u wilt gebruiken.
- Als u geen Azure Key Vault hebt of een nieuwe Sleutelkluis wilt maken, kunt u er een maken vanuit het hulpprogramma door op Nieuwe maken te klikken.
- Met het hulpprogramma worden automatisch de benodigde machtigingen toegewezen voor het beheren van geheimen via de Key Vault.
- Werkruimte bewaken: Als u hebt geselecteerd om bewaking met Application Insights in te schakelen, geeft u de Application Insights-resource op die u wilt gebruiken. Deze optie is niet zichtbaar als u de bewakingsintegratie had uitgeschakeld.
- Als u geen Application Insights-resource hebt of een nieuwe resource wilt maken, kunt u ervoor kiezen om een nieuwe resource te maken vanuit het hulpprogramma door op Nieuwe maken te klikken.
Geef de Azure-bestandsshare op: Als u meer mappen/mappen hebt toegevoegd en de Optie voor permanente opslag voor Azure-bestandsshares hebt geselecteerd, geeft u de Azure-bestandsshare op die moet worden gebruikt door Azure Migrate: App Containerization-hulpprogramma tijdens het implementatieproces. Het hulpprogramma kopieert over de toepassingsmappen/mappen die zijn geconfigureerd voor Azure Files en koppelt deze tijdens de implementatie aan de toepassingscontainer.
- Als u geen Azure-bestandsshare hebt of een nieuwe Azure-bestandsshare wilt maken, kunt u ervoor kiezen om een nieuwe Azure-bestandsshare te maken vanuit het hulpprogramma door te klikken op Nieuw opslagaccount en bestandsshare maken.
Configuratie van toepassingsimplementatie: nadat u de bovenstaande stappen hebt voltooid, moet u de implementatieconfiguratie voor de toepassing opgeven. Klik op Configureren om de implementatie voor de toepassing aan te passen. In de configuratiestap kunt u de volgende aanpassingen opgeven:
- Naam: Geef een unieke app-naam op voor de toepassing. Deze naam wordt gebruikt voor het genereren van de toepassings-URL en wordt gebruikt als voorvoegsel voor andere resources die worden gemaakt als onderdeel van deze implementatie.
- Toepassingsconfiguratie: Geef voor alle toepassingsconfiguraties die zijn geparameteriseerd de waarden op die moeten worden gebruikt voor de huidige implementatie.
- Opslagconfiguratie: Bekijk de informatie voor toepassingsmappen/mappen die zijn geconfigureerd voor permanente opslag.
Implementeer de toepassing: zodra de implementatieconfiguratie voor de toepassing is opgeslagen, genereert het hulpprogramma de YAML voor de Kubernetes-implementatie voor de toepassing.
Klik op Controleren om de implementatieconfiguratie voor de toepassingen te controleren.
Selecteer de toepassing die u wilt implementeren.
Klik op Implementeren om implementaties voor de geselecteerde toepassingen te starten
Zodra de toepassing is geïmplementeerd, kunt u op de kolom Implementatiestatus klikken om de resources bij te houden die voor de toepassing zijn geïmplementeerd.
Problemen oplossen
Als u problemen met het hulpprogramma wilt oplossen, kunt u de logboekbestanden op de Windows-computer met het hulpprogramma App Containerization bekijken. Logboekbestanden van hulpprogramma's zijn beschikbaar in de map C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs .
Volgende stappen
- Java-web-apps in containers opslaan in Apache Tomcat (op Linux-servers) en deze implementeren in Linux-containers op AKS. Meer informatie
- Containeriseren van ASP.NET web-apps en implementeren in Windows-containers op AKS. Meer informatie
- Containeriseren ASP.NET web-apps en deze implementeren in Windows-containers in Azure App Service. Meer informatie