SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
MONOLITHS TO MICROSERVICES: APP
TRANSFORMATION
Hands-on Technical Workshop
Ram Maddali
Senior Architect
@RamMaddali
rmaddali@redhat.com
Anand Akella
Senior Architect
aakella@redhat.com
PART 3: MONOLITHS TO
MICROSERVICES WITH JAVA EE AND
SPRING BOOT
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB3
WHY MONOLITH TO MICROSERVICES
Break things down (organizations, teams,
IT systems, etc) down into smaller pieces
for greater parallelization and autonomy
and focus on reducing time to value.
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB4
REDUCING TIME TO VALUE
Month
0
Month
3
Week
1
Week
2
Week
3
Week
4
Week
5
Week
6
Week
7
Week
8
Week
9
Week
10
Week
11
Monolith Lifecycle
Fast Moving Monolith
Microservices
Optimizing for Speed
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
http://martinfowler.com/bliki/MonolithFirst.html
Monolith First?
http://martinfowler.com/bliki/MonolithFirst.html
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB66
THE BIGGER PICTURE: THE PATH TO
CLOUD-NATIVE APPS
A DIGITAL DARWINISM
SELF-SERVICE
ON-DEMAND
INFRA
RE-ORG TO
DEVOPS
AUTOMATION
CONTINUOUS
DELIVERY
ADVANCED
DEPLOYMENT
TECHNIQUES
MICROSERVICES
FAST
MONOLITH
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB7
● In this lab, you will begin to ‘strangle’ the coolstore monolith by implementing its services as
external microservices, split along business boundaries
● Once implemented, traffic destined to the original monolith’s services will be redirected (via
OpenShift software-defined routing) to the new services
STRANGLING THE MONOLITH
Node.js
Web
WildFly Swarm
Inventory
Vert.x
Cart
Runtime
Service
Runtime
Service
Vert.x
Orders
Spring Boot
Catalog
JBoss EAP
HTML Javascript Web
CartCatalogInventory
Promo Ratings Orders
Data Access
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB8
STRANGLING THE MONOLITH
● Strangling - incrementally replacing
functionality in app with something better
(cheaper, faster, easier to maintain).
● As functionality is replaced, “dead” parts of
monolith can be removed/retired.
● You can also wait for all functionality to be
replaced before retiring anything!
● You can optionally include new functionality
during strangulation to make it more
attractive to business stakeholders. Time
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
RHOAR PRODUCT ARCHITECTURE
RHOAR RUNTIMES
(Container images, Maven Artifacts, Serverless)
MICROPROFILE
/ JAVA EE
OPENSHIFT SERVICES
REACTIVE
(vert.x)
JAVASCRIPT SERVLET APPS
OpenShift.io
(Developer
SaaS)
Generators
IDE
etc.
Management
APM
Metrics
Service
Discovery
Config.
Logging
Health
Check
Load
Balancing
CI/CDSSOMessaging IMDG API Mgmt
OPENWHISK
SERVICE MESH
Istio Pilot Istio Mixer Istio Auth
Envoy Proxy Envoy Proxy Envoy Proxy Envoy Proxy
Service
Catalog
== Future
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
TOMCAT SIMPLICITY
JAVASCRIPT FLEXIBILITY
SERVLET APPS
REACTIVE SYSTEMS
JAVA MICROSERVICES
ENTERPRISE JAVA
SPRING
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
• Microservices for Developers using Spring Framework
• An opinionated approach to building Spring applications
• Historical alternative to Java EE
• Getting started experience
• Spring MVC / DI / Boot most popular
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
Spring in RHOAR
• It’s the same Spring you know and love
• Tested and Verified by Red Hat QE
– Spring Boot, Spring Cloud Kubernetes, Ribbon, Hystrix
• Red Hat components fully supported
– Tomcat, Hibernate, CXF, SSO (Keycloak), Messaging (AMQ), …
• Native Kubernetes/OpenShift integration (Spring Cloud)
• Service Discovery via k8s (DNS), Ribbon
• Spring Config via ConfigMap
• Developer Tooling (launch.openshift.io, starters)
• Additional planned support for
– Transactions (Naryana), Messaging (Rabbit MQ -> AMQ), more
● Health Checks (actuator)
● Externalized Config (spring-cloud-kubernetes)
● Client-side discovery / load balancing (Eureka/Kubernetes)
● Circuit Breaking / Bulkheading (Hystrix)
● Logging / Monitoring / Tracing / Metrics
● Secure deployments with Keycloak
● API Documentation (Swagger)
Cloud Native Support in Spring
WILDFLY SWARM
My Svc
Java EE microservices
● Leverage Java EE expertise
● Open standard
● Microservices focus
● Optimized for OpenShift
● Super lightweight
● Tooling for Developers
● MicroProfile Implementation
My
Svc
JAX-RS
$ java -jar my_microservice.jar
● A tangible unit providing a specific piece of functionality
● Embodied in a maven artifact
● To support the compositional aspect in WF Swarm
● Provides the “runtime” capabilities
● Means to add API dependencies (e.g. JAX-RS)
● Means to configure the system
○ With reasonable defaults
● Means to discover other components (topology)
● Means to alter deployments (e.g. keycloak)
● Can be auto-detected or explicitly declared
WildFly Swarm “pieces” - Fractions
● Health Checks
● Externalized Config
● Client-side discovery / load balancing
● Circuit Breaking / Bulkheading
● Logging / Monitoring / Tracing / Metrics
● Secure deployments with Keycloak
● MicroProfile
● API Documentation
Cloud Native Support in WildFly Swarm
Build microsevices
● Embeddable (Fat Jar)
● Lightweight
● Modular & extensible
● Built from WildFly
(Trusted and Reliable)
Supported Specifications
Java EE 7 Web Profile MicroProfile 1.0
Tested and Verified
Hystrix Ribbon MySQL Oracle DB
Metrics
Additional Supported Fractions
Health
Configuration
Topology
Monitor
Keycloak
Upstream (Unsupported)
Flyway
Logstash
Fluentd
Swagger
JMS
Vert.x Integration
Consul
Spring
Jolokia
Infinispan
jGroups
WildFly Swarm and RHOAR
● Defines open source Java microservices specifications
● Industry Collaboration - Red Hat, IBM, Payara, Tomitribe, London Java Community,
SouJava, Oracle, Hazelcast, Fujitsu, SmartBear...
● WildFly Swarm is Red Hat’s implementation
● Minimum footprint for Enterprise Java cloud-native services (v1.3) :
JSON-P 1.0
Health Check
1.0
CDI 1.2 JAX-RS 2.0
JWT
Propagation 1.0
Fault
Tolerance 1.0
Metrics 1.0
Config 1.1 OpenTracing 1.0
OpenAPI 1.0
RestClient 1.0
New in 1.3:
LAB: MONOLITHS TO MICROSERVICES
WITH JAVA EE AND SPRING BOOT
GOAL FOR LAB
In this lab you will learn:
● How Red Hat OpenShift and Red Hat OpenShift Application
Runtimes (RHOAR) help jumpstart app modernization
● Benefits and challenges of microservices
● How to transform existing monolithic applications to
microservices using strangler pattern and 12-factor app
patterns.
● Use modern app dev frameworks like WildFly Swarm and
Spring Boot to implement microservice applications on
OpenShift
CURRENT STATE - THE MONOLITH
OpenShift
coolstore-dev
Coolstore
monolith
Coolstore
database
(dev)
Coolstore
Binary
coolstore-prod
Coolstore
monolith
Coolstore
database
(prod)
Pipeline
Promotion
Debugger
mvn package
LAB: MONOLITHS TO MICROSERVICES WITH
JAVA EE AND SPRING BOOT
SCENARIO 4 TRANSFORMING AN EXISTING MONOLITH (PART 1)
SCENARIO 5 TRANSFORMING AN EXISTING MONOLITH (PART 2)
+
WRAP-UP AND DISCUSSION
RESULT OF LAB
In this lab you learned how to:
● Implement a Java EE microservice using WildFly Swarm
● Implement a Java EE microservice using Spring Boot
● Develop container-based testing
● Add microservice concerns like Health checks, externalized
configuration and circuit breaking
● Use the strangler pattern to slowly migrate functionality
from monolith to microservices
DESIRED RESULT OF
LAB
OpenShift
coolstore-prod
Coolstore
monolith
Coolstore
database
(prod)
inventory
Inventory
microservice
Inventory
database
catalog
Catalog
microservice
Catalog
database
UI
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

