Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
September, 2019 / © 2019 IBM Corporation
Java Application
Modernization Patterns
and
Stories from the IBM Garage

Dave Mulley
IBM Garage Solution Engineering – Application Modernization Team
Holly Cummins
STSM, WW Development Lead, IBM Cloud Garage

The Journey to Cloud
The Journey to Cloud
Migrate
Lift & shift

applications and

workloads
Modernize
Update using 

containers and

microservices
Innovate
Build new

cloud native

applications
Manage
Integrate

and manage,

multicloud
Driver
Improved operations

and productivity
Driver
Solve previously
unsolved problems
Outcomes
Greater business agility,

access to data for insights
Driver
Lower Capex
Types of Cloud Journeys
Investment Protection
Adopt new technology
and modernize at your
pace with IBM Cloud
Paks
Proven Approaches
Prescriptive guidance,
online demos and
tutorials
IBM Garage Architecture
for best practices
Acceleration Services
90,000 experts
100,000 migrations
38 global studios
Turnkey modernization
with services aligned with
proven approaches
Advanced Technology
Rich set of containerized
Middleware with IBM
Cloud Paks
Advanced Migration and
Developer Tools with IBM
Cloud Pak for
Applications
4
IBM’s approach to application modernization

5
Introspects WebSphere,
IBM MQ, WebLogic, and
Tomcat deployments
Included and deployed
on Cloud Pak for
Applications
4) Diagnostic
services
IBM Cloud Transformation Advisor
Provides recommendations and
automation for App Modernization
Access and analyze Java EE apps and
messaging infrastructure.
Analysis
Report
Potential issues,
severity details,
possible solutions
and estimated
resolution effort
Technology
Report
Details on IBM
platform support
for technologies
used in the app
Inventory
Report
High-level
inventory of
application content
and structure
IBM Cloud / © 2019 IBM Corporation IBM Confidential
6
Migration
Complexity
Moderate:
Some code
changes
needed
Complex:
Incompatible
technologies;
external
dependencies
Simple:
No code
changes
Classify Existing Apps Based on Migration Complexity
vm
Identifying Technical Debt
• Out of support (JDK 5,6 or 7) or limited lifespan (JDK 8)
• IBM proprietary APIs/implementations such as Work Manager,
Startup Beans and SCA are not portable.
• Many proprietary APIs/implementations are deprecated
• Spring 2.5.6 and older is incompatible with JDK 8
• Older Spring Framework versions are unsupported by Pivotal
and have documented security vulnerabilities
jdk
• Running in “backwards compatibility” mode on WAS 8.5 and 9
• Newer versions of JPA, JSF, CDI and JAX-RS are not backwards
compatible in some situations
• Utilizing deprecated/optional Java EE technologies (JAX-RPC)
• Including unsupported/deprecated frameworks (JSF 2.0, Struts 1)
• Older, outdated technologies, patterns and strategies (monoliths,
EJB, CORBA, SCA etc)
• Out of support or limited lifespan WebSphere Runtime.
• Monolithic, large footprint runtime requiring patching, upgrades
and operations team management
traditional runtime
spring framework 2/3/4
application
java ee 1.4/1.5/6
application
proprietary runtime apis
Modernization Options
effort required
traditional
cloud native
lift and
shift
jdk
debt
runtime
debt
api
debt
app
debt
cloud
native
debt
removed
debt
remains
debt
remains
debt
remains
no
Modernization Options
effort required
traditional
cloud native
lift and
shift
operations
modernization
jdk
debt
runtime
debt
api
debt
app
debt
cloud
native
debt
removed
debt
removed
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
no
partial
cloud
ready
Modernization Options
effort required
traditional
cloud native
lift and
shift
operations
modernization
runtime modernization
jdk
debt
runtime
debt
api
debt
app
debt
cloud
native
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
no
partial
cloud
ready
cloud
ready
Modernization Options
effort required
traditional
cloud native
lift and
shift
operations
modernization
runtime modernization
application modernization
jdk
debt
runtime
debt
api
debt
app
debt
cloud
native
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
no
partial
cloud
ready
cloud
ready
mixed
runtimes
Modernization Options
effort required
traditional
cloud native
lift and
shift
operations
modernization
runtime modernization
application modernization
redesign and rewrite
jdk
debt
runtime
debt
api
debt
app
debt
cloud
native
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
cloud
native
debt
removed
debt
removed
debt
removed
debt
removed
debt
removed
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
debt
remains
no
partial
cloud
ready
cloud
ready
mixed
runtimes
Operations Modernization
vm
jdk
traditional
runtime
java ee 6
application
proprietary
runtime apis
tech
debt
tech
debt
tech
debt
tech
debt
common devops pipelines
common operational services
ibm certified
container
jdk
traditional
runtime
java ee 6
application
proprietary
runtime apis
tech
debt
tech
debt
tech
debt
tech
debt
ibm certified
container
some other cloud
native application
ibm certified
container
some other cloud
native application
• Package existing WebSphere ND app in a
container with as little change as possible
• Run older applications on the same platform as
new cloud-native applications
• Transform operations to embrace immutable
container
Runtime Modernization
vm
jdk
traditional
runtime
java ee 6
application
proprietary
runtime apis
tech
debt
tech
debt
tech
debt
tech
debt
common devops pipelines
common operational services
ibm certified
container
jdk
cloud-ready
runtime
java ee 6
application
opensource
runtime apis
tech
debt
tech
debt
ibm certified
container
some other cloud
native application
ibm certified
container
some other cloud
native application
tech
debt
• Change runtime to cloud-ready Liberty runtime
• Keep applications changes to a minimum
• Run older applications on the same platform as
new cloud-native applications
• Transform operations to embrace immutable
container
Client Story: WebSphere Portal Modernization
WAS
Portal
EJB +
JSF
EJB +
JSF
EJB +
JSF
EJB +
JSF
Portlet Portlet Portlet
Jenkins
IBM Cloud Private
Jenkins
DevOps
NGINX
SPA
frontend
Liberty
EJB
REST
Modernization Journey
• Modernize EJBs to run on
Liberty and with REST
interface
• Create new frontend
• Automate CI/CD with
Jenkins and IBM
UrbanCode
BENEFITS:
#1 - Modern, supported runtime with zero migration
#2 - Automated provisioning of test environments and automated testing
#3 - Reduced business risk by reusing EJB layer
Customer
implementation being
led by IBM Cloud Garage
16
OCP dev/test environment
OCP enablement
Validate full deployment scope
OCP full deployment
OCP integration
Compliance &
Production readiness
Factory Scale :
self-service, multi-tenant,
charge-back..
Prove Liberty in containers
OCP and pipeline integration
Validate full scope & timeline
Critical mass
containerization
Full containerization
Factory Scale:
re-use/publish/Arch Center
Sync up with Garage best
practices and integrated with
DevOps foundations
Accelerate
Front-end refactoring
Factory Scale:
Cross-org template
Application Modernization - Front-end
Application Modernization – Back-end
Container Foundation
Refactor pipeline for containers
Add Liberty containers pipeline
Cross-env deployment
pipelines with UCD
Pipelines deployment
Factory Scale:
Open source consumption
governance
DevOps Foundation
Complete Front-end
refactoring
Application Modernization Workstreams
websphere nd
Client Story: Service Component Architecture Modernization
MessageBus
Modernization Journey
• Repackaged Java Code as
REST Services using
SpringBoot
• Deployed new Applications
with automated CI/CD
Jenkins Pipelines
BENEFITS:
#1 – Removed deprecated SCA framework and exposed applications
using APIs
#2 - Reduced business risk by reusing Java Code
ibm certified
container
websphere mq
ibm certified
container
springboot
rest api
java code
ibm certified
container
springboot
rest api
java code
ibm certified
container
springboot
rest api
java code
ibm certified
container
springboot
rest api
java code
ibm certified
container
springboot
rest api
java code
common devops pipelines
common operational services
sca
service
sca
service
sca
service
sca
service
sca
service
java code
java code
java code
java code
java code
Application Modernization
vm
jdk
traditional
runtime
java ee 6
application
proprietary
runtime apis
tech
debt
tech
debt
tech
debt
tech
debt
ibm certified
container
jdk
cloud-ready
runtime
java ee 8
application
opensource
runtime apis
tech
debt
tech
debt
tech
debt
ibm certified
container
jdk
cloud-ready
runtime
java ee 8
application
opensource
runtime apis
tech
debt
tech
debt
tech
debt
ibm certified
container
jdk
cloud-ready
runtime
java ee 8
application
opensource
runtime apis
tech
debt
tech
debt
tech
debt
common devops pipelines
common operational services
• Redesign application for new cloud
platform
• Full microservices implementation
Client story:
Auto modernisation
Add platform enablers:
• GDPR
• Security
• Load balancing
Stack updates:
• Containerised for ease of
• build
• deployment
• testing
• Rewrote in Node.js
Can we do even better?
• 77% of APIs unused
• 6 APIs would work better as 2
Image courtesy of James St John, flickr
The Strangler Fig
Java Application Modernization Patterns and Stories from the IBM Garage
App Transition and the Strangler Pattern
Existing Site
Time
NewExisting
new development
new site
existing site
coexistence
Business as
usual. New
features added
to new site.
Coexistence will include beta of
new chunks where only a small %
of the user population get served
up the chunk and a complete
100% transition to new chunks.
Note that new features will
continue to be added to the
existing site until critical mass is
reached on the new site.
IBM Cloud / April 2019 / © 2019 IBM Corporation
Are Microservices the
Solution to Everything...? 



