SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
© Copyright 2018 Pivotal Software, Inc. All rights Reserved.
Rohit Kelapure
Pivotal Consulting Practice Lead
Pivotal Labs App Transformation
Fast Follow for Migrating Your Apps to the Cloud: How to do it and What to Avoid
Tools and Recipes to
Replatform Monolithic Apps
to Modern Cloud
Cover w/ Image
Agenda
1. How to find high-value modernization
projects within your application portfolio
2. How to choose the platform with the
right level of abstraction for your app
3. Tools and techniques to minimally
change applications in preparation for
replatforming
4. Examples that show how Java EE
Websphere applications can be
deployed to Pivotal Cloud Foundry
5. Q+A
Where Wild Things Are
Your Application Portfolio is a Mix of Things
CONTAINERS
EVENT-DRIVEN
FUNCTIONS
DATA
MICROSERVICES
Batch
MONOLITHIC
APPLICATIONS
ESBJEE
COTS
MAINFRAME
.NET
Applications Journey - Java
Applications Journey - .NET
Microservices Evolution
Microservices, Events, & Breaking the Data Monolith with Kafka https://bit.ly/2UJXyPi
Business Factors
Tech Feasibility
Funnel
PROGRAM DECISION
Scaling
Reverse AI
aka “Think”
1 2
3 4
X
X
X
Journey
Markers
runs runs well optimized
rehost replatform refactor rebuild
1 32
Business
Tech
M
I
E
T
Matrix
Prioritization
Business
lowhighTechnical
low high
4
1
2
3
$$$
$$
$
$
4
VSM
Moduliths
Stateful
Persistent file
systems
caches
No work
Spring Boot
Spring Framework
Microservices
Java EE Microprofile
Fat jar packaged
Reactive
Stateless
Self-contained
Java EE Web Profile
war packaged
Java EE Full Profile / J2EE
ear packaged
app server dependencies
Multi non-HTTP comm.
protocol Ingest
Canonical Data Model
Thick Java
Clients
Custom
Packaging
Transactional
Strong consistent
ESB/BPM
Monolith
System of Systems
OS Native
Mainframe extensions
Small Large
How far can we push ?
Amount of rewrite ?
Microliths
Simple Batch
Request-Response
Messaging
Medium XL
Java Workloads > Effort To Migrate to PAS
.NET Core
Web API
ASP.NET
MVC
ASP.NET
Webforms .NET Console
App
.NET Windows
Service
Windows
Presentation
Foundation
Windows
Workflow
Foundation
Windows forms
Windows
Communication
Foundation
IncompatibleSmall amount of rewrite Large amount of rewrite
How far can we push?
No rewrite to run on PAS
.NET Workloads > Effort to Rewrite on PAS
Abstractions are your Friends
Application Transformation Strategies
Re-Host
Containerize aka
“lift and shift”
Re-Platform
Minimal efforts to run
natively on PAS
Re-Factor
Convert to Cloud
Native aka
“Modernize”
Re-Build
Decompose and
rewrite from the
ground up
Application Portfolio
Funneling Process
Modernization
CLOUD NATIVE
REFACTOR
CLOUD READY
REPLATFORM
CLOUD HOSTED
REHOST
• Microservice Architecture and Principals
• API First Design
• Design for failure
• Apps unaffected by dependent service failure
• Proactive testing for failure
• Metrics and Monitoring baked-in
• Cloud Agnostic runtime implementation
• Adherence with 12-Factor App principles*
• Horizontally scalable
• Leverage platform for HA
Containerize to gain infrastructure,
platform and operational benefits
• No file-system requirements or uses S3 API
• Self contained app
• Platform managed ports and addressing
• Consume off platform services using platform
semantics
* We believe there are more like 15 “factors” that exemplify a true, “Cloud Native” application
0 Factors = Runs on PKS
4 -7 Factor
= Runs on PAS
12-15 factors, Modern
Microservices (App + Data);
Runs well on PAS and/or PFS
What workloads should run on this abstraction ?
CaaS(PKS)
● Stateful workloads
● Packaged software
● Short-lived apps /
workloads
● Software distributed
via Helm chart
● Apps using
non-standard port
behavior
● Legacy, zero-factor,
apps
PaaS(PAS)
● Custom-built
software targeting
Win or Linux
● Docker images
● Web applications
● APIs
● Batch jobs
● Streaming
applications
FaaS(PFS)
● Data change
synchronization
● Static sites
● Simple APIs
● Real-time stream
analytics/
enrichment
● Audits of
infrastructure
changes
● Notification
engines
IaaS(vSphere)
● Apps that need
installed drivers,
app/web server
config
● Packaged software
● Virtual appliances
● Apps migrating
from physical
hardware
● VDEs
● Application
platforms
Tools & Techniques
SNAP
App Foundry
Automated suitability assessment
and decisioning framework.
A free tool from Pivotal to help
accelerate good decision making
along the path to PCF.
Upload binary or map
to source control
Parsers for most common
languages (Java, .NET)
Extensible rules (100s
available currently)
UI dashboard to help
triage decisioning
Understand technical
effort to move your app
Build Program Artifacts
Why is PCF the Best Place to run Spring Apps ?
Technique: Spring Bootification > Java Build Pack
1. For new Projects start with Spring Intiializr or Backup existing project
2. Review or Restructure Project Structure > Package as fat jar or war
3. Dependency Management to inject the right spring boot and spring cloud starters and
the spring boot maven and gradle plugins
4. Create Spring Boot application by adding java main method in class annotated with
@SpringBootApplication
5. Remove explicit dependency versions and rely on Spring Boot’s starter modules
6. Externalize Environment, Remove file Loggiing, Expose Actuators
7. Dependencies wired correctly in the cloud using Spring Cloud Connectors
8. Fix Spring application context startup errors - rinse and repeat
9. Get Tests working > Deploy to cloud > $$$
Build DockerFile
based on
WAS/WLS
traditional image
Code changes to
enable a legacy
application for
CI/CD
Migration from
JDK 1.6 to JDK 1.8
Externalize
Service, Logging
Externalize
WAS/WLS web
app configuration
Seamlessly
deliver application
updates
Dockerization
Volume Mount
Externalization
Websphere
traditional helm
chart
Technique: Java EE Buildpacks
Liberty Buildpack
● Supports Java EE 8 and 7
applications
● Supports different application
types Java EE archives (.war,
.ear)
● Liberty archives that can
include configuration data
along with applications
● Standalone applications (.jar),
etc.
● Runs on IBM SDK and supports
OpenJDK
● Supported by IBM & available
in the services marketplace
JBOSS/Weblogic/Custom
● Runs JBOSS and WebLogic apps
with minimal changes
● Support for autoconfiguration of
resources
● JBoss buildpack kept in cadence
with Java Buildpack
● Weblogic buildpack is a bit old in
the tooth. Use K8s WL Operators
instead to deploy to cloud.
● Create your own custom
buildpack for an opininoated CI
way to build a conatiner image
with no app changes
● Fat jars to wrap your app server in
the app and run it as a java app
TomEE Buildpack
● Stages and runs Java EE
compliant apps
● Supports EAR archives
● Supports autoconfiguration of
Tomcat resources
● Updated in regular cadence with
the Java Buildpack
● Minimal changes to the app
Tooling Links
Dockerization
Jib
Cloud Native Buildpacks
Spring Boot Migration Guide
Redhat Application Migration Toolkit
Migration Toolkit for Application Binaries
IBM WebSphere Migration Toolkit
IBM Cloud Transformation Advisor
IntelliJ Dependency Analysis
mvn dependency:tree
Code That Writes Code with Atomist and Snyk
Demo
Monolithic Application : DayTrader
https://github.com/WASdev/sample.daytrader7
● DayTrader is an end-to-end benchmark and performance real world stock
trading application.
● The application allows users to login, view their portfolio, lookup
stock quotes, and buy or sell stock shares.
● DayTrader can be used to measure and compare the performance of Java
EE servers with Apache JMeter
● The app contains a set of primitives used for functional and
performance testing of Java EE components and common design patterns.
● DayTrader's design spans Java EE 7, including the WebSockets
specification.
● Other Java EE features include JSPs, Servlets, EJBs, JPA, JDBC, JSF,
CDI, Bean Validation, JSON, JMS, MDBs, and transactions.
Sleeping Demons
Cloud Programming Simplified: A Berkeley View on Serverless Computing https://bit.ly/2SAWSyD
Cover w/ Image
Replatforming enables app
and data movement
Problem: Multinational consumer bank exploring hybrid
architectures to do multichannel banking but most
existing apps are on-premise, data monoliths.
Solution:
Modernized to microservices, and applied an Event
mesh using PCF and Solace as backbone
Solace bridges on-prem instances to temporary
deployments in AWS to offload peak traffic
Benefit:
Enables new apps to access data from legacy & vice
versa, supporting gradual modernization
Reduces annual cost footprint by leveraging public
cloud via hybrid-cloud architecture on demand
Solace : Messaging with Purpose on Pivotal Cloud Foundry
https://bit.ly/2JqUPZZ
Transforming How The World Builds Software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
Tom Laszewski
 