Mais conteúdo relacionado

Mais procurados

AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...
AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...
AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...Amazon Web Services
 
Continuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTSContinuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTSSolidify
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architectureRamnivas Laddad
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Mee Nam Lee
 
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)VMware Tanzu
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2
 
Cloud Security at Netflix
Cloud Security at NetflixCloud Security at Netflix
Cloud Security at NetflixJason Chan
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentDr. Wilfred Lin (Ph.D.)
 
Cloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformCloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformAll Things Open
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application SecurityJason Chan
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMukul Jain
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...VMware Tanzu
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricSaba Jamalian
 
OS + CF Austin meetup
OS + CF Austin meetupOS + CF Austin meetup
OS + CF Austin meetupragss
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps WorldSolidify
 
Monitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureMonitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureNewvewm
 

Mais procurados (20)

Apex day 1.0 oracle cloud news_andrej valach
Apex day 1.0 oracle cloud news_andrej valachApex day 1.0 oracle cloud news_andrej valach
Apex day 1.0 oracle cloud news_andrej valach
 
AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...
AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...
AWS Summit 2013 | Singapore - Security & Compliance and Integrated Security w...
 
Continuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTSContinuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTS
 
Integration Cloud Service Deep dive
Integration Cloud Service Deep diveIntegration Cloud Service Deep dive
Integration Cloud Service Deep dive
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architecture
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
 
WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012WSO2 Year End Tech Update 2012
WSO2 Year End Tech Update 2012
 
Cloud Security at Netflix
Cloud Security at NetflixCloud Security at Netflix
Cloud Security at Netflix
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_development
 
Cloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformCloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation Platform
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application Security
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Oracle PaaS Cloud Preview Event
Oracle PaaS Cloud Preview EventOracle PaaS Cloud Preview Event
Oracle PaaS Cloud Preview Event
 
OS + CF Austin meetup
OS + CF Austin meetupOS + CF Austin meetup
OS + CF Austin meetup
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps World
 
Monitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureMonitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud Infrastructure
 

Semelhante a 03 monoliths to microservices with java ee and spring boot

Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootTiera Fann, MBA
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환Opennaru, inc.
 
App Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring bootApp Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring bootJudy Breedlove
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxssuser5faa791
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Lucas Jellema
 
Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...Jonah Kowall
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppDynamics
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Lucas Jellema
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 Mark Hinkle
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioInho Kang
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클Oracle Korea
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsAraf Karsh Hamid
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileRed Hat Developers
 

Semelhante a 03 monoliths to microservices with java ee and spring boot (20)

Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring Boot
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
 
App Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring bootApp Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring boot
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
 
Containers and microservices create new performance challenges kowall - app...
Containers and microservices create new performance challenges   kowall - app...Containers and microservices create new performance challenges   kowall - app...
Containers and microservices create new performance challenges kowall - app...
 
AppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppSphere 15 - Containers and Microservices Create New Performance Challenges
AppSphere 15 - Containers and Microservices Create New Performance Challenges
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
 

Último

Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Último (20)

Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