IBM Cloud / April 2019 / © 2019 IBM Corporation
Are Microservices the
Solution to Everything...? 



NO!
IBM Cloud / April 2019 / © 2019 IBM Corporation
“The microservices approach is all about handling
a complex system, but in order to do so, the
approach introduces its own set of complexities.
When you use microservices you have to work on
automated deployment, monitoring, dealing with
failure, eventual consistency, and other factors
that a distributed system introduces…”
-Martin Fowler
containers will not fix
a broken dev culture 25
even kubernetes will not fix
a broken dev culture 26
Microservices.
What could possibly go wrong?
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
“we don’t exactly know why we
have six microservices, but it
seems like a good idea to split
our application?”
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
containers are a good base
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
containers are a good base
it’s not a
competition
to see how
many you
can have
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
“each of our microservices has
duplicated the same object
model … with twenty classes
and seventy fields”
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
Microservice
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
Microservice
Domain
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
Microservice
Domain
@holly_cummins© 2019 IBM Corporation #IBMCloudGarage
“every time we change
code, something breaks”
© 2019 IBM Corporation
“every time we change
code, something breaks”
© 2019 IBM Corporation
distributed monolith
© 2019 IBM Corporation
distributed monolith
but without compile-time checking
© 2019 IBM Corporation
just because a system runs across 6
containers doesn’t mean it’s decoupled
© 2019 IBM Corporation
© 2019 IBM Corporation
mars
climate
explorer
© 2019 IBM Corporation
Courtesy NASA/
JPL-Caltech
© 2019 IBM Corporation
© 2019 IBM Corporation
Java Application Modernization Patterns and Stories from the IBM Garage
metric units
metric units
imperial
units
distributing
did not help
metric units
imperial
units
© 2019 IBM Corporation
microservices need
consumer-driven contract tests
© 2019 IBM Corporation
© 2019 IBM Corporation
© 2019 IBM Corporation
What problem were we
trying to solve, anyway?
© 2019 IBM Corporation
© 2019 IBM Corporation
“the cloud will
make us faster.”
“this provisioning
software is broken”
what we sold
“this provisioning
software is broken”
10 minute
provision-time
what we sold
“this provisioning
software is broken”
10 minute
provision-time
3 month
provision-
time
what the
client saw
what we sold
“this provisioning
software is broken”
10 minute
provision-time
3 month
provision-
time
what the
client saw
the reason
84-step
pre-approval process
© 2019 IBM Corporation
“we’re going too slowly.
we need to get rid of cobol and
make microservices!”
© 2019 IBM Corporation
“we’re going too slowly.
we need to get rid of cobol and
make microservices!”
“… but our release board
only meets twice a year.”
© 2019 IBM Corporation
“we can’t actually
release this.”
© 2019 IBM Corporation
“we can’t release this microservice…
we deploy all our microservices at the same time.”
© 2019 IBM Corporation
“to ensure our microservices can’t get
deployed independently, we have a single
Jenkins job deploying all 60 microservices.”
“we can’t ship until we have
more confidence in the
quality”
“we can’t ship until we have
more confidence in the
quality”
you
can fix
that
“our tests aren’t
automated”
“our tests aren’t
automated”
“we don’t know if our
code currently works”
“we don’t know if our
code currently works”
“it costs too much
to release”
“it costs too much
to release”you
can fix
that
© 2019 IBM Corporation
how not to
drive a car
© 2019 IBM Corporation
feedback is good engineering
© 2019 IBM Corporation
feedback is good business
Modernising people :)
• Cloud-native development has different best practices
• Operations models for containers are different
• SRE and CSMO are a whole new world
• Learn by doing with experienced partners
• Co-creation
• Paired programming
• Automate everything
• Test-driven development
• Shift left
IBM Cloud / April 2019 / © 2019 IBM Corporation
Was it worth it?
IBM Cloud / April 2019 / © 2019 IBM Corporation
Was it worth it?
YES
Application Modernization is everywhere
A large financial institution wants to
leverage cloud efficiencies for their
applications. They are bound by
government regulations to keep their
applications in the country, with data
touched only by their country’s citizens.
A marketing and experience
management giant with high sensitivity
data needs a high performance cloud to
run their applications. Performance and
proximity are key.
A major airline has a pipeline of 15-20
applications to move or create new in the
cloud. These are production applications
with thousands of users which require
metering visibility and enterprise-level
management.
Experiences with 400+ client engagements taught us:
• Across industries, organizations recognize application modernization as a key imperative
• A ’rip and replace’ only approach is not delivering the necessary changes fast enough
• A positive business case, unlocking the value of existing applications is key
• Modernization is more than just the application, it is an-inclusive approach across the lifecycle
61
2 Forrester Consulting (study commissioned by IBM), Beneath The Surface Of Digital Transformation, January 2019.
IBM Cloud Garage Approach to Application Modernization
IBM Cloud / April 2019 / © 2019 IBM Corporation
Activities
Initial Framing
Session
Design Thinking Architecture Minimum Viable
Product Build
Build Out
Client outcomes
ü Alignment on the
desired business
outcome.
ü Confirm executive
sponsor, product owner
ü Selection of candidate
app workloads that can
deliver the business
outcome through
modernization
ü Business and IT
alignment on user
experience and
roadmap to meet your
business outcome
ü Identified risks and
assumptions in your
modernization
approach, such as data
security
ü Agreed on next MVP
business experiment
ü Defined a minimum
viable architecture that
mitigates risk
ü Deployed and
configured a Hybrid
and/or Multicloud
solution with a data,
management, and
integration layer
ü Modernized, deployed,
and tested the
application on the cloud
environment
ü Achieved the stated
business goals towards
the outcome
ü Iterate, refine solution
until you achieved the
stated business
outcome
ü Become self–sufficient
in achieving business
results with the IBM
Garage Method.
ü Scaled production
environment and
applications
Think 2018 / DOC ID / Month XX, 2018 / © 2018 IBM Corporation
63
s
Learn More:
IBM Garage Architecture for Application Modernization
IBM ZACS for Application Modernization (internal to IBM)
https://ibm.biz/Bd2L8e
https://www.ibm.com/cloud/garage/architectures/application-modernization/
https://www.ibm.com/cloud/application-modernization

