SlideShare uma empresa Scribd logo
1 de 27
MONOLITHS TO MICROSERVICES:
APP TRANSFORMATION
Hands-on Technical Workshop
David Kramer, Sr. Solutions Architect
Red Hat OpenShift Platform
dkramer@redhat.com
MOVING EXISTING APPS TO THE
CLOUD
Fast
Monoliths
Existing, Java EE,
Spring MVC
Java EE
MSA
Monolith
Decomposition,
Enterprise Java
MSA
Fast Monoliths
(Java EE,
Spring)
Tomcat
Spring Boot /
MVC
Web
Tomcat,
Spring MVC,
SpringBoot
Greenfield
Reactive Java
Java EE - mono to
micro. / greenfield
Reactive
Reactive
Java /
Polyglot
MSA
Reactive
JS
Reactive
client /
server-side
JavaScript
Greenfield
polymorphic
JavaScript
Server
-less
FaaS
Existing Applications
New Applications
Spring
MSA
Java
MSA
Greenfield
Java / Spring
MSA
THE SPECTRUM OF ENTERPRISE APPS
MIGRATION AND MODERNIZATION
APPROACHES
● API-centric polyglot microservices
architecture
● Autonomous development teams
● Agile development, continuous
deployment, DevOps culture
● Containerized & orchestrated
cloud deployments
● Reuse existing functionality and
data as much as possible
● Move existing workloads to a
modern deployment platform
● Apply new processes, products,
and technology to existing apps
MODERNIZING EXISTING APPS
DEVELOPING NEW
APPLICATIONS
GENERAL DISTRIBUTION
PATTERNS IN MODERNIZING WORKLOADS
LIFT & SHIFT
● Containerize existing
workloads
● Deploy them on a PaaS
● Keep external integrations
and data on legacy
● Legacy applications have to
be well written and suited
CONNECT & EXTEND
● Legacy remains intact
● New layer - new capabilities
● Deploy on PaaS
● New integration points
between legacy and new
layers (Need for Agile
Integration)
RIP & RE-WRITE
● Legacy is totally replaced
● New interfaces and data
● Use PaaS to run
● Some data and features can
be re-wrapped, but mostly
are retired.
GENERAL DISTRIBUTION
PATTERNS IN MODERNIZING WORKLOADS
LIFT & SHIFT
● Containerize existing
workloads
● Deploy them on a PaaS
● Keep external integrations
and data on legacy
● Legacy applications have to
be well written and suited
CONNECT & EXTEND
● Legacy remains intact
● New layer - new capabilities
● Deploy on PaaS
● New integration points
between legacy and new
layers (Need for Agile
Integration)
RIP & RE-WRITE
● Legacy is totally replaced
● New interfaces and data
● Use PaaS to run
● Some data and features can
be re-wrapped, but mostly
are retired.
FOCUS FOR THIS SECTION
GENERAL DISTRIBUTION
LIFT-AND-SHIFT MONOLITH TO CLOUD
Application Server
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
GENERAL DISTRIBUTION
LIFT-AND-SHIFT MONOLITH TO CLOUD
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
CONTAINER
12
Why migrate to JBoss EAP?
Runtime [1][2]
(framework)
Boot time
server only
Boot time including app
deployment
Memory usage
without load
Memory usage
under load
Measured[3]
throughput
JBoss EAP (Java EE) 2 - 3 sec 3 sec 40 MB 200 - 400 MB 23K req/sec
JBoss EAP (Spring) 2 - 3 sec 7 sec 40 MB 500 - 700 MB 9K req/sec
JBoss WS/Tomcat
(Spring)
0 - 1 sec 8 sec 40 MB 0.5 - 1.5 GB 8K req/sec
Fat JAR (Spring Boot) N/A 3 sec 30 MB 0.5 - 2.0 GB 11K req/sec
[1] The microservice is a simple REST application.
[2] All runtimes are using their default settings
[3] The performance test was conducted with ApacheBench using 500K request with 50 users and keep-alive enabled.
Don’t believe it? Try it out yourself http://bit.ly/modern-java-runtimes
LAB: MOVING EXISTING APPS TO
THE CLOUD
GOAL FOR LAB
In this lab you will learn:
● How to migrate an existing legacy Java EE application
(CoolStore) from Weblogic to JBoss EAP using Red Hat
Application Migration Toolkit
● How to deploy the result to OpenShift container platform
to create a Fast Moving Monolith
● Different alternatives to building and deploying an application
COOLSTORE APPLICATION
COOLSTORE APPLICATION
Data Tier
Presentation Tier
Business Logic Tier
<<SLSB>>
Inventory
Service
<<SFSB>>
ShoppingCart
Service
<<SLSB>>
Catalog
Service
Database
<<REST>>
Product-
Endpoint
<<SLSB>>
Promo
Service
<<REST>>
Cart-
Endpoint
<<SLSB>>
Shipping
Service
<<AngularJS>>
Web
<<SLSB &
MDB>>
OrderService
<<REST>>
Order-
Endpoint
Red Hat Application Migration ToolkitCatalyze large scale application
modernizations and migrations
● Automate analysis
● Support effort estimation
● Accelerate code migration
● Free & Open Source
IBM
WebSphere AS
Oracle
WebLogic Server
JBoss EAP
upgrades
Cloud readiness,
containerization
Pluggable:
your own rules
Java EE
upgrades
Eclipse
plugin
Command line
interface
Web
console
LAB: MOVING EXISTING APPS TO THE CLOUD
SCENARIO 2 MOVING EXISTING APPS TO THE CLOUD
WEB: openshift-modernize-apps.katacoda.com
SLIDES (PDF): bit.ly/m2m-slides
WRAP-UP AND DISCUSSION
RESULT OF LAB
In this lab you:
● Familiarized yourself with the Lab environment
● Migrated the CoolStore monolith from Weblogic to JBoss
EAP using Red Hat Application Migration Toolkit
● Created a new development project on OpenShift
● Deployed the migrated app to OpenShift using a Template
and a Binary Build
● In the next lab you will explore OpenShift deeper as a
developer
OpenShift
coolstore-dev
Coolstore
monolith
Coolstore
database
(dev)
Coolstore
Binary
mvn package
RESULT OF LAB
MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB22
3-9
1$ subscription = 5-10$ services
100-2000MONTHS
PROJECT
DURATION
DAYS OF
CONSULTING
43% gains in DEV. PRODUCTIVITY
79% LESS EXPENSIVE
509% ROI over 3 years
10 months PAYBACK of investment
40% infrastructure SAVINGS
66% FASTER app delivery
8 months PAYBACK
Sources:
Consulting services data: Red Hat
IDC “The business value of JBoss EAP”, 2015
IDC - “The business value of Red Hat OpenShift”, 2016
BUSINESS OPPORTUNITY FOR APP MODERNIZATION
Application Modernization & Migration23
THE UMBRELLA
One customer conversation opening many opportunities
MODERNIZATION MIGRATION
APPLICATION MODERNIZATION & MIGRATION
CONTINUOUS
INNOVATION
AGILE
INTEGRATION
STREAMLINE
APPLICATION
LIFECYCLE
BETTER
SOFTWARE
ARCHITECTUR
E
APPLICATION
SERVERS
BUSINESS
DECISION
MANAGEMENT
INTEGRATION
PLATFORMS
APPLICATION
INFRASTRUCTUR
E
REDUCE / AVOID VENDOR
LOCK-IN, INFLEXIBLE
LICENSE MODELS
REMOVE
TECHNICAL
DEBT & RISK
RE-BALANCE
MAINTENANCE
AND INNOVATION
INCREASE SPEED &
BECOME MORE
PRODUCTIVE
ADOPT
AGILE METHODOLOGIES,
DEVOPS
DECREASE COMPLEXITY,
INCREASE
EFFICIENCY
Customer value beyond cost - Digital transformation
Application Modernization & Migration24
Modularize
Adopt standards
Reuse instead of reinvent
Clean technical debt
BETTER
SOFTWARE
ARCHITECTURE
AGILE
INTEGRATION
Decouple, integrate, govern
APIs, services, applications & clouds
STREAMLINE
APPLICATION
LIFECYCLE
Accelerate ideas to production
Automation & self-service
Containerization
CI / CD
Agile methodology
DevOps principles
Collaboration
CONTINUOUS
INNOVATION
MODERNIZATION
APPLICATION
SERVERS
IBM WebSphere, Oracle WebLogic,
Glassfish, Community versions …
… to EAP / JWS / JDG
BUSINESS DECISION
MANAGEMENT
ILOG, TIBCO, ActiveMatrix,
Pega,
Bonita, Oracle & IBM Suites
Red Hat JBoss BPMS & BRMS
INTEGRATION
PLATFORMS
Functional (TIBCO,
WebMethods,
JCAPS, Cordys … to JBoss
Fuse)
Data (JDV)
Messaging (AMQ)
APPLICATION
INFRASTRUCTURE
OS (Windows/AIX/Unix to RHEL)
Virtualization (RHEV)
Containers (OpenShift)
APPLICATION MODERNIZATION & MIGRATION
MIGRATION
Application Modernization & Migration
BENEFITS
Red Hat provides the most comprehensive
technologies, tools and services to support you
TODAY and TOMORROW
APPROACH
COMBINE TRANSFORMATION
FACTORY
RED HAT APPLICATION MIGRATION &
MODERNIZATION PROGRAM
Application Modernization & Migration
SOME CUSTOMERS
Application Modernization customers
Read more at https://www.redhat.com/en/success-stories
Application Modernization & Migration
JUMPSTART YOUR MODERNIZATION WITH
RED HAT OPEN INNOVATIONS LABS
INNOVATION
ACCELERATED
DEVELOP CONTEMPORARY APPS
• Develop on PaaS environment
• Transform how you design and develop apps
• Adopt lean and agile principles
• Master DevOps practices
MODERNIZE TRADITIONAL APPS
• Extend applications
• Optimize applications
• Scale applications
• Expose to orchestration
COLLABORATION
Space to work,
innovate, and discuss
RESIDENCY
An eight-week accelerated
teaming engagement
COMMUNITY INCUBATION
Communities
supporting innovation
Application Modernization & Migration
INNOVATION LABS PROCESS
Discovery session Agile, Lean, DevOps Backlog and roadmap
PUSH-BUTTON
INFRASTRUCTURE
DEMO DAY
CONTINUOUS LEARNING
PRE-WORK RESIDENCY RETROSPECTIVE
Application Modernization & Migration
DRIVE A CULTURE OF INNOVATION
THROUGH A SPACE THAT FOSTERS COLLABORATION
BOSTON
SILICON VALLEY
LONDON
INNOVATE ANYWHERE
• Purpose-driven
• Collaborate and make
• Network and share
• Flex and adapt
• Rejuvenate and connect
SINGAPOR
E
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

