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
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.