Enterprise Application
Migration
and how NOT to royally make a mess...
High Level Overview
● Level Set: What does “Legacy Application” mean today?
● Background, what is the Grid Platform?
● Technical Challenges and how we overcame them.
● Next time around and what we’d do differently.
● Parting tech tips you can use with your Legacy apps
Mike Wright
Pivotal Platform Architect,
Manager - Southeast
Started coding Java in
1996 at Lucent
Technologies back when
PowerBuilder was more
popular!
Ashley Eckard
THD Senior System Engineer
Originally started as a
software engineer at a
startup company.
Chocolate...
What does “Legacy”
applications Mean?
What is The Grid
Platform?
Why Migrate Now?
Cloud Foundry can be more than Luke
Didja know?
- Run docker images
- Push SQLPlus client + SQL and run as task
- Container to container networking
- Volume mounts
- Windows
- JEE apps
- Side cars
- Istio/Envoy
- Push MySQL Router as an app to proxy InnoDB clusters
The 4 “Re’s” of Application Transformation
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
Business and Technical filters, prioritization, scheduling, etc.
AppPlatform
How did you
approach the
Problem?
Did you make a Code Change?
How to change a tire while the vehicle is in motion
Dockerizing Grid
Config
Port to expose
App Name
RPMs - how Grid apps
are packaged today.
anyone do this?
Includes a packaged
mini version of our grid
environment!
Traefik - for specialized
app ingress handling.
wait, I thought this is a
k8s thing?
FluentBit - lots of
separate log files written
from Grid Apps. Popular
amongst K8s too!
Grid app!
Docker image to be deployed
onto AppPlatform!
Wizardly shell script
Grid App Running
Flow:
1. Pull in rpm’s and base image of mini grid
2. Generate Dockerfile
3. Cf push!
Less Common Platform features exploited
1. Enabling docker support
2. Search domains
3. Registry whitelisting
4. Container to Container
Java/Tomcat App
FluentBit
Log files
Traefik
Platform App Ingress
Kafka
Running Grid App
instance on AppPlatform
MySQL
Stdout Log
Platform log aggregation
Take Aways
● Knowing when the your thing is going to die.
● Take advantage of automation in the platform with legacy
applications.
● Experiment and play with your legacy applications, you’ll
be surprised how versatile your platform can be.
Probing Questions

Enterprise Application Migration

  • 1.
    Enterprise Application Migration and howNOT to royally make a mess...
  • 2.
    High Level Overview ●Level Set: What does “Legacy Application” mean today? ● Background, what is the Grid Platform? ● Technical Challenges and how we overcame them. ● Next time around and what we’d do differently. ● Parting tech tips you can use with your Legacy apps
  • 3.
    Mike Wright Pivotal PlatformArchitect, Manager - Southeast Started coding Java in 1996 at Lucent Technologies back when PowerBuilder was more popular!
  • 4.
    Ashley Eckard THD SeniorSystem Engineer Originally started as a software engineer at a startup company. Chocolate...
  • 5.
  • 7.
    What is TheGrid Platform?
  • 9.
  • 11.
    Cloud Foundry canbe more than Luke Didja know? - Run docker images - Push SQLPlus client + SQL and run as task - Container to container networking - Volume mounts - Windows - JEE apps - Side cars - Istio/Envoy - Push MySQL Router as an app to proxy InnoDB clusters
  • 12.
    The 4 “Re’s”of Application Transformation 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 Business and Technical filters, prioritization, scheduling, etc. AppPlatform
  • 13.
  • 14.
    Did you makea Code Change?
  • 15.
    How to changea tire while the vehicle is in motion
  • 16.
    Dockerizing Grid Config Port toexpose App Name RPMs - how Grid apps are packaged today. anyone do this? Includes a packaged mini version of our grid environment! Traefik - for specialized app ingress handling. wait, I thought this is a k8s thing? FluentBit - lots of separate log files written from Grid Apps. Popular amongst K8s too! Grid app! Docker image to be deployed onto AppPlatform! Wizardly shell script
  • 17.
    Grid App Running Flow: 1.Pull in rpm’s and base image of mini grid 2. Generate Dockerfile 3. Cf push! Less Common Platform features exploited 1. Enabling docker support 2. Search domains 3. Registry whitelisting 4. Container to Container Java/Tomcat App FluentBit Log files Traefik Platform App Ingress Kafka Running Grid App instance on AppPlatform MySQL Stdout Log Platform log aggregation
  • 18.
    Take Aways ● Knowingwhen the your thing is going to die. ● Take advantage of automation in the platform with legacy applications. ● Experiment and play with your legacy applications, you’ll be surprised how versatile your platform can be.
  • 19.