Mais procurados (20)

Managing OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid CloudManaging OpenShift at Scale Across the Open Hybrid Cloud
Managing OpenShift at Scale Across the Open Hybrid Cloud
 
The Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & APIThe Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & API
 
Red Hat OpenShift Enterprise 2 Launch Webcast Slides Dec 3, 2013
Red Hat OpenShift Enterprise 2 Launch Webcast Slides Dec 3, 2013Red Hat OpenShift Enterprise 2 Launch Webcast Slides Dec 3, 2013
Red Hat OpenShift Enterprise 2 Launch Webcast Slides Dec 3, 2013
 
Navigating Cloud Adoption: Trends that Challenge and Inspire Designers
Navigating Cloud Adoption:  Trends that Challenge and Inspire DesignersNavigating Cloud Adoption:  Trends that Challenge and Inspire Designers
Navigating Cloud Adoption: Trends that Challenge and Inspire Designers
 
Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Transform the internal it landscape with APIs and integration
Transform the internal it landscape with APIs and integrationTransform the internal it landscape with APIs and integration
Transform the internal it landscape with APIs and integration
 
An API-focused approach to Agile Integration
An API-focused approach to Agile IntegrationAn API-focused approach to Agile Integration
An API-focused approach to Agile Integration
 
Transform the internal it landscape with APIs
Transform the internal it landscape with APIsTransform the internal it landscape with APIs
Transform the internal it landscape with APIs
 
