Slide 1

Slide 1 text

10/14/24

Slide 2

Slide 2 text

Wir entwickeln Softwarelösungen: Cloud-native Softwareentwicklung Data insights Beratung, Workshops und Reviews Wir steigern die Effizienz von IT- Abteilungen: Platform Engineering Cloud Infrastructure Software Modernisierung Was wir machen?

Slide 3

Slide 3 text

3 ”TAMING THE CODEBASE MONSTER"

Slide 4

Slide 4 text

4 WHAT IS LEGACY?

Slide 5

Slide 5 text

5 WHAT IS LEGACY CODE? • No longer maintained or supported by the original developers. • Code was written in a now-obsolete programming language or for a platform that is no longer in demand. • The code is difficult or very costly to modify. • There are no automated tests or (up-to-date) documentation for the code.

Slide 6

Slide 6 text

6 EXAMPLE • CR for a simple Application:

Slide 7

Slide 7 text

7 EXAMPLE

Slide 8

Slide 8 text

8 MIGRATION STRATEGIES (6RS) 1. Rehost (Lift and Shift): • Applications are moved to a new infrastructure (often the cloud) without changes to the underlying code. • Pro: Quick and easy to implement, requires no code changes. • Con: Doesn’t fully leverage cloud benefits; can be more expensive and inefficient in the long term.

Slide 9

Slide 9 text

9 MIGRATION STRATEGIES (6RS) 2. Replatform • Minor changes to the application to optimize it for the new environment without rearchitecting. • Pro: Improves efficiency and cost while utilizing some cloud benefits • Con: Requires moderate development resources and effort.

Slide 10

Slide 10 text

10 MIGRATION STRATEGIES (6RS) 3. Replace • Replacing the legacy application with a new solution, often a SaaS (Software as a Service) product. • Pro: Less maintenance and faster to implement. • Con: Potential limitations due to out-of-the-box features and the complexity of data migration.

Slide 11

Slide 11 text

11 MIGRATION STRATEGIES (6RS) 4. Retire • Applications or parts of them are not migrated but decommissioned because they are no longer needed. • Pro: Reduces complexity and cost. • Con: Requires a thorough analysis of system dependencies before retiring.

Slide 12

Slide 12 text

12 MIGRATION STRATEGIES (6RS) 5. Retain • Applications remain in their current environment, either because they aren’t ready for migration or because they will be addressed later. • Pro: Avoid unnecessary changes where no immediate value can be gained. • Con: Delays future migration.

Slide 13

Slide 13 text

13 MIGRATION STRATEGIES (6RS) 6. Refactoring / Rearchitecting • Fundamental redesign of the application architecture to take full advantage of the new plattform. • Pro: Maximum flexibility and ability to utilize advanced features of the new platform. • Con: Higher cost, complexity, and time-consuming.

Slide 14

Slide 14 text

14 SOFTWARE MIGRATION INSURANCE SOFTWARE Requirements: • Host to Cloud migration • Refactor existing Java applications • Cobol to Java refactoring • Infrastrucutre replacement • Step by step migration

Slide 15

Slide 15 text

15 SOFTWARE MIGRATION INSURANCE SOFTWARE

Slide 16

Slide 16 text

16 SOFTWARE MIGRATION INSURANCE SOFTWARE Analyzing the code - How significant is the technical debt? - Analysis of infrastructure and surrounding systems. - Is a documentation available? - Do we have tests? - How much will it cost? How long will it take?

Slide 17

Slide 17 text

17 SOFTWARE MIGRATION INSURANCE SOFTWARE Strangler Fig Pattern:

Slide 18

Slide 18 text

18 SOFTWARE MIGRATION INSURANCE SOFTWARE

Slide 19

Slide 19 text

19

Slide 20

Slide 20 text

20 SOFTWARE MIGRATION INSURANCE SOFTWARE - Golden Master Technique

Slide 21

Slide 21 text

21 SOFTWARE MIGRATION INSURANCE SOFTWARE - Test-Driven Refactoring o write tests for the existing codebase - The Boy Scout Rule o Leave it cleaner than you found it

Slide 22

Slide 22 text

22 SOFTWARE MIGRATION INSURANCE SOFTWARE

Slide 23

Slide 23 text

23

Slide 24

Slide 24 text

24 FAILED PROJECT

Slide 25

Slide 25 text

25 FAILED PROJECT

Slide 26

Slide 26 text

26 FAILED PROJECT - What went wrong? I will skip the tests

Slide 27

Slide 27 text

27 THANK YOU FOR YOUR ATTENTION

Slide 28

Slide 28 text

28

Slide 29

Slide 29 text

www.posedio.com/career