SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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: 41 years ago
Labels: father, husband, friend, runner, curious, red hatter,
developer (in any order)
Annotations: Senior 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/
APPLICATION MODERNIZATION &
MIGRATION
DevOps !?
DON’T MIND ME
JUST SUPPORTING MY
DEVS
Devs Ops
Application Designs
Monoliths Microservices
Application Designs
Monoliths Microservices
Java and JavaEE still very relevant !?
Source: DZone 2017 “Java Development and Evolution” whitepaper
What does AMM mean?
APPLICATION MODERNIZATION & MIGRATION
What does AMM mean?
APPLICATION MODERNIZATION & MIGRATION
Focus on business workloads and solutions.
What does AMM mean?
APPLICATION MODERNIZATION & MIGRATION
Digital transformation. Journey to the future.
What does AMM mean?
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’s 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 it get it?
● How do we build and run applications in the new world?
● Strategy and methodology
● 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)
Assess, review,
prioritize. 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
Cloud-Native Application Ideals
● Ability to handle dynamic scaling, load configuration in flexible ways, and
aggregate logs
● Dynamic discovery of dependencies
● Load balancing of requests to dependencies
● Enable application monitoring and distributed tracing
● Circuit breaker and and bulkhead patterns
● Feature toggles and health checks
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
CONTAINERIZING APPLICATIONS
What is Containerization?
● Packaging of a configured application and all its dependencies into a light,
portable, cloud-ready sandbox.
Containerization Challenges
Beyond the code
APPLICATIONS
Dependencies
Concurrency
Log and file system
State and persistence
Environment independance
Backing services
Port bindings
Automation
Admin processes
Configuration management
Application aggregation
Availability and reliability
Elastic scaling
Security
INFRASTRUCTURE
Application lifecycle
Application discovery
Log management
Monitoring and health
Knowledge governance
PROCESS
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
Demo Time - Show me the code
● Migration
○ Package using Wildfly Swarm
○ Deploy using Maven Fabric8 Plug-In
○ Automate
○ Monitoring
○ Scale up/down
Demo Time - Wildfly Swarm
● An innovate 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 Kubernetes and OpenShift
● Provides tight integration into Maven
● Focus on two tasks:
○ Building Docker Images
○ Creating Kubernetes and OpenShift resource descriptors
Demo Time - Show me the code
● Modernization
○ Deploy Messaging Services
○ Deploy Integration Services
○ Deploy CronJobs
○ Remove old operations in monolithic application
○
Questions?
Thank you!

Contenu connexe

Dernier

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 WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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?Antenna Manufacturer Coco
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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 productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 SolutionsEnterprise Knowledge
 

Dernier (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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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 Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 

En vedette

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

OpenShift Meetup - Application modernization and migration

  • 2. oc whoami $ oc whoami rmarting, jromanmartin $ oc describe user rmarting jromanmartin Name: Jose Roman Martin Gil Created: 41 years ago Labels: father, husband, friend, runner, curious, red hatter, developer (in any order) Annotations: Senior 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. Java and JavaEE still very relevant !? Source: DZone 2017 “Java Development and Evolution” whitepaper
  • 8. What does AMM mean? APPLICATION MODERNIZATION & MIGRATION
  • 9. What does AMM mean? APPLICATION MODERNIZATION & MIGRATION Focus on business workloads and solutions.
  • 10. What does AMM mean? APPLICATION MODERNIZATION & MIGRATION Digital transformation. Journey to the future.
  • 11. What does AMM mean? APPLICATION MODERNIZATION & MIGRATION Making old new again.
  • 13. 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
  • 14. RUN Brownfield TRANSFORM Greenfield GROW VIRTUALPHYSICAL PRIVATE & PUBLIC CLOUD Complex & heterogeneous Lack of common standards Inconsistent automation & governance Typical Landscape Today
  • 15. New problems to resolve Without adding more complexity and inconsistencies? MODERNIZE EXISTING APPS DEVELOP NEW APPLICATIONS THE MODERN WAY
  • 18. Why Modernize? ● Every business is a technology business ● Code has no business value until it’s deployed ● Scale and Speed challenges ● Competitive challenges ● Gain Business Agility ● Growth enablement
  • 20. Why Migrate? There is not a “off button” for your Business Applications
  • 21. 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
  • 23. 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
  • 24. 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
  • 25. How do it get it? ● How do we build and run applications in the new world? ● Strategy and methodology ● Containerization is not the only step
  • 27. The 6 R’s Source: https://aws.amazon.com/cloud-migration/
  • 28. Decision Tree Rehost (lift & shift) Replatform (lift & reshape) Repurchase Refactor (rewrite & decouple) Assess, review, prioritize. 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
  • 29. 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.
  • 30. 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
  • 31. 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
  • 33. 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
  • 34. Cloud-Native Application Ideals ● Ability to handle dynamic scaling, load configuration in flexible ways, and aggregate logs ● Dynamic discovery of dependencies ● Load balancing of requests to dependencies ● Enable application monitoring and distributed tracing ● Circuit breaker and and bulkhead patterns ● Feature toggles and health checks
  • 35. 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
  • 37. What is Containerization? ● Packaging of a configured application and all its dependencies into a light, portable, cloud-ready sandbox.
  • 38. Containerization Challenges Beyond the code APPLICATIONS Dependencies Concurrency Log and file system State and persistence Environment independance Backing services Port bindings Automation Admin processes Configuration management Application aggregation Availability and reliability Elastic scaling Security INFRASTRUCTURE Application lifecycle Application discovery Log management Monitoring and health Knowledge governance PROCESS
  • 40. 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
  • 41. Demo Time - Show me the code ● Migration ○ Package using Wildfly Swarm ○ Deploy using Maven Fabric8 Plug-In ○ Automate ○ Monitoring ○ Scale up/down
  • 42. Demo Time - Wildfly Swarm ● An innovate 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)
  • 43. Demo Time - Maven Fabric8 PlugIn ● Brings your Java applications on to Kubernetes and OpenShift ● Provides tight integration into Maven ● Focus on two tasks: ○ Building Docker Images ○ Creating Kubernetes and OpenShift resource descriptors
  • 44. Demo Time - Show me the code ● Modernization ○ Deploy Messaging Services ○ Deploy Integration Services ○ Deploy CronJobs ○ Remove old operations in monolithic application ○