More Related Content

What's hot

Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
Lorenzo Barbieri
 
Modernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWSModernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWS
Amazon Web Services
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case Study
CAST
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
LaunchAny
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationCapgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Floyd DCosta
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
WSO2
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
Phi Huynh
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Guido Schmutz
 
Large-Scale AWS Migrations with CSC
Large-Scale AWS Migrations with CSCLarge-Scale AWS Migrations with CSC
Large-Scale AWS Migrations with CSC
Amazon Web Services
 
Power up! Mass Migrations at Speed and Scale - Accenture
Power up! Mass Migrations at Speed and Scale - AccenturePower up! Mass Migrations at Speed and Scale - Accenture
Power up! Mass Migrations at Speed and Scale - Accenture
Amazon Web Services
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
 
Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
InCycleSoftware
 
Effective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a WeekEffective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a Week
Databricks
 
Migrating to the Cloud
Migrating to the CloudMigrating to the Cloud
Migrating to the Cloud
Amazon Web Services
 
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
Amazon Web Services
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWS
Amazon Web Services
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API Management
Callon Campbell
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
API strategy with IBM API connect
API strategy with IBM API connectAPI strategy with IBM API connect
API strategy with IBM API connect
Kellton Tech Solutions Ltd
 

What's hot (20)

Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
Modernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWSModernize your Microsoft Applications on AWS
Modernize your Microsoft Applications on AWS
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case Study
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationCapgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Large-Scale AWS Migrations with CSC
Large-Scale AWS Migrations with CSCLarge-Scale AWS Migrations with CSC
Large-Scale AWS Migrations with CSC
 
