Upload
others
View
12
Download
1
Embed Size (px)
Citation preview
Azure Spring Cloud
Asir Selvasingh
Principal PM Architect --- Java on Azure
September 2020
On KubernetesYou do not have to learn or
manage Kubernetes
Nov 2018 Nov 2019
52.5 Million+ Spring Boot downloads per month
95 Million+ Spring Boot downloads per month
Spring – trusted and growing
Source – The State of Spring 2020
https://tanzu.vmware.com/content/ebooks/state-of-spring-2020
Why Spring and Spring Cloud Apps
“The Spring and Spring/Boot frameworks
(57%) dominate today when it comes to
building microservices ” – Jakarta EE
Developer Survey
The world’s leading brands run on Azure
App Configuration
Event Hubs
Service Bus
Storage
Redis
Functions
Spring on Azure cloud.spring.io/spring-cloud-azure/
SQL Database
MySQL
PostgreSQL
Maria DB
Cosmos DB
• SQL
• MongoDB
• Cassandra
• Gremlin
SQL Database
PostgreSQL
MySQL
Active Directory (AAD)
AAD B2C
Spring Cloud Spring Data Spring Security
R2DBC Spring Cache
Redis Cache
Storage
Spring Messaging
Spring Resource
Service Bus
Micrometer
Monitor (includes Log Analytics)
Spring BootBuild anything
Spring CloudCoordinate anything
designed to get you up and running as quickly as possible,
with minimal upfront configuration of
Spring
provides a set of tools that makes communication
between microservices
easier
Spring-based Microservices
Spring-based MicroservicesSpring
Cloud Apps
Spring Cloud
Components
Spring Cloud
Components
Cloud
Services
App
Consumers
Breaker
dashboard
Service
registry
Distributed
tracing
Config
dashboard
IoT
Mobile
Browser
API
Gateway
Microservices
Microservices
Microservices
Message brokers
Databases
Common Impediments
High effort required to manage cloud infrastructure for Spring boot applications
Application lifecycle is difficult to manage
Painful to troubleshoot application issues
Spring
Cloud Apps
Spring Cloud
Components
Spring Cloud
Components
Cloud
Services
App
Consumers
Breaker
dashboard
Service
registry
Distributed
tracing
Config
dashboard
IoT
Mobile
Browser
API
Gateway
Microservices
Microservices
Microservices
Message brokers
Databases
Azure Spring Cloud
Azure Spring Cloud
More choices and full integration into Azure’s ecosystem and services
Fully managedinfrastructure
Built-in app lifecycle
management
Ease of monitoring
Enterprise ready
A fully managed service for Spring Boot microservices
Azure Spring Cloud
Jointly developed,
operated, and supportedManaged service
Zero code changesOut-of-the-box
monitoring and tracing
Tanzu Build Service
On KubernetesYou do not have to learn or
manage Kubernetes
©Microsoft Corporation Azure
Fully Managed Infrastructure – Azure Spring Cloud
▪ Built-in native Spring Cloud
components
▪ Config Server
▪ Service Registry
▪ Distributed Tracing
▪ Circuit Breaker
(upcoming)
▪ Blue/Green for zero downtime
▪ Auto Horizontal Scale based
on metrics or schedule
▪ VNET (private network) to
secure your app and traffic
Azure Database
for MySQL
Azure Cosmos DB
Azure Cache
for Redis
User Git Repository
Azure Spring Cloud
agents
Azure Spring Cloud
VMware Tanzu
Build Service
Azure Kubernetes Service
Service
Binding
Config
Source
Service RuntimeUser Environment
App 1 App 2 App N Config Server Service Registry Lifecycle Mgmt.
Log Stream Data Encryption
App Resiliency
Azure DevOps
CI/CD
GitHub
Jenkins
Custom Domain Self-Diagnostics
Metrics Tracing Managed IdentitiesLogs Service Principals
Azure Monitor Azure Active Directory
Simplify your cloud development for Spring applications
ResponsibilitiesDIY with Spring
Boot
Azure Spring
Cloud Service
Application
iteration,
debugging
CI/CD
Build and
manage Clusters
Host Spring
Cloud
Middleware
Monitoring and
logging
Scaling
Patching
Support
Customer VMware Microsoft
Azure Database
for MySQL
Azure Cosmos DB
Azure Cache
for Redis
User Git Repository
Azure Spring Cloud
agents
Azure Spring Cloud
VMware Tanzu
Build Service
Azure Kubernetes Service
Service
Binding
Config
Source
Service RuntimeUser Environment
App 1 App 2 App N Config Server Service Registry Lifecycle Mgmt.
Log Stream Data Encryption
App Resiliency
Azure DevOps
CI/CD
GitHub
Jenkins
Custom Domain Self-Diagnostics
Metrics Tracing Managed IdentitiesLogs Service Principals
Azure Monitor Azure Active Directory
Demo –Azure Spring Cloud
Demo
Deploy Spring Cloud apps to Azure without worrying about:
Infrastructure and scaling
Learning or managing K8s
Spring Cloud middleware – config, registry,
tracing and gateway, or
Monitoring
Deploy and Visualize
Setup Diagnostics
Troubleshoot
Troubleshoot
Which app instance is misbehaving | slow?
Which App Instance is misbehaving | slow?
Monitor Performance
Monitor Performance
Monitor Failures
Manage secrets – zero-trust model
Reference Arch – isolate apps and expose apps to Internet
Integrate with Azure Firewall & App Gateway to allow | deny traffic to
FQDNs
AzureFirewallSubnet
Corp Firewal
GatewaySubnet Management subnet
Jumpbox VM
hub-virtual-network spoke-virtual-network
Virtual network
peering
Gateway
On-premises network
Microsoft
edge routers
Local edge
routers
ExpressRoute
circuit
ExpressRoute
Gateway
Customer s network
Internet
...
Private FQDN
User configuration
L3-L7 Connectivity Policies
Microsoft Threat Intelligence
Known Malicious IPs and FQDNs
Threat intel, NAT,
network and application
traffic filtering rules
allow inbound |
outbound access
Traffic is denied by default
RG = corporate-hub
service-runtime-subnet jumpbox-subnet
mysql-subnetapps-subnet
Config Server Service Registry
...
DNS Azure Load
balancer
default subnet
Corp Application
Gateway
Demo code repo
https://github.com/Azure-Samples/spring-petclinic-microservices
Azure Spring Cloud – Recap
Azure Spring Cloud - Benefits
Easily monitor
your apps
Built-in application
lifecycle management
Simplify infrastructure
management
Easily identify performance
bottlenecksSpring Cloud componentsRun your Spring Boot apps
Gain insight into app dependencies
using Azure MonitorDeploy source code or build artifactsScalable global infrastructure
Aggregate metricsAutomatically wire your app with
Spring Cloud infrastructure
Reduce downtime and deployment
risk
On KubernetesYou do not have to learn or
manage Kubernetes
Spring Azure
App Configuration
Event Hubs
Service Bus
Storage
Redis
Functions
cloud.spring.io/spring-cloud-azure/
SQL Database
MySQL
PostgreSQL
Maria DB
Cosmos DB
• SQL
• MongoDB
• Cassandra
• Gremlin
SQL Database
PostgreSQL
MySQL
Active Directory (AAD)
AAD B2C
Spring Cloud Spring Data Spring Security
R2DBC Spring Cache
Redis Cache
Storage
Spring Messaging
Spring Resource
Service Bus
Micrometer
Monitor (includes Log Analytics)
Get specialized assistance building Java apps or migrating them to Azure Spring Cloud
We cana) Guide your design and plan – thru architecture design session / workshop
b) Help build representative proof of concepts or pilot• By customer and engineers in Java on Azure team
Nominate yourself …
Get specialized assistance building Java apps or migrating them to Azure Spring Cloud
http://aka.ms/pilot-my-spring-cloud-apps
©Microsoft Corporation
Azure
Build your cloud-native solutions today!
Get started --
o Deploy Spring apps to Azure Spring Cloud using quickstart
o Learn using a self-paced workshop on GitHub
o Deploy an existing app to Azure Spring Cloud
o Learn more about implementing solutions on Azure Spring Cloud
o Migrate your Spring Boot, Spring Cloud and Tomcat apps to Azure Spring Cloud
o Wire Spring apps to interact with Azure services
https://aka.ms/get-started-with-azure-spring-cloudhttps://github.com/microsoft/azure-spring-cloud-traininghttps://github.com/Azure-Samples/spring-petclinic-microserviceshttps://docs.microsoft.com/en-us/azure/spring-cloud/https://docs.microsoft.com/en-us/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-cloudhttps://docs.microsoft.com/en-us/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-cloudhttps://aka.ms/migrate-tomcat-to-azure-spring-cloud-servicehttps://docs.microsoft.com/en-us/azure/developer/java/spring-framework/