SlideShare a Scribd company logo
Application
Modernization
and Migration
Journey to the Cloud
oc whoami
$ oc whoami
rmarting, jromanmartin
$ oc describe user rmarting jromanmartin
Name: Jose Roman Martin Gil
Created: 42 years ago
Labels: father, husband, friend, runner, curious, red hatter,
developer (in any order)
Annotations: Principal Middleware Architect @ Red Hat
Identities:
mailto: rmarting@redhat.com
GitHub: https://github.com/rmarting
Twitter: https://twitter.com/jromanmartin
LinkedIn: https://www.linkedin.com/in/jromanmartin/
URBAN LEGENDS !?
DevOps !?
DON’T MIND ME
JUST SUPPORTING MY
DEVS
Devs Ops
Application Designs !?
Monoliths Microservices
What does
APPLICATION MODERNIZATION & MIGRATION
mean?
APPLICATION MODERNIZATION & MIGRATION
Focus on business workloads and solutions.
APPLICATION MODERNIZATION & MIGRATION
Digital transformation. Journey to the future.
APPLICATION MODERNIZATION & MIGRATION
Making old new again.
APPLICATION
Application Servers
Framework / APIs
App
Middleware Services
Operational Platform
App App App App App
Persistence | Security | Transaction | Messaging | HTTP
Deployment | Management | Monitoring | HA | Logging
Virtual Machine | Operating System
RUN
Brownfield
TRANSFORM
Greenfield
GROW
VIRTUALPHYSICAL PRIVATE & PUBLIC CLOUD
Complex &
heterogeneous
Lack of
common
standards
Inconsistent
automation
& governance
Typical Landscape Today
New problems to resolve
Without
adding more
complexity and
inconsistencies?
MODERNIZE
EXISTING APPS
DEVELOP NEW APPLICATIONS
THE MODERN WAY
MODERNIZATION
Why Modernize?
DISRUPTION
CUSTOMER
EMBRACE
BUSINESS
ADAPTS
DIGITAL
TRANSFORMATION
Why Modernize?
● Every business is a technology business
● Code has no business value until it is deployed
● Scale and Speed challenges
● Competitive challenges
● Gain Business Agility
● Growth enablement
MIGRATION
Why Migrate?
There is not a “off button” for your Business
Applications
Why Migrate?
● Optimizing and streamlining existing application usage
● Unlocking more value from your IT investments
● Consolidate application instances
● Rehost or replatform the application to newer infrastructure
● Develop new application code to extend the life and utility of the legacy
application
● Convert and update existing code into new development languages
● Restructure application code to support a more modular, loosely coupled
services architecture
● Retire the existing packaged application and migrate to a new application
JOURNEY TO OPENSHIFT
Where would like to be?
● One platform to support you today and tomorrow
TRANSFORM
Greenfield
GROWRUN
Modernized brownfield
COMMON HYBRID APPLICATION INFRASTRUCTURE
BETTER
SOFTWARE
ARCHITECTURE
AGILE
INTEGRATION
STREAMLINE
APPLICATION
LIFECYCLE
CONTINUOUS
INNOVATION
MODERN APPLICATION CONCEPTS
OpenShift is the new Application Server
Runtime
App
Cloud Platform
Data
Build | Deploy | Scheduling | Scaling | Elasticity | Metrics | Logging
Security IMDG Messaging
Runtime
Svc
Runtime
Svc
Cloud Provider
How do we run applications in the new world?
● Strategy and methodology
● Cloud Native, Cloud-Readiness
● Containerization is not the only step
STRATEGIES
The 6 R’s
Source: https://aws.amazon.com/cloud-migration/
Decision Tree
Rehost (lift & shift)
Replatform (lift & reshape)
Repurchase
Refactor (rewrite & decouple)
Assessment
Review
Analyze
Prioritize
Tools
Retire
Retain as is (for now)
?Existing
App
Out-of-scope application for the
migration.
End-of-life application and will not be
migrated.
Replacement planned for the application.
Enhancements on top of the
minimal changes.
(e.g. tech updates, mavenization,
re-architecture)
Minimal migration (as few
changes as possible).
Not a target
Highly scaled and
high rate of change
apps are candidates
Smaller or frozen apps
are candidates here
Patterns in Modernizing Applications
REHOST
(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
REPLATFORM
(augment)
● Legacy remains intact
● New layer - new capabilities
● Deploy on PaaS
● New integration points
between legacy and new
layers (Need for Agile
Integration)
REFACTOR
(rewrite & decouple)
● Legacy is totally replaced
● New interfaces and data
● Use PaaS to run
● Some data and features can
be re-wrapped, but mostly
are retired.
Patterns in Modernizing Applications
Cost of Migration
Time
REHOST
(Lift and Shift)
REFACTOR
(Rewrite and Decouple)
REPLATFORM
(Augment with new Layers)
Generally the most
expensive and longest
Modern Application Concepts
Future-proof applications
BETTER
SOFTWARE
ARCHITECTURE
Modularize
“Fast moving monolith”
Microservices
Clean technical debt
Speed up your business
STREAMLINE
APPLICATION LIFECYCLE
Accelerate time
from idea to production
Continuous Integration &
Delivery (CI/CD)
Automation & self-service
Container technology
Foster an agile culture
CONTINUOUS
INNOVATION
Agile methodology
DevOps principles
Collaboration
Bridge old and new
AGILE
INTEGRATION
Decouple, expose & integrate
APIs, services & applications
Need hybrid-cloud-enabled
integration platform
Enhancing applications, platform and processes
CLOUD-READINESS
Cloud-Readiness
● “Cloud-Native”
○ Distinctive architectural characteristics
● “Cloud-Compatible”
○ Represents the minimum viable product
● “Cloud-Ready” / “Container-Ready” / “OpenShift-Ready”
● Not every application should / can / must be made “cloud-native”
○ Container-Ready is often enough
○ Primary focus on OpenShift adoption instead on high re-architecturing efforts
The OpenShift Effect
● Principles of container-based application design
Journey from Cloud-Compatible to Cloud-Native
● Start with Cloud-Compatible changes
○ Create support from external configurations
○ Remove IP bindings
○ Run on Linux
○ Ensure logs write to console/stdout
● Progress with subsequent iterations
● Actual end state should be dictated by the
needs of the business
DEMO TIME
Demo Time - Show me the code
● Standard JEE Application
○ JPA + Hibernate to manage an external MySQL Database
○ JMS Queues to add more information to the application
○ MDB to load data from JMS Queues to store information into MySQL Database
○ Initial Servlets consuming extra startup time
● Main issues
○ Extra time to be ready after redeploy it
○ Monolithic architecture
https://github.com/rmarting/amm-demo
Demo Time - Migration
● Main Tasks
○ Package using Thorntail (aka Wildfly Swarm)
○ Deploy using Maven Fabric8 Plug-In
Demo Time - Thorntail
● An innovative approach to package and run Java EE applications
● Just enough App Server: package your app with required runtime
dependencies (but nothing more)
● Based in Wildfly Application Server
● Packaged as an Uber Jar (self-contained, executable Java archive)
Demo Time - Maven Fabric8 PlugIn
● Brings your Java applications on to OpenShift
● Provides tight integration into Maven
● Focus on two tasks:
○ Building Docker Images
○ Creating OpenShift resource descriptors
Demo Time - Migration Results
● Health check of our application
○ Liveness & Readiness Probe
● Zero-downtime in deployment
○ Rolling up
● Scale up/down as needed
○ Autoscaller
Demo Time - Modernization
● Main Tasks
○ Deploy Messaging Services using ActiveMQ Artemis or enmasse.io
○ Deploy Integration Services with Apache Camel and Spring Boot
○ Deploy Cron Jobs
○ Remove old operations from monolithic application
Demo Time - Messaging Systems
● Messaging as a Service
● Messaging Protocols: AMQP, MQTT
● High Performance
● Scalable
Demo Time - Integration Systems
● Agile Integration - Cloud Native Integration
○ Integration Microservices
● Enterprise Integration Patterns
● Lightweight
● Data transformation
Demo Time - Modernization Results
● Services isolated and coordinated
○ Microservices?
● Fast monolithic application
○ Reduced the tasks done
● Resources Optimization
○ Each service uses the resources needed
Questions?
Thank you!

More Related Content

PDF
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
PDF
Managing microservices with istio on OpenShift - Meetup
PPTX
Modern Application Development v1-0
PPTX
Api more than payload (2021 Update)
PPTX
Devops CI-CD pipeline with Containers
PDF
How easy (or hard) it is to monitor your graph ql service performance
PDF
FluentD vs. Logstash
PDF
Reactive messaging Quarkus and Kafka
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
Managing microservices with istio on OpenShift - Meetup
Modern Application Development v1-0
Api more than payload (2021 Update)
Devops CI-CD pipeline with Containers
How easy (or hard) it is to monitor your graph ql service performance
FluentD vs. Logstash
Reactive messaging Quarkus and Kafka

What's hot (20)

PDF
Agile integration workshop
PDF
A Hitchhiker's Guide to Cloud Native API Gateways
PDF
Itb 2021 - Bulding Quick APIs by Gavin Pickin
PPTX
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
PDF
Microservices Development Process at Predix.io
PPTX
Migrating from oracle soa suite to microservices on kubernetes
PDF
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
PPTX
Docker Kubernetes Istio
PDF
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
PDF
Die große Cloud-native FaaS-Hitparade
PPTX
CNCF Introduction - Feb 2018
PDF
OpenShift Overview - Red Hat Open House 2017
PDF
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
PDF
Using Clocker with Project Calico - Running Production Workloads in the Cloud
PDF
The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...
PDF
Staying on Topic - Invoke OpenFaaS functions with Kafka
PDF
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
PPTX
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
PPTX
Tackle Containerization Advisor (TCA) for Legacy Applications
Agile integration workshop
A Hitchhiker's Guide to Cloud Native API Gateways
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Microservices Development Process at Predix.io
Migrating from oracle soa suite to microservices on kubernetes
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Docker Kubernetes Istio
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
CI-CD Jenkins, GitHub Actions, Tekton
Die große Cloud-native FaaS-Hitparade
CNCF Introduction - Feb 2018
OpenShift Overview - Red Hat Open House 2017
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
Using Clocker with Project Calico - Running Production Workloads in the Cloud
The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...
Staying on Topic - Invoke OpenFaaS functions with Kafka
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Tackle Containerization Advisor (TCA) for Legacy Applications
Ad

Similar to Transformacion e innovacion digital Meetup - Application Modernization and Migration (20)

PDF
Monoliths to microservices workshop
PDF
Moving existing apps to the cloud
PPTX
App Mod 01: Moving existing apps to the cloud
PPTX
Moving existing apps to the cloud
PDF
Embracing Containers and Microservices for Future Proof Application Moderniza...
PDF
Cloud Native Applications on OpenShift
PPTX
Strategies for Securing Availability and Optimizing Application Performance i...
PDF
Using cloud native development to achieve digital transformation
PDF
Red Hat OpenShift V3 Overview and Deep Dive
PDF
Red Hat OpenShift - a foundation for successful digital transformation
PPTX
OpenShift: Devops Made Easy
PDF
Innovation with Open Sources and App Modernization for Developers | Ian Y. Choi
PPTX
Revolutionising IT Agility
PDF
Deploying to Production 50+ Times a Day - Calgary Agile Users Group 2015
PDF
Red Hat OpenShift - a foundation for successful digital transformation
PDF
Red Hat Openshift on Microsoft Azure
PDF
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
PDF
Cloud lifting Legacy Applications
PDF
Evolving to Cloud-Native - Nate Schutta 2/2
PPTX
App Development Evolution: What has changed?
Monoliths to microservices workshop
Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
Moving existing apps to the cloud
Embracing Containers and Microservices for Future Proof Application Moderniza...
Cloud Native Applications on OpenShift
Strategies for Securing Availability and Optimizing Application Performance i...
Using cloud native development to achieve digital transformation
Red Hat OpenShift V3 Overview and Deep Dive
Red Hat OpenShift - a foundation for successful digital transformation
OpenShift: Devops Made Easy
Innovation with Open Sources and App Modernization for Developers | Ian Y. Choi
Revolutionising IT Agility
Deploying to Production 50+ Times a Day - Calgary Agile Users Group 2015
Red Hat OpenShift - a foundation for successful digital transformation
Red Hat Openshift on Microsoft Azure
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Cloud lifting Legacy Applications
Evolving to Cloud-Native - Nate Schutta 2/2
App Development Evolution: What has changed?
Ad

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx
20250228 LYD VKU AI Blended-Learning.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf

Transformacion e innovacion digital Meetup - Application Modernization and Migration

  • 2. oc whoami $ oc whoami rmarting, jromanmartin $ oc describe user rmarting jromanmartin Name: Jose Roman Martin Gil Created: 42 years ago Labels: father, husband, friend, runner, curious, red hatter, developer (in any order) Annotations: Principal Middleware Architect @ Red Hat Identities: mailto: rmarting@redhat.com GitHub: https://github.com/rmarting Twitter: https://twitter.com/jromanmartin LinkedIn: https://www.linkedin.com/in/jromanmartin/
  • 4. DevOps !? DON’T MIND ME JUST SUPPORTING MY DEVS Devs Ops
  • 7. APPLICATION MODERNIZATION & MIGRATION Focus on business workloads and solutions.
  • 8. APPLICATION MODERNIZATION & MIGRATION Digital transformation. Journey to the future.
  • 9. APPLICATION MODERNIZATION & MIGRATION Making old new again.
  • 11. Application Servers Framework / APIs App Middleware Services Operational Platform App App App App App Persistence | Security | Transaction | Messaging | HTTP Deployment | Management | Monitoring | HA | Logging Virtual Machine | Operating System
  • 12. RUN Brownfield TRANSFORM Greenfield GROW VIRTUALPHYSICAL PRIVATE & PUBLIC CLOUD Complex & heterogeneous Lack of common standards Inconsistent automation & governance Typical Landscape Today
  • 13. New problems to resolve Without adding more complexity and inconsistencies? MODERNIZE EXISTING APPS DEVELOP NEW APPLICATIONS THE MODERN WAY
  • 16. Why Modernize? ● Every business is a technology business ● Code has no business value until it is deployed ● Scale and Speed challenges ● Competitive challenges ● Gain Business Agility ● Growth enablement
  • 18. Why Migrate? There is not a “off button” for your Business Applications
  • 19. Why Migrate? ● Optimizing and streamlining existing application usage ● Unlocking more value from your IT investments ● Consolidate application instances ● Rehost or replatform the application to newer infrastructure ● Develop new application code to extend the life and utility of the legacy application ● Convert and update existing code into new development languages ● Restructure application code to support a more modular, loosely coupled services architecture ● Retire the existing packaged application and migrate to a new application
  • 21. Where would like to be? ● One platform to support you today and tomorrow TRANSFORM Greenfield GROWRUN Modernized brownfield COMMON HYBRID APPLICATION INFRASTRUCTURE BETTER SOFTWARE ARCHITECTURE AGILE INTEGRATION STREAMLINE APPLICATION LIFECYCLE CONTINUOUS INNOVATION MODERN APPLICATION CONCEPTS
  • 22. OpenShift is the new Application Server Runtime App Cloud Platform Data Build | Deploy | Scheduling | Scaling | Elasticity | Metrics | Logging Security IMDG Messaging Runtime Svc Runtime Svc Cloud Provider
  • 23. How do we run applications in the new world? ● Strategy and methodology ● Cloud Native, Cloud-Readiness ● Containerization is not the only step
  • 25. The 6 R’s Source: https://aws.amazon.com/cloud-migration/
  • 26. Decision Tree Rehost (lift & shift) Replatform (lift & reshape) Repurchase Refactor (rewrite & decouple) Assessment Review Analyze Prioritize Tools Retire Retain as is (for now) ?Existing App Out-of-scope application for the migration. End-of-life application and will not be migrated. Replacement planned for the application. Enhancements on top of the minimal changes. (e.g. tech updates, mavenization, re-architecture) Minimal migration (as few changes as possible). Not a target Highly scaled and high rate of change apps are candidates Smaller or frozen apps are candidates here
  • 27. Patterns in Modernizing Applications REHOST (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 REPLATFORM (augment) ● Legacy remains intact ● New layer - new capabilities ● Deploy on PaaS ● New integration points between legacy and new layers (Need for Agile Integration) REFACTOR (rewrite & decouple) ● Legacy is totally replaced ● New interfaces and data ● Use PaaS to run ● Some data and features can be re-wrapped, but mostly are retired.
  • 28. Patterns in Modernizing Applications Cost of Migration Time REHOST (Lift and Shift) REFACTOR (Rewrite and Decouple) REPLATFORM (Augment with new Layers) Generally the most expensive and longest
  • 29. Modern Application Concepts Future-proof applications BETTER SOFTWARE ARCHITECTURE Modularize “Fast moving monolith” Microservices Clean technical debt Speed up your business STREAMLINE APPLICATION LIFECYCLE Accelerate time from idea to production Continuous Integration & Delivery (CI/CD) Automation & self-service Container technology Foster an agile culture CONTINUOUS INNOVATION Agile methodology DevOps principles Collaboration Bridge old and new AGILE INTEGRATION Decouple, expose & integrate APIs, services & applications Need hybrid-cloud-enabled integration platform Enhancing applications, platform and processes
  • 31. Cloud-Readiness ● “Cloud-Native” ○ Distinctive architectural characteristics ● “Cloud-Compatible” ○ Represents the minimum viable product ● “Cloud-Ready” / “Container-Ready” / “OpenShift-Ready” ● Not every application should / can / must be made “cloud-native” ○ Container-Ready is often enough ○ Primary focus on OpenShift adoption instead on high re-architecturing efforts
  • 32. The OpenShift Effect ● Principles of container-based application design
  • 33. Journey from Cloud-Compatible to Cloud-Native ● Start with Cloud-Compatible changes ○ Create support from external configurations ○ Remove IP bindings ○ Run on Linux ○ Ensure logs write to console/stdout ● Progress with subsequent iterations ● Actual end state should be dictated by the needs of the business
  • 35. Demo Time - Show me the code ● Standard JEE Application ○ JPA + Hibernate to manage an external MySQL Database ○ JMS Queues to add more information to the application ○ MDB to load data from JMS Queues to store information into MySQL Database ○ Initial Servlets consuming extra startup time ● Main issues ○ Extra time to be ready after redeploy it ○ Monolithic architecture https://github.com/rmarting/amm-demo
  • 36. Demo Time - Migration ● Main Tasks ○ Package using Thorntail (aka Wildfly Swarm) ○ Deploy using Maven Fabric8 Plug-In
  • 37. Demo Time - Thorntail ● An innovative approach to package and run Java EE applications ● Just enough App Server: package your app with required runtime dependencies (but nothing more) ● Based in Wildfly Application Server ● Packaged as an Uber Jar (self-contained, executable Java archive)
  • 38. Demo Time - Maven Fabric8 PlugIn ● Brings your Java applications on to OpenShift ● Provides tight integration into Maven ● Focus on two tasks: ○ Building Docker Images ○ Creating OpenShift resource descriptors
  • 39. Demo Time - Migration Results ● Health check of our application ○ Liveness & Readiness Probe ● Zero-downtime in deployment ○ Rolling up ● Scale up/down as needed ○ Autoscaller
  • 40. Demo Time - Modernization ● Main Tasks ○ Deploy Messaging Services using ActiveMQ Artemis or enmasse.io ○ Deploy Integration Services with Apache Camel and Spring Boot ○ Deploy Cron Jobs ○ Remove old operations from monolithic application
  • 41. Demo Time - Messaging Systems ● Messaging as a Service ● Messaging Protocols: AMQP, MQTT ● High Performance ● Scalable
  • 42. Demo Time - Integration Systems ● Agile Integration - Cloud Native Integration ○ Integration Microservices ● Enterprise Integration Patterns ● Lightweight ● Data transformation
  • 43. Demo Time - Modernization Results ● Services isolated and coordinated ○ Microservices? ● Fast monolithic application ○ Reduced the tasks done ● Resources Optimization ○ Each service uses the resources needed