Power up! Mass Migrations at Speed and Scale - Accenture
Power up! Mass Migrations at Speed and Scale - AccenturePower up! Mass Migrations at Speed and Scale - Accenture
Power up! Mass Migrations at Speed and Scale - Accenture
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
 
Effective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a WeekEffective AIOps with Open Source Software in a Week
Effective AIOps with Open Source Software in a Week
 
Migrating to the Cloud
Migrating to the CloudMigrating to the Cloud
Migrating to the Cloud
 
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
How Can I Build a Landing Zone & Extend my Operations into AWS to Support my ...
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWS
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API Management
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
API strategy with IBM API connect
API strategy with IBM API connectAPI strategy with IBM API connect
API strategy with IBM API connect
 

Similar to Java Application Modernization Patterns and Stories from the IBM Garage

Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
Sanjeev Sharma
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
VMware Tanzu
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
Judy Breedlove
 
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Christophe Lucas
 
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
Docker, Inc.
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
VMware Tanzu
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
Judy Breedlove
 
Ibm PureApplication system
Ibm PureApplication systemIbm PureApplication system
Ibm PureApplication system
khawkwf
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5
margaret_ronald
 
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
Sanjeev Sharma
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
Phil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
Phil Reay
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
VMware Tanzu
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware Takeout
VMware Tanzu
 
Continuous Delivery for cloud - scenarios and scope
Continuous Delivery for cloud  - scenarios and scopeContinuous Delivery for cloud  - scenarios and scope
Continuous Delivery for cloud - scenarios and scope
Sanjeev Sharma
 
How They Did It and What You Can Learn From It: A Customer Case Study for Re...
How They Did It and What You Can Learn From It:  A Customer Case Study for Re...How They Did It and What You Can Learn From It:  A Customer Case Study for Re...
How They Did It and What You Can Learn From It: A Customer Case Study for Re...
Amazon Web Services
 

Similar to Java Application Modernization Patterns and Stories from the IBM Garage (20)

Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
 
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
 
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
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
Ibm PureApplication system
Ibm PureApplication systemIbm PureApplication system
Ibm PureApplication system
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5
 
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
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware Takeout
 
Continuous Delivery for cloud - scenarios and scope
Continuous Delivery for cloud  - scenarios and scopeContinuous Delivery for cloud  - scenarios and scope
Continuous Delivery for cloud - scenarios and scope
 
How They Did It and What You Can Learn From It: A Customer Case Study for Re...
How They Did It and What You Can Learn From It:  A Customer Case Study for Re...How They Did It and What You Can Learn From It:  A Customer Case Study for Re...
How They Did It and What You Can Learn From It: A Customer Case Study for Re...
 

More from Holly Cummins

How to Love K8s and Not Wreck The Planet
How to Love K8s and Not Wreck The PlanetHow to Love K8s and Not Wreck The Planet
How to Love K8s and Not Wreck The Planet
Holly Cummins
 
The Importance of Fun in the Workplace (late 2019)
The Importance of Fun in the Workplace (late 2019)The Importance of Fun in the Workplace (late 2019)
The Importance of Fun in the Workplace (late 2019)
Holly Cummins
 
People, Planet, Clouds
People, Planet, CloudsPeople, Planet, Clouds
People, Planet, Clouds
Holly Cummins
 
Nine Ways To Fail at Cloud Native
Nine Ways To Fail at Cloud NativeNine Ways To Fail at Cloud Native
Nine Ways To Fail at Cloud Native
Holly Cummins
 
Tales from the devops transformation trenches
Tales from the devops transformation trenchesTales from the devops transformation trenches
Tales from the devops transformation trenches
Holly Cummins
 
Confessions of an Automation Addict
Confessions of an Automation AddictConfessions of an Automation Addict
Confessions of an Automation Addict
Holly Cummins
 
The Importance of Fun in the Workplace (2019)
The Importance of Fun in the Workplace (2019)The Importance of Fun in the Workplace (2019)
The Importance of Fun in the Workplace (2019)
Holly Cummins
 
The story of http://designsparkmarketplace.com
The story of http://designsparkmarketplace.comThe story of http://designsparkmarketplace.com
The story of http://designsparkmarketplace.com
Holly Cummins
 
Six Myths and Paradoxes of Garbage Collection
Six Myths and Paradoxes of Garbage Collection Six Myths and Paradoxes of Garbage Collection
Six Myths and Paradoxes of Garbage Collection
Holly Cummins
 
Cloud native is about culture, not containers
Cloud native is about culture, not containersCloud native is about culture, not containers
Cloud native is about culture, not containers
Holly Cummins
 
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java DeveloperCloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
Holly Cummins
 