Red Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformationRed Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformation
 
Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of Integration
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 
Agile Integration with APIs and Containers Workshop
Agile Integration with APIs and Containers Workshop Agile Integration with APIs and Containers Workshop
Agile Integration with APIs and Containers Workshop
 
Red Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaRed Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - Atlanta
 
LIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud FoundryLIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud Foundry
 
LIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud FoundryLIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud Foundry
 
Java Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM GarageJava Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM Garage
 
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming"
 

Semelhante a App Mod 01: Moving existing apps to the cloud

Semelhante a App Mod 01: Moving existing apps to the cloud (20)

Moving existing apps to the cloud
 Moving existing apps to the cloud Moving existing apps to the cloud
Moving existing apps to the cloud
 
Moving existing apps to the cloud
 Moving existing apps to the cloud Moving existing apps to the cloud
Moving existing apps to the cloud
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
 
Solutions presentation
Solutions presentationSolutions presentation
Solutions presentation
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
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 전환
 
Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...
 
Dev ops
Dev opsDev ops
Dev ops
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Accelerating SAP transformations with Micro Focus
Accelerating SAP transformations with Micro FocusAccelerating SAP transformations with Micro Focus
Accelerating SAP transformations with Micro Focus
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-PremiseCloud Architecture - Multi Cloud, Edge, On-Premise
Cloud Architecture - Multi Cloud, Edge, On-Premise
 
