SlideShare a Scribd company logo
1 of 25
MONOLITHS TO MICROSERVICES: APP
TRANSFORMATION
Hands-on Technical Workshop
Ram Maddali
Senior Architect
@RamMaddali
rmaddali@redhat.com
Anand Akella
Senior Architect
aakella@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
Not a target
APPLICATION MODERNIZATION
Existing Apps
Lift & Shift
Connect & Extend
Repurchase
Rip & Re-write
Review
Analyze
Prioritize
Retire
Retain as is
How much
work required
to rewrite?
Highly scaled and
high rate of change
apps are candidates
Smaller or frozen apps
are candidates here
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
GENERAL DISTRIBUTION
Majestic Monolith
https://m.signalvnoise.com/the-majestic-monolith-29166d022228
GENERAL DISTRIBUTION
MAJESTIC (FAST-MOVING) MONOLITH
● Large organizations have a tremendous amount of resources
invested in existing monolith applications
● Looking for a sane way to capture the benefits of containers
and orchestration without having to complete rewrite
● OpenShift provides the platform for their existing investment
with the benefit of a path forward for microservice based
apps in the future
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 use lab environment for today
● 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 1 GETTING STARTED WITH THIS COURSE
SCENARIO 2 MOVING EXISTING APPS TO THE CLOUD
+
WEB: openshift-modernize-apps.katacoda.com
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
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
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
SINGAPORE
Application Modernization & Migration
SOME CUSTOMERS
Application Modernization customers
Read more at https://www.redhat.com/en/success-stories
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

More Related Content

What's hot

Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesKonveyor Community
 
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...HostedbyConfluent
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Martin Etmajer
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesChiradeep Vittal
 
Deploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSDeploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSMesosphere Inc.
 
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech TalkProfiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech TalkRed Hat Developers
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
A Hitchhiker's Guide to Cloud Native API Gateways
A Hitchhiker's Guide to Cloud Native API GatewaysA Hitchhiker's Guide to Cloud Native API Gateways
A Hitchhiker's Guide to Cloud Native API GatewaysQAware GmbH
 
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...HostedbyConfluent
 
Cloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesCloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesAnfernee Bonds
 
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech TalkSRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech TalkRed Hat Developers
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulBetter Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulHostedbyConfluent
 

What's hot (20)

Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
 
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro services
 
Deploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSDeploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OS
 
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech TalkProfiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
 
Microservices with Spring
Microservices with SpringMicroservices with Spring
Microservices with Spring
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Kubernetes + netflix oss
Kubernetes + netflix ossKubernetes + netflix oss
Kubernetes + netflix oss
 
A Hitchhiker's Guide to Cloud Native API Gateways
A Hitchhiker's Guide to Cloud Native API GatewaysA Hitchhiker's Guide to Cloud Native API Gateways
A Hitchhiker's Guide to Cloud Native API Gateways
 
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...
Encrypting Kafka messages at rest to secure applications | Robert Barnes, Has...
 
Cloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesCloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization Services
 
Crafting Kubernetes Operators
Crafting Kubernetes OperatorsCrafting Kubernetes Operators
Crafting Kubernetes Operators
 
Operator development made easy with helm
Operator development made easy with helmOperator development made easy with helm
Operator development made easy with helm
 
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech TalkSRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
SRE principles and (Kubernetes) Operator practice | DevNation Tech Talk
 
Monitoring Cockpit for OpenShift Clusters
Monitoring Cockpit for OpenShift ClustersMonitoring Cockpit for OpenShift Clusters
Monitoring Cockpit for OpenShift Clusters
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
OpenShift Introduction
OpenShift IntroductionOpenShift Introduction
OpenShift Introduction
 
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, AzulBetter Kafka Performance Without Changing Any Code | Simon Ritter, Azul
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
 

Similar to Moving existing apps to the cloud

App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudJudy Breedlove
 
Moving existing apps to the cloud
 Moving existing apps to the cloud Moving existing apps to the cloud
Moving existing apps to the cloudRam Maddali
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshopJudy Breedlove
 
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 AgilityAgile Impact Conference
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
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.
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
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 EnvironmentsVMware Tanzu
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...José Román Martín Gil
 
Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013Barak Merimovich
 
RichardChauvetShortResume2015
RichardChauvetShortResume2015RichardChauvetShortResume2015
RichardChauvetShortResume2015Richard Chauvet
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...Dr. Wilfred Lin (Ph.D.)
 
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...NuoDB
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.🐺Guewen Faivre
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 

Similar to Moving existing apps to the cloud (20)

App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: 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
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
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
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
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 전환
 
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
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
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
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
 
Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013Introduction to cloudify - workshop 2013
Introduction to cloudify - workshop 2013
 
Red Hat Storage Roadmap
Red Hat Storage RoadmapRed Hat Storage Roadmap
Red Hat Storage Roadmap
 
Red Hat Storage Roadmap
Red Hat Storage RoadmapRed Hat Storage Roadmap
Red Hat Storage Roadmap
 
RichardChauvetShortResume2015
RichardChauvetShortResume2015RichardChauvetShortResume2015
RichardChauvetShortResume2015
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
 
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...
 
Solutions presentation
Solutions presentationSolutions presentation
Solutions presentation
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.
 
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
 

Recently uploaded

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 Nanonetsnaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Moving existing apps to the cloud

  • 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. 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. Not a target APPLICATION MODERNIZATION Existing Apps Lift & Shift Connect & Extend Repurchase Rip & Re-write Review Analyze Prioritize Retire Retain as is How much work required to rewrite? Highly scaled and high rate of change apps are candidates Smaller or frozen apps are candidates here
  • 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.
  • 7. 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
  • 8. 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
  • 9. GENERAL DISTRIBUTION LIFT-AND-SHIFT MONOLITH TO CLOUD HTML Javascript Web ServiceServiceService Service Service Service Data Access CONTAINER
  • 11. GENERAL DISTRIBUTION MAJESTIC (FAST-MOVING) MONOLITH ● Large organizations have a tremendous amount of resources invested in existing monolith applications ● Looking for a sane way to capture the benefits of containers and orchestration without having to complete rewrite ● OpenShift provides the platform for their existing investment with the benefit of a path forward for microservice based apps in the future
  • 12. 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
  • 13. LAB: MOVING EXISTING APPS TO THE CLOUD
  • 14. GOAL FOR LAB In this lab you will learn: ● How to use lab environment for today ● 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
  • 16. 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
  • 17. 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
  • 18. LAB: MOVING EXISTING APPS TO THE CLOUD SCENARIO 1 GETTING STARTED WITH THIS COURSE SCENARIO 2 MOVING EXISTING APPS TO THE CLOUD + WEB: openshift-modernize-apps.katacoda.com
  • 20. 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
  • 22. 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
  • 23. 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 SINGAPORE
  • 24. Application Modernization & Migration SOME CUSTOMERS Application Modernization customers Read more at https://www.redhat.com/en/success-stories

Editor's Notes

  1. This is the reality of today and for the near future: larger organizations are going to continue to have a mixture of application types across a broad spectrum of technologies... mainly because there is no one-size-fits-all base that works for everything. You’ll have anywhere from fast-moving monoliths built on Java EE or Spring MVC to lighter weight cloud native reactive apps and serverless architectures, and they will need to talk to each other.
  2. So now that we’ve covereed the WHY let’s cover the HOW. We’ll start with a definition of modern app dev approaches -- which can be split into two main camps. 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. 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
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.