So You Say You Want a Chatbot Revolution
So You Say You Want a Chatbot RevolutionSo You Say You Want a Chatbot Revolution
So You Say You Want a Chatbot Revolution
Holly Cummins
 
Java performance - not so scary after all
Java performance - not so scary after allJava performance - not so scary after all
Java performance - not so scary after all
Holly Cummins
 
OSGi and the Enterprise - A match made in a ... box?
OSGi and the Enterprise - A match made in a ... box?OSGi and the Enterprise - A match made in a ... box?
OSGi and the Enterprise - A match made in a ... box?
Holly Cummins
 
Innovation Stories from the Bluemix Garage
Innovation Stories from the Bluemix GarageInnovation Stories from the Bluemix Garage
Innovation Stories from the Bluemix Garage
Holly Cummins
 
Thinking Strategically About IoT
Thinking Strategically About IoTThinking Strategically About IoT
Thinking Strategically About IoT
Holly Cummins
 
Software Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
Software Developers Guide to Fun in the Workplace: Euphoria Despite the DespairSoftware Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
Software Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
Holly Cummins
 
The Cuddly Throwable Application Server
The Cuddly Throwable Application ServerThe Cuddly Throwable Application Server
The Cuddly Throwable Application Server
Holly Cummins
 
An Arduino, an application, server, and me
An Arduino, an application, server, and meAn Arduino, an application, server, and me
An Arduino, an application, server, and me
Holly Cummins
 
Building Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cablesBuilding Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cables
Holly Cummins
 

More from Holly Cummins (20)

How to Love K8s and Not Wreck The Planet
How to Love K8s and Not Wreck The PlanetHow to Love K8s and Not Wreck The Planet
How to Love K8s and Not Wreck The Planet
 
The Importance of Fun in the Workplace (late 2019)
The Importance of Fun in the Workplace (late 2019)The Importance of Fun in the Workplace (late 2019)
The Importance of Fun in the Workplace (late 2019)
 
People, Planet, Clouds
People, Planet, CloudsPeople, Planet, Clouds
People, Planet, Clouds
 
Nine Ways To Fail at Cloud Native
Nine Ways To Fail at Cloud NativeNine Ways To Fail at Cloud Native
Nine Ways To Fail at Cloud Native
 
Tales from the devops transformation trenches
Tales from the devops transformation trenchesTales from the devops transformation trenches
Tales from the devops transformation trenches
 
Confessions of an Automation Addict
Confessions of an Automation AddictConfessions of an Automation Addict
Confessions of an Automation Addict
 
The Importance of Fun in the Workplace (2019)
The Importance of Fun in the Workplace (2019)The Importance of Fun in the Workplace (2019)
The Importance of Fun in the Workplace (2019)
 
The story of http://designsparkmarketplace.com
The story of http://designsparkmarketplace.comThe story of http://designsparkmarketplace.com
The story of http://designsparkmarketplace.com
 
Six Myths and Paradoxes of Garbage Collection
Six Myths and Paradoxes of Garbage Collection Six Myths and Paradoxes of Garbage Collection
Six Myths and Paradoxes of Garbage Collection
 
Cloud native is about culture, not containers
Cloud native is about culture, not containersCloud native is about culture, not containers
Cloud native is about culture, not containers
 
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java DeveloperCloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
Cloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer
 
So You Say You Want a Chatbot Revolution
So You Say You Want a Chatbot RevolutionSo You Say You Want a Chatbot Revolution
So You Say You Want a Chatbot Revolution
 
Java performance - not so scary after all
Java performance - not so scary after allJava performance - not so scary after all
Java performance - not so scary after all
 
OSGi and the Enterprise - A match made in a ... box?
OSGi and the Enterprise - A match made in a ... box?OSGi and the Enterprise - A match made in a ... box?
OSGi and the Enterprise - A match made in a ... box?
 
Innovation Stories from the Bluemix Garage
Innovation Stories from the Bluemix GarageInnovation Stories from the Bluemix Garage
Innovation Stories from the Bluemix Garage
 
Thinking Strategically About IoT
Thinking Strategically About IoTThinking Strategically About IoT
Thinking Strategically About IoT
 
Software Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
Software Developers Guide to Fun in the Workplace: Euphoria Despite the DespairSoftware Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
Software Developers Guide to Fun in the Workplace: Euphoria Despite the Despair
 
The Cuddly Throwable Application Server
The Cuddly Throwable Application ServerThe Cuddly Throwable Application Server
The Cuddly Throwable Application Server
 
An Arduino, an application, server, and me
An Arduino, an application, server, and meAn Arduino, an application, server, and me
An Arduino, an application, server, and me
 
Building Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cablesBuilding Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cables
 

Recently uploaded

Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
TwisterTools
 
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava... @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava...
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
DiyaSharma6551
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
Ortus Solutions, Corp
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01
williamrobertherman
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceMumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
kolkata dolls
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Misti Soneji
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
Ortus Solutions, Corp
 
@Call @Girls in Saharanpur 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
 @Call @Girls in Saharanpur 🐱‍🐉  XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas... @Call @Girls in Saharanpur 🐱‍🐉  XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
@Call @Girls in Saharanpur 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
AlinaDevecerski
 
dachnug51 - HCL Domino Roadmap .pdf
dachnug51 - HCL Domino Roadmap      .pdfdachnug51 - HCL Domino Roadmap      .pdf
dachnug51 - HCL Domino Roadmap .pdf
DNUG e.V.
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
DNUG e.V.
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
Major Outages in Major Enterprises Payara Conference
Major Outages in Major Enterprises Payara ConferenceMajor Outages in Major Enterprises Payara Conference
Major Outages in Major Enterprises Payara Conference
Tier1 app
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
@Call @Girls in Tiruppur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
 @Call @Girls in Tiruppur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ... @Call @Girls in Tiruppur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