03 monoliths to microservices with java ee and spring boot

  • 1. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION Hands-on Technical Workshop Ram Maddali Senior Architect @RamMaddali rmaddali@redhat.com Anand Akella Senior Architect aakella@redhat.com
  • 2. PART 3: MONOLITHS TO MICROSERVICES WITH JAVA EE AND SPRING BOOT
  • 3. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB3 WHY MONOLITH TO MICROSERVICES Break things down (organizations, teams, IT systems, etc) down into smaller pieces for greater parallelization and autonomy and focus on reducing time to value.
  • 4. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB4 REDUCING TIME TO VALUE Month 0 Month 3 Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Monolith Lifecycle Fast Moving Monolith Microservices Optimizing for Speed
  • 5. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB http://martinfowler.com/bliki/MonolithFirst.html Monolith First? http://martinfowler.com/bliki/MonolithFirst.html
  • 6. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB66 THE BIGGER PICTURE: THE PATH TO CLOUD-NATIVE APPS A DIGITAL DARWINISM SELF-SERVICE ON-DEMAND INFRA RE-ORG TO DEVOPS AUTOMATION CONTINUOUS DELIVERY ADVANCED DEPLOYMENT TECHNIQUES MICROSERVICES FAST MONOLITH
  • 7. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB7 ● In this lab, you will begin to ‘strangle’ the coolstore monolith by implementing its services as external microservices, split along business boundaries ● Once implemented, traffic destined to the original monolith’s services will be redirected (via OpenShift software-defined routing) to the new services STRANGLING THE MONOLITH Node.js Web WildFly Swarm Inventory Vert.x Cart Runtime Service Runtime Service Vert.x Orders Spring Boot Catalog JBoss EAP HTML Javascript Web CartCatalogInventory Promo Ratings Orders Data Access
  • 8. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB8 STRANGLING THE MONOLITH ● Strangling - incrementally replacing functionality in app with something better (cheaper, faster, easier to maintain). ● As functionality is replaced, “dead” parts of monolith can be removed/retired. ● You can also wait for all functionality to be replaced before retiring anything! ● You can optionally include new functionality during strangulation to make it more attractive to business stakeholders. Time
  • 9. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB
  • 10. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB RHOAR PRODUCT ARCHITECTURE RHOAR RUNTIMES (Container images, Maven Artifacts, Serverless) MICROPROFILE / JAVA EE OPENSHIFT SERVICES REACTIVE (vert.x) JAVASCRIPT SERVLET APPS OpenShift.io (Developer SaaS) Generators IDE etc. Management APM Metrics Service Discovery Config. Logging Health Check Load Balancing CI/CDSSOMessaging IMDG API Mgmt OPENWHISK SERVICE MESH Istio Pilot Istio Mixer Istio Auth Envoy Proxy Envoy Proxy Envoy Proxy Envoy Proxy Service Catalog == Future
  • 11. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB TOMCAT SIMPLICITY JAVASCRIPT FLEXIBILITY SERVLET APPS REACTIVE SYSTEMS JAVA MICROSERVICES ENTERPRISE JAVA
  • 13. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB • Microservices for Developers using Spring Framework • An opinionated approach to building Spring applications • Historical alternative to Java EE • Getting started experience • Spring MVC / DI / Boot most popular
  • 14. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB Spring in RHOAR • It’s the same Spring you know and love • Tested and Verified by Red Hat QE – Spring Boot, Spring Cloud Kubernetes, Ribbon, Hystrix • Red Hat components fully supported – Tomcat, Hibernate, CXF, SSO (Keycloak), Messaging (AMQ), … • Native Kubernetes/OpenShift integration (Spring Cloud) • Service Discovery via k8s (DNS), Ribbon • Spring Config via ConfigMap • Developer Tooling (launch.openshift.io, starters) • Additional planned support for – Transactions (Naryana), Messaging (Rabbit MQ -> AMQ), more
  • 15. ● Health Checks (actuator) ● Externalized Config (spring-cloud-kubernetes) ● Client-side discovery / load balancing (Eureka/Kubernetes) ● Circuit Breaking / Bulkheading (Hystrix) ● Logging / Monitoring / Tracing / Metrics ● Secure deployments with Keycloak ● API Documentation (Swagger) Cloud Native Support in Spring
  • 17. My Svc Java EE microservices ● Leverage Java EE expertise ● Open standard ● Microservices focus ● Optimized for OpenShift ● Super lightweight ● Tooling for Developers ● MicroProfile Implementation My Svc JAX-RS $ java -jar my_microservice.jar
  • 18. ● A tangible unit providing a specific piece of functionality ● Embodied in a maven artifact ● To support the compositional aspect in WF Swarm ● Provides the “runtime” capabilities ● Means to add API dependencies (e.g. JAX-RS) ● Means to configure the system ○ With reasonable defaults ● Means to discover other components (topology) ● Means to alter deployments (e.g. keycloak) ● Can be auto-detected or explicitly declared WildFly Swarm “pieces” - Fractions
  • 19. ● Health Checks ● Externalized Config ● Client-side discovery / load balancing ● Circuit Breaking / Bulkheading ● Logging / Monitoring / Tracing / Metrics ● Secure deployments with Keycloak ● MicroProfile ● API Documentation Cloud Native Support in WildFly Swarm
  • 20. Build microsevices ● Embeddable (Fat Jar) ● Lightweight ● Modular & extensible ● Built from WildFly (Trusted and Reliable) Supported Specifications Java EE 7 Web Profile MicroProfile 1.0 Tested and Verified Hystrix Ribbon MySQL Oracle DB Metrics Additional Supported Fractions Health Configuration Topology Monitor Keycloak Upstream (Unsupported) Flyway Logstash Fluentd Swagger JMS Vert.x Integration Consul Spring Jolokia Infinispan jGroups WildFly Swarm and RHOAR
  • 21. ● Defines open source Java microservices specifications ● Industry Collaboration - Red Hat, IBM, Payara, Tomitribe, London Java Community, SouJava, Oracle, Hazelcast, Fujitsu, SmartBear... ● WildFly Swarm is Red Hat’s implementation ● Minimum footprint for Enterprise Java cloud-native services (v1.3) : JSON-P 1.0 Health Check 1.0 CDI 1.2 JAX-RS 2.0 JWT Propagation 1.0 Fault Tolerance 1.0 Metrics 1.0 Config 1.1 OpenTracing 1.0 OpenAPI 1.0 RestClient 1.0 New in 1.3:
  • 22. LAB: MONOLITHS TO MICROSERVICES WITH JAVA EE AND SPRING BOOT
  • 23. GOAL FOR LAB In this lab you will learn: ● How Red Hat OpenShift and Red Hat OpenShift Application Runtimes (RHOAR) help jumpstart app modernization ● Benefits and challenges of microservices ● How to transform existing monolithic applications to microservices using strangler pattern and 12-factor app patterns. ● Use modern app dev frameworks like WildFly Swarm and Spring Boot to implement microservice applications on OpenShift
  • 24. CURRENT STATE - THE MONOLITH OpenShift coolstore-dev Coolstore monolith Coolstore database (dev) Coolstore Binary coolstore-prod Coolstore monolith Coolstore database (prod) Pipeline Promotion Debugger mvn package
  • 25. LAB: MONOLITHS TO MICROSERVICES WITH JAVA EE AND SPRING BOOT SCENARIO 4 TRANSFORMING AN EXISTING MONOLITH (PART 1) SCENARIO 5 TRANSFORMING AN EXISTING MONOLITH (PART 2) +
  • 27. RESULT OF LAB In this lab you learned how to: ● Implement a Java EE microservice using WildFly Swarm ● Implement a Java EE microservice using Spring Boot ● Develop container-based testing ● Add microservice concerns like Health checks, externalized configuration and circuit breaking ● Use the strangler pattern to slowly migrate functionality from monolith to microservices