Yohanes Widi Sono - Modern Development for Business Agility
Yohanes Widi Sono - Modern Development for Business AgilityYohanes Widi Sono - Modern Development for Business Agility
Yohanes Widi Sono - Modern Development for Business Agility
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
Twelve Factor App
Twelve Factor AppTwelve Factor App
Twelve Factor App
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 

Mais de Judy Breedlove

Mais de Judy Breedlove (13)

Evolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service meshEvolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service mesh
 
The Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago IntroThe Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago Intro
 
Serverless and serverfull - where microservices compliments serverless
Serverless and serverfull - where microservices compliments serverlessServerless and serverfull - where microservices compliments serverless
Serverless and serverfull - where microservices compliments serverless
 
Cloud-Native Microservices
Cloud-Native MicroservicesCloud-Native Microservices
Cloud-Native Microservices
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 
App Mod 05: App resiliency detecting and preventing issues in distributed apps
App Mod 05: App resiliency detecting and preventing issues in distributed apps App Mod 05: App resiliency detecting and preventing issues in distributed apps
App Mod 05: App resiliency detecting and preventing issues in distributed apps
 
App Mod 04: Reactive microservices with eclipse vert.x
App Mod 04: Reactive microservices with eclipse vert.xApp Mod 04: Reactive microservices with eclipse vert.x
App Mod 04: Reactive microservices with eclipse vert.x
 
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
 
App Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shiftApp Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shift
 
Implementing Enterprise Identity and Access Management in a microservices wor...
Implementing Enterprise Identity and Access Management in a microservices wor...Implementing Enterprise Identity and Access Management in a microservices wor...
Implementing Enterprise Identity and Access Management in a microservices wor...
 
Agile integration workshop Seattle
Agile integration workshop SeattleAgile integration workshop Seattle
Agile integration workshop Seattle
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