Was ist angesagt? (20)

Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
 
Azure Arc Overview from Microsoft
Azure Arc Overview from MicrosoftAzure Arc Overview from Microsoft
Azure Arc Overview from Microsoft
 
App Modernization with Microsoft Azure
App Modernization with Microsoft AzureApp Modernization with Microsoft Azure
App Modernization with Microsoft Azure
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
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
 
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
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
Apache Kafka® and API Management
Apache Kafka® and API ManagementApache Kafka® and API Management
Apache Kafka® and API Management
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
Legacy application modernization with microsoft azure
Legacy application modernization with microsoft azureLegacy application modernization with microsoft azure
Legacy application modernization with microsoft azure
 
Zero-Trust SASE DevSecOps
Zero-Trust SASE DevSecOpsZero-Trust SASE DevSecOps
Zero-Trust SASE DevSecOps
 
Cloud Migration Strategy Framework
Cloud Migration Strategy FrameworkCloud Migration Strategy Framework
Cloud Migration Strategy Framework
 
Integration Monday - Logic App Patterns
Integration Monday - Logic App PatternsIntegration Monday - Logic App Patterns
Integration Monday - Logic App Patterns
 
AWS Marketplace
AWS MarketplaceAWS Marketplace
AWS Marketplace
 
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 Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
 
