SlideShare a Scribd company logo
1 of 45
Download to read offline
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

What's hot

Agile integration workshop
Agile integration workshopAgile integration workshop
Agile integration workshopJudy Breedlove
 
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
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin PickinItb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin PickinGavin Pickin
 
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Orkhan Gasimov
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.ioConstantine Grigel
 
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
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkRed Hat Developers
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...Animesh Singh
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeQAware GmbH
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017Rodolfo Carvalho
 
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...apidays
 
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudUsing Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudAndrew Kennedy
 
The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...
The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...
The right tool / technology for the right job : by Yakup Kalin (ACA IT-Soluti...ACA IT-Solutions
 
Staying on Topic - Invoke OpenFaaS functions with Kafka
Staying on Topic - Invoke OpenFaaS functions with KafkaStaying on Topic - Invoke OpenFaaS functions with Kafka
Staying on Topic - Invoke OpenFaaS functions with KafkaRichard Gee
 
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...Docker, Inc.
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...Weaveworks
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsKonveyor Community
 

What's hot (20)

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

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

Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container StrategyRed Hat Events
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivDevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivAmazon Web Services
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUni Systems S.M.S.A.
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshopJudy Breedlove
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
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
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Sanjeev Sharma
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatMatt Ray
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOpsGordon Haff
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker, Inc.
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...Haggai Philip Zagury
 

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

Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel AvivDevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
DevOps on Steroids Featuring Red Hat & Alantiss - Pop-up Loft Tel Aviv
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
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...
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with Habitat
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot Chanana
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.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