App Mod 01: Moving existing apps to the cloud

  • 1. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION Hands-on Technical Workshop David Kramer, Sr. Solutions Architect Red Hat OpenShift Platform dkramer@redhat.com
  • 2. MOVING EXISTING APPS TO THE CLOUD
  • 3. Fast Monoliths Existing, Java EE, Spring MVC Java EE MSA Monolith Decomposition, Enterprise Java MSA Fast Monoliths (Java EE, Spring) Tomcat Spring Boot / MVC Web Tomcat, Spring MVC, SpringBoot Greenfield Reactive Java Java EE - mono to micro. / greenfield Reactive Reactive Java / Polyglot MSA Reactive JS Reactive client / server-side JavaScript Greenfield polymorphic JavaScript Server -less FaaS Existing Applications New Applications Spring MSA Java MSA Greenfield Java / Spring MSA THE SPECTRUM OF ENTERPRISE APPS
  • 4. MIGRATION AND MODERNIZATION APPROACHES ● API-centric polyglot microservices architecture ● Autonomous development teams ● Agile development, continuous deployment, DevOps culture ● Containerized & orchestrated cloud deployments ● Reuse existing functionality and data as much as possible ● Move existing workloads to a modern deployment platform ● Apply new processes, products, and technology to existing apps MODERNIZING EXISTING APPS DEVELOPING NEW APPLICATIONS
  • 5. GENERAL DISTRIBUTION PATTERNS IN MODERNIZING WORKLOADS LIFT & SHIFT ● Containerize existing workloads ● Deploy them on a PaaS ● Keep external integrations and data on legacy ● Legacy applications have to be well written and suited CONNECT & EXTEND ● Legacy remains intact ● New layer - new capabilities ● Deploy on PaaS ● New integration points between legacy and new layers (Need for Agile Integration) RIP & RE-WRITE ● Legacy is totally replaced ● New interfaces and data ● Use PaaS to run ● Some data and features can be re-wrapped, but mostly are retired.
  • 6. GENERAL DISTRIBUTION PATTERNS IN MODERNIZING WORKLOADS LIFT & SHIFT ● Containerize existing workloads ● Deploy them on a PaaS ● Keep external integrations and data on legacy ● Legacy applications have to be well written and suited CONNECT & EXTEND ● Legacy remains intact ● New layer - new capabilities ● Deploy on PaaS ● New integration points between legacy and new layers (Need for Agile Integration) RIP & RE-WRITE ● Legacy is totally replaced ● New interfaces and data ● Use PaaS to run ● Some data and features can be re-wrapped, but mostly are retired. FOCUS FOR THIS SECTION
  • 7. GENERAL DISTRIBUTION LIFT-AND-SHIFT MONOLITH TO CLOUD Application Server HTML Javascript Web ServiceServiceService Service Service Service Data Access HTML Javascript Web ServiceServiceService Service Service Service Data Access
  • 8. GENERAL DISTRIBUTION LIFT-AND-SHIFT MONOLITH TO CLOUD HTML Javascript Web ServiceServiceService Service Service Service Data Access CONTAINER
  • 9. 12 Why migrate to JBoss EAP? Runtime [1][2] (framework) Boot time server only Boot time including app deployment Memory usage without load Memory usage under load Measured[3] throughput JBoss EAP (Java EE) 2 - 3 sec 3 sec 40 MB 200 - 400 MB 23K req/sec JBoss EAP (Spring) 2 - 3 sec 7 sec 40 MB 500 - 700 MB 9K req/sec JBoss WS/Tomcat (Spring) 0 - 1 sec 8 sec 40 MB 0.5 - 1.5 GB 8K req/sec Fat JAR (Spring Boot) N/A 3 sec 30 MB 0.5 - 2.0 GB 11K req/sec [1] The microservice is a simple REST application. [2] All runtimes are using their default settings [3] The performance test was conducted with ApacheBench using 500K request with 50 users and keep-alive enabled. Don’t believe it? Try it out yourself http://bit.ly/modern-java-runtimes
  • 10. LAB: MOVING EXISTING APPS TO THE CLOUD
  • 11. GOAL FOR LAB In this lab you will learn: ● How to migrate an existing legacy Java EE application (CoolStore) from Weblogic to JBoss EAP using Red Hat Application Migration Toolkit ● How to deploy the result to OpenShift container platform to create a Fast Moving Monolith ● Different alternatives to building and deploying an application
  • 13. COOLSTORE APPLICATION Data Tier Presentation Tier Business Logic Tier <<SLSB>> Inventory Service <<SFSB>> ShoppingCart Service <<SLSB>> Catalog Service Database <<REST>> Product- Endpoint <<SLSB>> Promo Service <<REST>> Cart- Endpoint <<SLSB>> Shipping Service <<AngularJS>> Web <<SLSB & MDB>> OrderService <<REST>> Order- Endpoint
  • 14. Red Hat Application Migration ToolkitCatalyze large scale application modernizations and migrations ● Automate analysis ● Support effort estimation ● Accelerate code migration ● Free & Open Source IBM WebSphere AS Oracle WebLogic Server JBoss EAP upgrades Cloud readiness, containerization Pluggable: your own rules Java EE upgrades Eclipse plugin Command line interface Web console
  • 15. LAB: MOVING EXISTING APPS TO THE CLOUD SCENARIO 2 MOVING EXISTING APPS TO THE CLOUD WEB: openshift-modernize-apps.katacoda.com SLIDES (PDF): bit.ly/m2m-slides
  • 17. RESULT OF LAB In this lab you: ● Familiarized yourself with the Lab environment ● Migrated the CoolStore monolith from Weblogic to JBoss EAP using Red Hat Application Migration Toolkit ● Created a new development project on OpenShift ● Deployed the migrated app to OpenShift using a Template and a Binary Build ● In the next lab you will explore OpenShift deeper as a developer
  • 19. MONOLITHS TO MICROSERVICES: APP TRANSFORMATION HANDS-ON LAB22 3-9 1$ subscription = 5-10$ services 100-2000MONTHS PROJECT DURATION DAYS OF CONSULTING 43% gains in DEV. PRODUCTIVITY 79% LESS EXPENSIVE 509% ROI over 3 years 10 months PAYBACK of investment 40% infrastructure SAVINGS 66% FASTER app delivery 8 months PAYBACK Sources: Consulting services data: Red Hat IDC “The business value of JBoss EAP”, 2015 IDC - “The business value of Red Hat OpenShift”, 2016 BUSINESS OPPORTUNITY FOR APP MODERNIZATION
  • 20. Application Modernization & Migration23 THE UMBRELLA One customer conversation opening many opportunities MODERNIZATION MIGRATION APPLICATION MODERNIZATION & MIGRATION CONTINUOUS INNOVATION AGILE INTEGRATION STREAMLINE APPLICATION LIFECYCLE BETTER SOFTWARE ARCHITECTUR E APPLICATION SERVERS BUSINESS DECISION MANAGEMENT INTEGRATION PLATFORMS APPLICATION INFRASTRUCTUR E REDUCE / AVOID VENDOR LOCK-IN, INFLEXIBLE LICENSE MODELS REMOVE TECHNICAL DEBT & RISK RE-BALANCE MAINTENANCE AND INNOVATION INCREASE SPEED & BECOME MORE PRODUCTIVE ADOPT AGILE METHODOLOGIES, DEVOPS DECREASE COMPLEXITY, INCREASE EFFICIENCY Customer value beyond cost - Digital transformation
  • 21. Application Modernization & Migration24 Modularize Adopt standards Reuse instead of reinvent Clean technical debt BETTER SOFTWARE ARCHITECTURE AGILE INTEGRATION Decouple, integrate, govern APIs, services, applications & clouds STREAMLINE APPLICATION LIFECYCLE Accelerate ideas to production Automation & self-service Containerization CI / CD Agile methodology DevOps principles Collaboration CONTINUOUS INNOVATION MODERNIZATION APPLICATION SERVERS IBM WebSphere, Oracle WebLogic, Glassfish, Community versions … … to EAP / JWS / JDG BUSINESS DECISION MANAGEMENT ILOG, TIBCO, ActiveMatrix, Pega, Bonita, Oracle & IBM Suites Red Hat JBoss BPMS & BRMS INTEGRATION PLATFORMS Functional (TIBCO, WebMethods, JCAPS, Cordys … to JBoss Fuse) Data (JDV) Messaging (AMQ) APPLICATION INFRASTRUCTURE OS (Windows/AIX/Unix to RHEL) Virtualization (RHEV) Containers (OpenShift) APPLICATION MODERNIZATION & MIGRATION MIGRATION
  • 22. Application Modernization & Migration BENEFITS Red Hat provides the most comprehensive technologies, tools and services to support you TODAY and TOMORROW APPROACH COMBINE TRANSFORMATION FACTORY RED HAT APPLICATION MIGRATION & MODERNIZATION PROGRAM
  • 23. Application Modernization & Migration SOME CUSTOMERS Application Modernization customers Read more at https://www.redhat.com/en/success-stories
  • 24. Application Modernization & Migration JUMPSTART YOUR MODERNIZATION WITH RED HAT OPEN INNOVATIONS LABS INNOVATION ACCELERATED DEVELOP CONTEMPORARY APPS • Develop on PaaS environment • Transform how you design and develop apps • Adopt lean and agile principles • Master DevOps practices MODERNIZE TRADITIONAL APPS • Extend applications • Optimize applications • Scale applications • Expose to orchestration COLLABORATION Space to work, innovate, and discuss RESIDENCY An eight-week accelerated teaming engagement COMMUNITY INCUBATION Communities supporting innovation
  • 25. Application Modernization & Migration INNOVATION LABS PROCESS Discovery session Agile, Lean, DevOps Backlog and roadmap PUSH-BUTTON INFRASTRUCTURE DEMO DAY CONTINUOUS LEARNING PRE-WORK RESIDENCY RETROSPECTIVE
  • 26. Application Modernization & Migration DRIVE A CULTURE OF INNOVATION THROUGH A SPACE THAT FOSTERS COLLABORATION BOSTON SILICON VALLEY LONDON INNOVATE ANYWHERE • Purpose-driven • Collaborate and make • Network and share • Flex and adapt • Rejuvenate and connect SINGAPOR E

