Java on Azure
Migrate a Spring Boot Customer Portal to Azure: App Service, Container Apps, Key Vault, PostgreSQL, Service Bus, and Application Insights. Seven labs, real Azure resources.
View badge details
About This Course
Course Curriculum
14 Lessons
Azure for Java Developers
Learn Azure regions and availability zones, the Azure resource hierarchy (subscription → resource group → resource), Azure CLI basics, Java-specific Azure services (App Service, Container Apps, Azure Spring Apps, AKS), Managed Identity, and the Azure Maven plugin. This lesson introduces the Azure environment where the Meridian Financial Customer Portal will be deployed.
App Service Deployment - Lab Exercises
Configure the Azure Webapp Maven Plugin with the lab subscription ID, deploy the Meridian Customer Portal to Azure App Service, set the Java 21 runtime, configure environment variables, and verify the live deployment responds correctly.
Azure Container Apps with Spring Boot
Learn containers vs PaaS, Azure Container Registry (ACR), Azure Container Apps (ACA) architecture including environments, apps, and revisions, az containerapp CLI commands, traffic splitting for blue/green deployments, and when to use ACA vs App Service vs AKS.
Container Apps - Lab Exercises
Complete the Meridian Portal Dockerfile, build and push to Azure Container Registry, create a Container Apps environment, deploy the containerized Spring Boot app, and verify it responds at the public FQDN.
Azure Key Vault & Secrets Management
Learn why secrets must not be in source code, Azure Key Vault secrets vs keys vs certificates, Managed Identity assignment to Container Apps, spring-cloud-azure-starter-keyvault-secrets auto-configuration, @Value binding from Key Vault, and secret rotation strategies.
Key Vault - Lab Exercises
Create Azure Key Vault, store database and app secrets, enable Managed Identity on the Container App, grant Key Vault Secrets User role, add the Spring Cloud Azure Key Vault starter, and remove all plaintext secrets from configuration files.
Azure Database for PostgreSQL Flexible Server
Learn Azure PostgreSQL Flexible Server vs Single Server, provisioning with Azure CLI, firewall rules vs VNet integration, Spring Boot datasource configuration for PostgreSQL, Flyway database migrations for production schema management, and connection pooling with PgBouncer.
PostgreSQL - Lab Exercises
Hands-on exercises provisioning Azure Database for PostgreSQL Flexible Server, configuring Spring Boot with Flyway migrations, and deploying the Meridian Financial application with a managed PostgreSQL backend.
Azure Service Bus & Async Messaging
AI-guided lesson on Azure Service Bus queues vs topics, the azure-messaging-servicebus SDK, ServiceBusSenderClient and ServiceBusProcessorClient, dead-letter queues, at-least-once delivery, and replacing synchronous notification calls with async messaging.
Service Bus - Lab Exercises
Hands-on exercises creating an Azure Service Bus namespace and queue, implementing ServiceBusSenderClient in CustomerService, writing a Flyway migration for the notification log table, and verifying messages are published on customer creation.
Monitoring with Application Insights
AI-guided lesson on Azure Monitor vs Application Insights, auto-instrumentation vs manual SDK, TelemetryClient, custom events and metrics, distributed tracing with correlation IDs, live metrics stream, and creating alert rules via Azure CLI.
Application Insights - Lab Exercises
Hands-on exercises provisioning Application Insights, adding the Spring Boot starter, implementing TelemetryClient custom events, configuring alert rules, and querying telemetry with KQL in the Meridian Financial Customer Portal.
Capstone Briefing
AI-guided capstone briefing reviewing the full Meridian Financial cloud migration journey (App Service, Container Apps, Key Vault, PostgreSQL, Service Bus, Application Insights) and introducing the capstone: implement the Service Bus consumer that processes CustomerCreatedEvent messages and writes to the notification_log table.
Capstone: Meridian Financial Service Bus Consumer
Capstone project: implement the ServiceBusProcessorClient consumer to process CustomerCreatedEvent messages, write a Flyway migration for the notification_log table, verify end-to-end flow from HTTP POST through PostgreSQL and Service Bus to notification_log, and confirm telemetry in Application Insights.