how - and why - to modernise your scruffy old java applications Holly Cummins IBM Garage @holly_cummins

a codebase is like a home (thanks for Livable Code, Sarah Mei!) @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

does yours do what you need? @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

it’s impossible to do anything in here photo courtesy of Ryo Chijiiwa, flickr

it made sense a long time ago photo courtesy of Brent Pearson, flickr

it never made sense @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

it’s too expensive to maintain

these problems are too fundamental for us to fix them photo courtesy of Bobo Boom, flickr

it needs capabilities never envisioned in the original @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

you obviously can’t retrofit a rollercoaster to a … oh. @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

you obviously can’t retrofit a rollercoaster to a … oh. @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

no one is allowed to do stuff @holly_cummins photo courtesy of Paul Mullens and i_zimbra #IBMGarage + IBM Cloud © 2020 IBM Corporation

@holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

but … @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

sometimes the change you need to make isn’t the change you think you need to make

shiny is temporary habits are persistent

@holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

“we’re moving too slowly. @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

“we’re moving too slowly. we should modernise our COBOL application into microservices. @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

“we’re moving too slowly. we should modernise our COBOL application into microservices. our release board meets twice a year.” @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

to the code! @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

the problem with app mod demos Photo by Studio Sarah Lou, flickr

the problem with app mod demos Photo by Studio Sarah Lou, flickr

if an application is too complex to manage … untangling it won’t be trivial @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

strangler pattern Photo by David Casteel, flickr @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

mono 2 micro Transformation Advisor WebSphere Application Migration Toolkit @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

mono 2 micro Transformation Advisor WebSphere Application Migration Toolkit @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

“every time we touch one microservice, all the others break.” @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

Courtesy NASA/ JPL-Caltech © 2019 IBM Corporation

IBM Cloud © 2020 IBM Corporation

IBM Cloud © 2020 IBM Corporation

metric units

metric units imperial units

metric units imperial units distributing did not help

distributed != decoupled @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

If you’re going to do microservices, you need to get good at automation. And testing. @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

IBM Cloud © 2020 IBM Corporation

the test pyramid IBM Cloud © 2020 IBM Corporation

the test pyramid IBM Cloud © 2020 IBM Corporation

the test pyramid IBM Cloud © 2020 IBM Corporation

the test pyramid IBM Cloud © 2020 IBM Corporation

How to test a fire alarm? @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

how not to test a fire alarm IBM Cloud © 2020 IBM Corporation

@holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

unit testing a fire alarm @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

uh … is that enough? @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

contract testing a fire alarm @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

to the code! @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

microservices need consumer-driven contract tests @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation

get the code: ibm.biz/holly-tech-tv learn more about application modernisation: watch Dana Price on IBM Tech TV, October 29 @holly_cummins #IBMGarage + IBM Cloud © 2020 IBM Corporation