What is Azure Spring Apps?
Azure Spring Apps is a fully managed platform for running Spring Boot and Spring Cloud applications on Azure. It handles infrastructure management, auto-patching, monitoring, and scaling, allowing Java developers to focus on application logic. Enterprise tier includes VMware Tanzu components for advanced microservices patterns.
Deployment Models
Basic/Standard Tier
Suitable for development and small production workloads. Supports up to 25 app instances per service. Built-in service discovery with Eureka and config management with Spring Cloud Config Server. Costs start at approximately $0.05/vCPU-hour.
Enterprise Tier
Built on VMware Tanzu, includes Application Configuration Service, Spring Cloud Gateway, API Portal, and Application Live View. Supports up to 1,000 app instances. Tanzu Build Service creates optimized container images using buildpacks without Dockerfiles.
Key Features
Blue-Green Deployments
Deploy new versions as staging deployments and swap to production with zero downtime. Roll back instantly if issues are detected. Traffic splitting enables canary deployments by routing a percentage of traffic to the new version.
Autoscaling
Scale based on CPU, memory, HTTP requests, or custom metrics. Scale to zero for cost optimization when apps are not receiving traffic. Burst scaling handles sudden traffic spikes in seconds.
Managed Middleware
Spring Cloud Config Server centralizes configuration across all applications. Service Registry enables dynamic service discovery. Spring Cloud Gateway provides API routing with rate limiting, circuit breaking, and security filters.
Observability
Built-in integration with Application Insights provides distributed tracing across microservices. Live metrics stream shows real-time request rates and response times. Log Analytics aggregates logs from all application instances for centralized querying with KQL.
Best Practices
- Use managed identities for credential-free Azure service access
- Implement health probes for reliable scaling and routing decisions
- Configure custom domains with managed SSL certificates
- Use VNet integration for private deployments
Key Features and Capabilities
The following are the core capabilities that make this technology essential for modern cloud infrastructure:
Managed Spring Runtime
Fully managed Tomcat, Spring Boot, and Spring Cloud runtime with automatic JVM tuning, memory optimization, and garbage collection configuration
Built-In Service Discovery
Eureka and Kubernetes service discovery without infrastructure management, enabling Spring Cloud microservices to locate each other automatically
Config Server
Centralized Spring Cloud Config Server backed by Git repositories for externalized configuration management with hot-reload across all application instances
API Gateway Integration
Spring Cloud Gateway routes with predicates, filters, and load balancing — integrated with Azure Application Gateway for WAF and TLS termination
Application Insights
Zero-code Java agent auto-instruments Spring applications for distributed tracing, dependency mapping, live metrics, and performance diagnostics
Real-World Use Cases
Organizations across industries are leveraging this technology in production environments:
Microservices Migration
A logistics company migrated 30 Spring Boot microservices from on-premises Tomcat servers to Azure Spring Apps, reducing operational overhead by 70%
Event-Driven Architecture
A real-time bidding platform uses Spring Cloud Stream with Azure Event Hubs, processing 100K events/second with auto-scaling and built-in retry logic
Enterprise API Platform
A bank runs Spring Cloud Gateway on Azure Spring Apps as the central API entry point, handling authentication, rate limiting, and request transformation
Legacy Modernization
A government agency incrementally strangled a monolithic Java application by extracting Spring Boot microservices into Azure Spring Apps one module at a time
Best Practices and Recommendations
Based on enterprise deployments and production experience, these recommendations will help you maximize value:
- Use Enterprise tier for production — it includes VMware Tanzu components (Build Service, Service Registry, API Portal) essential for enterprise Java workloads
- Configure JVM memory settings explicitly (JAVA_OPTS) rather than relying on defaults — Spring Boot applications benefit from container-aware memory tuning
- Implement Spring Cloud Config Server with Git backend for environment-specific configuration rather than building configs into container images
- Enable Application Insights Java agent for ALL apps — the zero-code approach captures dependencies, SQL queries, and HTTP calls automatically
- Use deployment slots (blue-green) for zero-downtime releases with automatic traffic weight management and instant rollback capability
- Set health probes at /actuator/health with appropriate timeouts — Spring Boot startup time may require 60-90 second initial delay for large applications
Frequently Asked Questions
What Java versions does Azure Spring Apps support?
Azure Spring Apps supports Java 8, 11, 17, and 21 LTS versions on both OpenJDK and Microsoft Build of OpenJDK. The Enterprise tier also supports GraalVM native image compilation for faster startup times. You can specify the Java version per application deployment.
How does pricing work for Azure Spring Apps?
Basic tier starts at ~$0.05/vCPU/hour. Standard tier costs ~$0.07/vCPU/hour with more features. Enterprise tier costs ~$0.18/vCPU/hour, including VMware Tanzu components. A typical 3-app deployment on Standard costs $200-$400/month. Auto-scaling charges only for active instances.
Can I run non-Spring Java applications?
Yes. Azure Spring Apps supports any Java application in JAR or WAR format, including Quarkus, Micronaut, and plain Java web applications. The Spring Cloud features (Config Server, Service Discovery) are optional. Non-Spring apps can still benefit from managed runtime, scaling, and monitoring.