Migrating your Data Centre to AWS
Migrating your Data Centre to AWSMigrating your Data Centre to AWS
Migrating your Data Centre to AWS
 
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
Building and Successfully Selling ISV Solutions with AWS Partner-Summit-Singa...
 

Ähnlich wie Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments

CV_Vasili_Tegza 2G
CV_Vasili_Tegza 2GCV_Vasili_Tegza 2G
CV_Vasili_Tegza 2G
Vasyl Tegza
 
Joseph Ardolino CV (1)
Joseph Ardolino CV (1)Joseph Ardolino CV (1)
Joseph Ardolino CV (1)
Joe Ardolino
 

Ähnlich wie Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments (20)

Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
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
 
Back to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy ApplicationsBack to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy Applications
 
Top 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptxTop 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptx
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
CV_Vasili_Tegza 2G
CV_Vasili_Tegza 2GCV_Vasili_Tegza 2G
CV_Vasili_Tegza 2G
 
Joseph Ardolino CV (1)
Joseph Ardolino CV (1)Joseph Ardolino CV (1)
Joseph Ardolino CV (1)
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
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
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10
 
Giri_WCS
Giri_WCSGiri_WCS
Giri_WCS
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 

Mehr von VMware Tanzu

Mehr von VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments

  • 1. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Rohit Kelapure Pivotal Consulting Practice Lead Pivotal Labs App Transformation Fast Follow for Migrating Your Apps to the Cloud: How to do it and What to Avoid Tools and Recipes to Replatform Monolithic Apps to Modern Cloud
  • 2.
  • 3. Cover w/ Image Agenda 1. How to find high-value modernization projects within your application portfolio 2. How to choose the platform with the right level of abstraction for your app 3. Tools and techniques to minimally change applications in preparation for replatforming 4. Examples that show how Java EE Websphere applications can be deployed to Pivotal Cloud Foundry 5. Q+A
  • 5. Your Application Portfolio is a Mix of Things CONTAINERS EVENT-DRIVEN FUNCTIONS DATA MICROSERVICES Batch MONOLITHIC APPLICATIONS ESBJEE COTS MAINFRAME .NET
  • 8. Microservices Evolution Microservices, Events, & Breaking the Data Monolith with Kafka https://bit.ly/2UJXyPi
  • 9. Business Factors Tech Feasibility Funnel PROGRAM DECISION Scaling Reverse AI aka “Think” 1 2 3 4 X X X Journey Markers runs runs well optimized rehost replatform refactor rebuild 1 32 Business Tech M I E T Matrix Prioritization Business lowhighTechnical low high 4 1 2 3 $$$ $$ $ $ 4 VSM
  • 10. Moduliths Stateful Persistent file systems caches No work Spring Boot Spring Framework Microservices Java EE Microprofile Fat jar packaged Reactive Stateless Self-contained Java EE Web Profile war packaged Java EE Full Profile / J2EE ear packaged app server dependencies Multi non-HTTP comm. protocol Ingest Canonical Data Model Thick Java Clients Custom Packaging Transactional Strong consistent ESB/BPM Monolith System of Systems OS Native Mainframe extensions Small Large How far can we push ? Amount of rewrite ? Microliths Simple Batch Request-Response Messaging Medium XL Java Workloads > Effort To Migrate to PAS
  • 11. .NET Core Web API ASP.NET MVC ASP.NET Webforms .NET Console App .NET Windows Service Windows Presentation Foundation Windows Workflow Foundation Windows forms Windows Communication Foundation IncompatibleSmall amount of rewrite Large amount of rewrite How far can we push? No rewrite to run on PAS .NET Workloads > Effort to Rewrite on PAS
  • 13. Application Transformation Strategies Re-Host Containerize aka “lift and shift” Re-Platform Minimal efforts to run natively on PAS Re-Factor Convert to Cloud Native aka “Modernize” Re-Build Decompose and rewrite from the ground up Application Portfolio Funneling Process
  • 14. Modernization CLOUD NATIVE REFACTOR CLOUD READY REPLATFORM CLOUD HOSTED REHOST • Microservice Architecture and Principals • API First Design • Design for failure • Apps unaffected by dependent service failure • Proactive testing for failure • Metrics and Monitoring baked-in • Cloud Agnostic runtime implementation • Adherence with 12-Factor App principles* • Horizontally scalable • Leverage platform for HA Containerize to gain infrastructure, platform and operational benefits • No file-system requirements or uses S3 API • Self contained app • Platform managed ports and addressing • Consume off platform services using platform semantics * We believe there are more like 15 “factors” that exemplify a true, “Cloud Native” application 0 Factors = Runs on PKS 4 -7 Factor = Runs on PAS 12-15 factors, Modern Microservices (App + Data); Runs well on PAS and/or PFS
  • 15. What workloads should run on this abstraction ? CaaS(PKS) ● Stateful workloads ● Packaged software ● Short-lived apps / workloads ● Software distributed via Helm chart ● Apps using non-standard port behavior ● Legacy, zero-factor, apps PaaS(PAS) ● Custom-built software targeting Win or Linux ● Docker images ● Web applications ● APIs ● Batch jobs ● Streaming applications FaaS(PFS) ● Data change synchronization ● Static sites ● Simple APIs ● Real-time stream analytics/ enrichment ● Audits of infrastructure changes ● Notification engines IaaS(vSphere) ● Apps that need installed drivers, app/web server config ● Packaged software ● Virtual appliances ● Apps migrating from physical hardware ● VDEs ● Application platforms
  • 16.
  • 18. SNAP
  • 19. App Foundry Automated suitability assessment and decisioning framework. A free tool from Pivotal to help accelerate good decision making along the path to PCF. Upload binary or map to source control Parsers for most common languages (Java, .NET) Extensible rules (100s available currently) UI dashboard to help triage decisioning Understand technical effort to move your app
  • 21. Why is PCF the Best Place to run Spring Apps ?
  • 22. Technique: Spring Bootification > Java Build Pack 1. For new Projects start with Spring Intiializr or Backup existing project 2. Review or Restructure Project Structure > Package as fat jar or war 3. Dependency Management to inject the right spring boot and spring cloud starters and the spring boot maven and gradle plugins 4. Create Spring Boot application by adding java main method in class annotated with @SpringBootApplication 5. Remove explicit dependency versions and rely on Spring Boot’s starter modules 6. Externalize Environment, Remove file Loggiing, Expose Actuators 7. Dependencies wired correctly in the cloud using Spring Cloud Connectors 8. Fix Spring application context startup errors - rinse and repeat 9. Get Tests working > Deploy to cloud > $$$
  • 23. Build DockerFile based on WAS/WLS traditional image Code changes to enable a legacy application for CI/CD Migration from JDK 1.6 to JDK 1.8 Externalize Service, Logging Externalize WAS/WLS web app configuration Seamlessly deliver application updates Dockerization Volume Mount Externalization Websphere traditional helm chart
  • 24. Technique: Java EE Buildpacks Liberty Buildpack ● Supports Java EE 8 and 7 applications ● Supports different application types Java EE archives (.war, .ear) ● Liberty archives that can include configuration data along with applications ● Standalone applications (.jar), etc. ● Runs on IBM SDK and supports OpenJDK ● Supported by IBM & available in the services marketplace JBOSS/Weblogic/Custom ● Runs JBOSS and WebLogic apps with minimal changes ● Support for autoconfiguration of resources ● JBoss buildpack kept in cadence with Java Buildpack ● Weblogic buildpack is a bit old in the tooth. Use K8s WL Operators instead to deploy to cloud. ● Create your own custom buildpack for an opininoated CI way to build a conatiner image with no app changes ● Fat jars to wrap your app server in the app and run it as a java app TomEE Buildpack ● Stages and runs Java EE compliant apps ● Supports EAR archives ● Supports autoconfiguration of Tomcat resources ● Updated in regular cadence with the Java Buildpack ● Minimal changes to the app
  • 25. Tooling Links Dockerization Jib Cloud Native Buildpacks Spring Boot Migration Guide Redhat Application Migration Toolkit Migration Toolkit for Application Binaries IBM WebSphere Migration Toolkit IBM Cloud Transformation Advisor IntelliJ Dependency Analysis mvn dependency:tree Code That Writes Code with Atomist and Snyk
  • 26. Demo
  • 27. Monolithic Application : DayTrader https://github.com/WASdev/sample.daytrader7 ● DayTrader is an end-to-end benchmark and performance real world stock trading application. ● The application allows users to login, view their portfolio, lookup stock quotes, and buy or sell stock shares. ● DayTrader can be used to measure and compare the performance of Java EE servers with Apache JMeter ● The app contains a set of primitives used for functional and performance testing of Java EE components and common design patterns. ● DayTrader's design spans Java EE 7, including the WebSockets specification. ● Other Java EE features include JSPs, Servlets, EJBs, JPA, JDBC, JSF, CDI, Bean Validation, JSON, JMS, MDBs, and transactions.
  • 29. Cloud Programming Simplified: A Berkeley View on Serverless Computing https://bit.ly/2SAWSyD
  • 30. Cover w/ Image Replatforming enables app and data movement Problem: Multinational consumer bank exploring hybrid architectures to do multichannel banking but most existing apps are on-premise, data monoliths. Solution: Modernized to microservices, and applied an Event mesh using PCF and Solace as backbone Solace bridges on-prem instances to temporary deployments in AWS to offload peak traffic Benefit: Enables new apps to access data from legacy & vice versa, supporting gradual modernization Reduces annual cost footprint by leveraging public cloud via hybrid-cloud architecture on demand Solace : Messaging with Purpose on Pivotal Cloud Foundry https://bit.ly/2JqUPZZ
  • 31. Transforming How The World Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.