@Call @Girls in Tiruppur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
Mona Rathore
 

Recently uploaded (20)

Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
 
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava... @Call @Girls in Ahmedabad 🐱‍🐉  XXXXXXXXXX 🐱‍🐉  Best High Class Ahmedabad Ava...
@Call @Girls in Ahmedabad 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Best High Class Ahmedabad Ava...
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01Java SE 17 Study Guide for Certification - Chapter 01
Java SE 17 Study Guide for Certification - Chapter 01
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceMumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe@ℂall @Girls Kolkata  ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
@ℂall @Girls Kolkata ꧁❤ 000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
 
@Call @Girls in Saharanpur 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
 @Call @Girls in Saharanpur 🐱‍🐉  XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas... @Call @Girls in Saharanpur 🐱‍🐉  XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
@Call @Girls in Saharanpur 🐱‍🐉 XXXXXXXXXX 🐱‍🐉 Tanisha Sharma Best High Clas...
 
dachnug51 - HCL Domino Roadmap .pdf
dachnug51 - HCL Domino Roadmap      .pdfdachnug51 - HCL Domino Roadmap      .pdf
dachnug51 - HCL Domino Roadmap .pdf
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
Major Outages in Major Enterprises Payara Conference
Major Outages in Major Enterprises Payara ConferenceMajor Outages in Major Enterprises Payara Conference
Major Outages in Major Enterprises Payara Conference
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
@Call @Girls in Tiruppur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
 @Call @Girls in Tiruppur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ... @Call @Girls in Tiruppur 🤷‍♂️  XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
@Call @Girls in Tiruppur 🤷‍♂️ XXXXXXXX 🤷‍♂️ Tanisha Sharma Best High Class ...
 