Notas do Editor

  1. - This is the reality of today and for the near future is that most larger organizations are going to continue to have a mixture of application types across a broad spectrum of technologies... - Main reason for this is because there is no one-size-fits-all approach that works for everything. - You’ll likely have a mixture of: - legacy applications - fast-moving monoliths built on Java EE or Spring - lighter weight cloud native and/or reactive apps - and/or serverless architectures The one thing you can count on is that they will need to talk to each other... MSA = Micro Service Architecture
  2. Let's start with the 2 main modern app/dev approaches -- 1. Modernize your existing apps 2. Re-develop new applications One could argue that most organization will leverage both of these approaches and that sometimes they are inter-related. Therefore, we want a target deployment environment that can be blended (with a mixture or modern and legacy workloads), one that is flexible and adapted for today's use cases.... Today, throughout the lab scenarios, we're going to position OpenShift and a variety of Red Hat technologies as well as methodologies that fundamentally address modernizing existing apps... ######## Modernizing existing apps means re-using applications as much as possible, sometimes achieving 100% reuse -- but moving them to an environment in which the app benefits from more automation, more consistent and continuous integration, and sets the app and its developers up for a deeper modernization effort in the future. In contrast, some organizations make a concerted effort to build net-new apps whose purpose is to replace some, or all of an existing app, but employing modern app development frameworks and architectures, and developing a process to get those apps to production very quickly and with less downtime when something fails.
  3. To address this challenge, Let’s talk about modernization and what to do with those existing apps. You essentially have three main choices. Rehost, reshape, or rearchitect. The other possibilities are essentially do nothing, and as we know isn’t really an option for most businesses today. Rehosting (also known as lift and shift) simply moves the app as-is over to a new platform, with no changes to the code except possibly moving away from proprietary APIs to a standard. Reshape is similar to a re-host but involves a slightly more invasive approach to making the app not only work on the new platform, but to take advantage of the platform’s features to provide enhanced performance, better manageability or possibly new business value. Finally a rearchitect is a complete re-write using modern application development methodologies and tools. Determining which to do requires analysis and prioritization based on business benefit and risk. For example, apps requiring high scale and for which you’d like to be able to revise quickly in the face of changing requirements are usually good for a reshape or rearchitect effort. Larger, more established, business critical apps might be rehosted first, and incrementally modernized as time and resources permit.
  4. Along these lines (modernizing existing apps), you essentially have three main choices. Rehost, reshape, or rearchitect. And it's "ok" if the lines get blurry a bit between these options. Rehosting (also known as lift and shift) simply moves the app as-is over to a new platform, with no changes to the code except possibly moving away from proprietary APIs to a standard. We have an example of this in our first lab scenario... Reshape is similar to a re-host but involves a slightly more invasive approach to making the app not only work on the new platform, but to take advantage of the platform’s features to provide enhanced performance, better manageability and/or possibly new business value. Finally, a rearchitect scenario is a complete re-write using modern application development methodologies and tools. Determining which to do requires analysis and prioritization based on business benefit and risk. For example, - apps requiring high scalability and for which you’d like to be able to revise quickly in the face of changing requirements are usually good for a reshape or rearchitect effort. - Larger, more established, business critical apps might be rehosted first, and incrementally modernized over time as resources permit.
  5. As we go thru this workshop, we’re going to explore these 3 patterns and approaches to app modernization… Starting with Lift and Shift… Again, we’re going to focus on “containerizing” the existing workload. We’ll then: -- Deploy the container in OpenShift -- Keeping external integrations and data on existing (or legacy) platforms -- Keep in mind, legacy workloads have to be well written and suited for this scenario… OK… so, anyone in the audience… why would you embark on this scenario? What benefit(s) do you see in this "lift and shift approach"? -- immutable workloads / leverage CI/CD -- better use of infrastructure (denser workload environment) -- process improvements -- etc…
  6. I mentioned: “determining which [workload] to migrate requires analysis and prioritization based on business benefit and risk…” So, along those lines: Red Hat has developed the “Application Migration Toolkit,” over the last decade or so through our consulting services. Upstream this is called windup… Essentially, it’s a collection of IP in the form of "rules" that our consultants leveraged in the field as they helped customer’s get off proprietary java platforms and embrace just the J2EE spec. Thus, reducing cost in their stack, simplifying the environment and starting to understand the logical "breakdown" within the monolithic applications. Windup leverages a rules/knowledge base and provides value across a portfolio of apps. I am not suggesting this approach for just 1 app… But across a portfolio, it identifies trends and low-hanging fruit to help you prioritize as you embark on this journey.
  7. So this diagram represents what we’re going to accomplish in the labs… -- We're going to explore Red Hat Red Hat Application Migration Toolkit… -- once we address/refactor some proprietary java extensions leveraging Red Hat Application Migration Toolkit as a reference guide -- we’ll deploy the app on EAP and then leverage a certified Red Hat EAP image which can run on OCP
  8. Many case studies have one thing in common: existing apps they want to modernize. Easier to develop since all dependencies are included Single code base for teams to work on No API backwards compatibility issues since all logic is packaged with the application Single deployable unit Hard for large teams to all work in the same code base. Who broke the build? Longer release cycles and even small changes goes through entire test suite and validation Same language / Same Framework in most cases Entropic resistance is low
  9. Before heading into the lab, let’s put some perspective around the first scenario… We’re re-packaging a proprietary weblogic java workload on JBoss EAP so that ultimately we can deploy it as a container on OCP Some would argue that this approach is problematic from a performance perspective… double encapsulation from the java server and container/container orchestration layers So I wanted to provide some metrics to level-set detailed out on the screen… again, workloads have to be well written and suited for this scenario, but these metrics help validate the approach presented in the labs. Note the link that we've included... if you want to drill into this further and try it for yourself.
  10. This is our monolith architecture… pretty standard 3 tier app...
  11. As mentioned, we’re going to use the Red Hat Application Migration Toolkit to anaylis our monolith sample app. Automate analysis -- to look for patterns and proprietary extensions Support effort estimation Accelerate code migration Free & Open Source
  12. So with one umbrella conversation to one group at a client it opens up quite a bit of opportunity to talk to others, such as infrastructure, IT, development, and the CIO about how you and Red Hat can address modern app dev concerns. All of the customer values mentioned near the bottom map very well to the Red Hat portfolio, including RHOAR as of today, so I encourage you to learn more about our app modernization program and use the resources you have as partners to drive those conversations with your clients.
  13. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.
  14. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.
  15. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.
  16. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.
  17. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.
  18. As I said before, partners are THE KEY to our success - so much so that Red Hat Consulting has developed an extensive App Migration and Modernization practice which, along with you, our partners, provides a proven, repeatable and measurable way to migrate and modernize your apps. CIOs don’t like to cut checks for open-ended, costly programs that simply re-write existing apps, so it’s important to understand how modernization plays a key role in your discussions. But it’s not just about the software and the apps - much of the so-called digital transformation involves the organizational changes necessary to support it, and this is another opportunity to strenghen your relationship with Red Hat and your own clients - the “trusted advisor” Red Hat likes to mention from time to time.