A presentation at IBM Tech TV in October 2020 in by Holly Cummins
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
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
“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
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
“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
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
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
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
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