Java Application Modernization Patterns and Stories from the IBM Garage

  • 1. September, 2019 / © 2019 IBM Corporation Java Application Modernization Patterns and Stories from the IBM Garage
 Dave Mulley IBM Garage Solution Engineering – Application Modernization Team Holly Cummins STSM, WW Development Lead, IBM Cloud Garage

  • 4. Migrate Lift & shift
 applications and
 workloads Modernize Update using 
 containers and
 microservices Innovate Build new
 cloud native
 applications Manage Integrate
 and manage,
 multicloud Driver Improved operations
 and productivity Driver Solve previously unsolved problems Outcomes Greater business agility,
 access to data for insights Driver Lower Capex Types of Cloud Journeys
  • 5. Investment Protection Adopt new technology and modernize at your pace with IBM Cloud Paks Proven Approaches Prescriptive guidance, online demos and tutorials IBM Garage Architecture for best practices Acceleration Services 90,000 experts 100,000 migrations 38 global studios Turnkey modernization with services aligned with proven approaches Advanced Technology Rich set of containerized Middleware with IBM Cloud Paks Advanced Migration and Developer Tools with IBM Cloud Pak for Applications 4 IBM’s approach to application modernization

  • 6. 5 Introspects WebSphere, IBM MQ, WebLogic, and Tomcat deployments Included and deployed on Cloud Pak for Applications 4) Diagnostic services IBM Cloud Transformation Advisor Provides recommendations and automation for App Modernization Access and analyze Java EE apps and messaging infrastructure. Analysis Report Potential issues, severity details, possible solutions and estimated resolution effort Technology Report Details on IBM platform support for technologies used in the app Inventory Report High-level inventory of application content and structure IBM Cloud / © 2019 IBM Corporation IBM Confidential
  • 8. vm Identifying Technical Debt • Out of support (JDK 5,6 or 7) or limited lifespan (JDK 8) • IBM proprietary APIs/implementations such as Work Manager, Startup Beans and SCA are not portable. • Many proprietary APIs/implementations are deprecated • Spring 2.5.6 and older is incompatible with JDK 8 • Older Spring Framework versions are unsupported by Pivotal and have documented security vulnerabilities jdk • Running in “backwards compatibility” mode on WAS 8.5 and 9 • Newer versions of JPA, JSF, CDI and JAX-RS are not backwards compatible in some situations • Utilizing deprecated/optional Java EE technologies (JAX-RPC) • Including unsupported/deprecated frameworks (JSF 2.0, Struts 1) • Older, outdated technologies, patterns and strategies (monoliths, EJB, CORBA, SCA etc) • Out of support or limited lifespan WebSphere Runtime. • Monolithic, large footprint runtime requiring patching, upgrades and operations team management traditional runtime spring framework 2/3/4 application java ee 1.4/1.5/6 application proprietary runtime apis
  • 9. Modernization Options effort required traditional cloud native lift and shift jdk debt runtime debt api debt app debt cloud native debt removed debt remains debt remains debt remains no
  • 10. Modernization Options effort required traditional cloud native lift and shift operations modernization jdk debt runtime debt api debt app debt cloud native debt removed debt removed debt remains debt remains debt remains debt remains debt remains no partial cloud ready
  • 11. Modernization Options effort required traditional cloud native lift and shift operations modernization runtime modernization jdk debt runtime debt api debt app debt cloud native debt removed debt removed debt removed debt removed debt removed debt remains debt remains debt remains debt remains debt remains debt remains no partial cloud ready cloud ready
  • 12. Modernization Options effort required traditional cloud native lift and shift operations modernization runtime modernization application modernization jdk debt runtime debt api debt app debt cloud native debt removed debt removed debt removed debt removed debt removed debt removed debt removed debt removed debt removed debt remains debt remains debt remains debt remains debt remains debt remains no partial cloud ready cloud ready mixed runtimes
  • 13. Modernization Options effort required traditional cloud native lift and shift operations modernization runtime modernization application modernization redesign and rewrite jdk debt runtime debt api debt app debt cloud native debt removed debt removed debt removed debt removed debt removed debt removed debt removed debt removed cloud native debt removed debt removed debt removed debt removed debt removed debt remains debt remains debt remains debt remains debt remains debt remains no partial cloud ready cloud ready mixed runtimes
  • 14. Operations Modernization vm jdk traditional runtime java ee 6 application proprietary runtime apis tech debt tech debt tech debt tech debt common devops pipelines common operational services ibm certified container jdk traditional runtime java ee 6 application proprietary runtime apis tech debt tech debt tech debt tech debt ibm certified container some other cloud native application ibm certified container some other cloud native application • Package existing WebSphere ND app in a container with as little change as possible • Run older applications on the same platform as new cloud-native applications • Transform operations to embrace immutable container
  • 15. Runtime Modernization vm jdk traditional runtime java ee 6 application proprietary runtime apis tech debt tech debt tech debt tech debt common devops pipelines common operational services ibm certified container jdk cloud-ready runtime java ee 6 application opensource runtime apis tech debt tech debt ibm certified container some other cloud native application ibm certified container some other cloud native application tech debt • Change runtime to cloud-ready Liberty runtime • Keep applications changes to a minimum • Run older applications on the same platform as new cloud-native applications • Transform operations to embrace immutable container
  • 16. Client Story: WebSphere Portal Modernization WAS Portal EJB + JSF EJB + JSF EJB + JSF EJB + JSF Portlet Portlet Portlet Jenkins IBM Cloud Private Jenkins DevOps NGINX SPA frontend Liberty EJB REST Modernization Journey • Modernize EJBs to run on Liberty and with REST interface • Create new frontend • Automate CI/CD with Jenkins and IBM UrbanCode BENEFITS: #1 - Modern, supported runtime with zero migration #2 - Automated provisioning of test environments and automated testing #3 - Reduced business risk by reusing EJB layer Customer implementation being led by IBM Cloud Garage
  • 17. 16 OCP dev/test environment OCP enablement Validate full deployment scope OCP full deployment OCP integration Compliance & Production readiness Factory Scale : self-service, multi-tenant, charge-back.. Prove Liberty in containers OCP and pipeline integration Validate full scope & timeline Critical mass containerization Full containerization Factory Scale: re-use/publish/Arch Center Sync up with Garage best practices and integrated with DevOps foundations Accelerate Front-end refactoring Factory Scale: Cross-org template Application Modernization - Front-end Application Modernization – Back-end Container Foundation Refactor pipeline for containers Add Liberty containers pipeline Cross-env deployment pipelines with UCD Pipelines deployment Factory Scale: Open source consumption governance DevOps Foundation Complete Front-end refactoring Application Modernization Workstreams
  • 18. websphere nd Client Story: Service Component Architecture Modernization MessageBus Modernization Journey • Repackaged Java Code as REST Services using SpringBoot • Deployed new Applications with automated CI/CD Jenkins Pipelines BENEFITS: #1 – Removed deprecated SCA framework and exposed applications using APIs #2 - Reduced business risk by reusing Java Code ibm certified container websphere mq ibm certified container springboot rest api java code ibm certified container springboot rest api java code ibm certified container springboot rest api java code ibm certified container springboot rest api java code ibm certified container springboot rest api java code common devops pipelines common operational services sca service sca service sca service sca service sca service java code java code java code java code java code
  • 19. Application Modernization vm jdk traditional runtime java ee 6 application proprietary runtime apis tech debt tech debt tech debt tech debt ibm certified container jdk cloud-ready runtime java ee 8 application opensource runtime apis tech debt tech debt tech debt ibm certified container jdk cloud-ready runtime java ee 8 application opensource runtime apis tech debt tech debt tech debt ibm certified container jdk cloud-ready runtime java ee 8 application opensource runtime apis tech debt tech debt tech debt common devops pipelines common operational services • Redesign application for new cloud platform • Full microservices implementation
  • 20. Client story: Auto modernisation Add platform enablers: • GDPR • Security • Load balancing Stack updates: • Containerised for ease of • build • deployment • testing • Rewrote in Node.js Can we do even better? • 77% of APIs unused • 6 APIs would work better as 2
  • 21. Image courtesy of James St John, flickr The Strangler Fig
  • 23. App Transition and the Strangler Pattern Existing Site Time NewExisting new development new site existing site coexistence Business as usual. New features added to new site. Coexistence will include beta of new chunks where only a small % of the user population get served up the chunk and a complete 100% transition to new chunks. Note that new features will continue to be added to the existing site until critical mass is reached on the new site.
  • 24. IBM Cloud / April 2019 / © 2019 IBM Corporation Are Microservices the Solution to Everything...? 
 

  • 25. IBM Cloud / April 2019 / © 2019 IBM Corporation Are Microservices the Solution to Everything...? 
 
 NO!
  • 26. IBM Cloud / April 2019 / © 2019 IBM Corporation “The microservices approach is all about handling a complex system, but in order to do so, the approach introduces its own set of complexities. When you use microservices you have to work on automated deployment, monitoring, dealing with failure, eventual consistency, and other factors that a distributed system introduces…” -Martin Fowler
  • 27. containers will not fix a broken dev culture 25
  • 28. even kubernetes will not fix a broken dev culture 26
  • 30. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage “we don’t exactly know why we have six microservices, but it seems like a good idea to split our application?”
  • 31. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage containers are a good base
  • 32. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage containers are a good base it’s not a competition to see how many you can have
  • 33. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage “each of our microservices has duplicated the same object model … with twenty classes and seventy fields”
  • 34. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage Microservice
  • 35. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage Microservice Domain
  • 36. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage Microservice Domain
  • 37. @holly_cummins© 2019 IBM Corporation #IBMCloudGarage “every time we change code, something breaks”
  • 38. © 2019 IBM Corporation “every time we change code, something breaks”
  • 39. © 2019 IBM Corporation distributed monolith
  • 40. © 2019 IBM Corporation distributed monolith but without compile-time checking
  • 41. © 2019 IBM Corporation just because a system runs across 6 containers doesn’t mean it’s decoupled
  • 42. © 2019 IBM Corporation
  • 43. © 2019 IBM Corporation mars climate explorer
  • 44. © 2019 IBM Corporation Courtesy NASA/ JPL-Caltech
  • 45. © 2019 IBM Corporation
  • 46. © 2019 IBM Corporation
  • 50. distributing did not help metric units imperial units
  • 51. © 2019 IBM Corporation microservices need consumer-driven contract tests
  • 52. © 2019 IBM Corporation
  • 53. © 2019 IBM Corporation
  • 54. © 2019 IBM Corporation What problem were we trying to solve, anyway?
  • 55. © 2019 IBM Corporation
  • 56. © 2019 IBM Corporation “the cloud will make us faster.”
  • 58. what we sold “this provisioning software is broken” 10 minute provision-time
  • 59. what we sold “this provisioning software is broken” 10 minute provision-time 3 month provision- time what the client saw
  • 60. what we sold “this provisioning software is broken” 10 minute provision-time 3 month provision- time what the client saw the reason 84-step pre-approval process
  • 61. © 2019 IBM Corporation “we’re going too slowly. we need to get rid of cobol and make microservices!”
  • 62. © 2019 IBM Corporation “we’re going too slowly. we need to get rid of cobol and make microservices!” “… but our release board only meets twice a year.”
  • 63. © 2019 IBM Corporation “we can’t actually release this.”
  • 64. © 2019 IBM Corporation “we can’t release this microservice… we deploy all our microservices at the same time.”
  • 65. © 2019 IBM Corporation “to ensure our microservices can’t get deployed independently, we have a single Jenkins job deploying all 60 microservices.”
  • 66. “we can’t ship until we have more confidence in the quality”
  • 67. “we can’t ship until we have more confidence in the quality” you can fix that
  • 70. “we don’t know if our code currently works”
  • 71. “we don’t know if our code currently works”
  • 72. “it costs too much to release”
  • 73. “it costs too much to release”you can fix that
  • 74. © 2019 IBM Corporation how not to drive a car
  • 75. © 2019 IBM Corporation feedback is good engineering
  • 76. © 2019 IBM Corporation feedback is good business
  • 77. Modernising people :) • Cloud-native development has different best practices • Operations models for containers are different • SRE and CSMO are a whole new world • Learn by doing with experienced partners • Co-creation • Paired programming • Automate everything • Test-driven development • Shift left
  • 78. IBM Cloud / April 2019 / © 2019 IBM Corporation Was it worth it?
  • 79. IBM Cloud / April 2019 / © 2019 IBM Corporation Was it worth it? YES
  • 80. Application Modernization is everywhere A large financial institution wants to leverage cloud efficiencies for their applications. They are bound by government regulations to keep their applications in the country, with data touched only by their country’s citizens. A marketing and experience management giant with high sensitivity data needs a high performance cloud to run their applications. Performance and proximity are key. A major airline has a pipeline of 15-20 applications to move or create new in the cloud. These are production applications with thousands of users which require metering visibility and enterprise-level management. Experiences with 400+ client engagements taught us: • Across industries, organizations recognize application modernization as a key imperative • A ’rip and replace’ only approach is not delivering the necessary changes fast enough • A positive business case, unlocking the value of existing applications is key • Modernization is more than just the application, it is an-inclusive approach across the lifecycle 61
  • 81. 2 Forrester Consulting (study commissioned by IBM), Beneath The Surface Of Digital Transformation, January 2019. IBM Cloud Garage Approach to Application Modernization IBM Cloud / April 2019 / © 2019 IBM Corporation Activities Initial Framing Session Design Thinking Architecture Minimum Viable Product Build Build Out Client outcomes ü Alignment on the desired business outcome. ü Confirm executive sponsor, product owner ü Selection of candidate app workloads that can deliver the business outcome through modernization ü Business and IT alignment on user experience and roadmap to meet your business outcome ü Identified risks and assumptions in your modernization approach, such as data security ü Agreed on next MVP business experiment ü Defined a minimum viable architecture that mitigates risk ü Deployed and configured a Hybrid and/or Multicloud solution with a data, management, and integration layer ü Modernized, deployed, and tested the application on the cloud environment ü Achieved the stated business goals towards the outcome ü Iterate, refine solution until you achieved the stated business outcome ü Become self–sufficient in achieving business results with the IBM Garage Method. ü Scaled production environment and applications
  • 82. Think 2018 / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 63 s Learn More: IBM Garage Architecture for Application Modernization IBM ZACS for Application Modernization (internal to IBM) https://ibm.biz/Bd2L8e https://www.ibm.com/cloud/garage/architectures/application-modernization/ https://www.ibm.com/cloud/application-modernization