dealing with legacy - the cloud native journey, part 2

17
1 1 Ensuring Cloud Native Success: The Legacy Journey Dec. 2015 Slides: http://cote.io/legacy-cloud-native

Upload: michael-cote

Post on 27-Jan-2017

1.143 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Dealing with legacy - the cloud native journey, part 2

11

Ensuring Cloud Native Success: The Legacy Journey Dec. 2015

Slides: http://cote.io/legacy-cloud-native/

Page 3: Dealing with legacy - the cloud native journey, part 2

3

@cote – Director, Technical Marketing at Pivotal for Pivotal Cloud Foundry

Former industry analyst at 451 Research and RedMonk

Corporate Strategy & M&A at Dell Software developer Podcasts: cote.io/podcasts FierceDevOps columnist More: http://cote.io or

[email protected]

Hello!

Page 4: Dealing with legacy - the cloud native journey, part 2

44

Why?

Page 5: Dealing with legacy - the cloud native journey, part 2

5

The goal is not “cloud,” rather shifting to using software as your core enabler of business

Release weekly, if not daily

Software continually updated to match evolving

business models

IT is the enabler of growth

Software Defined BusinessFor the business “oh crap” motivations, see “The 3 Horsemen of the Digital Apocalypse” and the first part of of my DevOpsDays talk.

Page 6: Dealing with legacy - the cloud native journey, part 2

66

Legacy

Page 7: Dealing with legacy - the cloud native journey, part 2

7

“Legacy” is usually existing software that’s odious to change

“Makes all the money” so it’s mission critical

Lacks good testing, so it’s risky to change, fragile

Often built with “pre-cloud” technologies

Page 8: Dealing with legacy - the cloud native journey, part 2

8

Actively manage your portfolio or it will manage you

Source: “A Value Framework that Works for Transforming Your Application Portfolio,” June, 2015. See more commentary on dealing with legacy in “Dealing With The Stuff That Makes All The Money.”

Key transformation effects:

• Reduce costs to run “legacy” systems

• Free resources (time, money, attention) for “innovation”

• Waste elimination: cloud platform automates infrastructure management & “paperwork”

Page 9: Dealing with legacy - the cloud native journey, part 2

9

Filter projects Projects with low business value

– make it worth your time The business case hasn’t run out

yet – don’t write things off Agile Resistant Projects:

1. Tight integration and coordination across division lines

2. Company-wide and/or industry standards can not easily be changed or ignore

3. Technology ill-suited for cloud native, or not “modernized” at all

See “Migrating the Monolith,” Rohit Kelapure, Nov 2015 for more technical details.

Page 10: Dealing with legacy - the cloud native journey, part 2

10

Approaches for the left-overs Virtualize to control costs

and maximize management

API gateways combined with the strangler pattern

Rewriting to be cloud native

See “Migrating the Monolith,” Rohit Kelapure, Nov 2015 for more technical details.

Page 11: Dealing with legacy - the cloud native journey, part 2

11

Filtering for technology fit

Generally good: Stateless Horizontal scaling Well packaged Java

applications Applications that are

configured at runtime RESTful services approach

Generally bad: Reliance on local storage Manages complex background

processes Uses proprietary APIs,

hardware Manual startup/shutdown Long lived, fast connections

Sources: "Pivotal Cloud Foundry Application Migration Selection Criteria," Josh Kruck & Abby Kearns, Q1 2015; "How Do I Migrate Applications to Pivotal Cloud Foundry?" Josh Kruck, June 2015; “Case Study: Refactoring A Monolith Into A Cloud Native App” series, Jared Gordon, Aug 2015.

Page 12: Dealing with legacy - the cloud native journey, part 2

12

Get strict with testing

The Legacy Code DilemmaWhen we change code, we should have tests in place. To put tests in place, we often have to change code.

Page 13: Dealing with legacy - the cloud native journey, part 2

13

Strangle old code, perhaps replacing…one day

Sources: pattern write-up from Martin Fowler, small case studies. Picture from wikipedia’s Ficus aurea page, diagram from Branch by Abstraction write-up, 2011.

Page 14: Dealing with legacy - the cloud native journey, part 2

14

Review boards and other “helpful” processes Automate the helpful processes Establish trust with review

boards – small wins, etc. Expose process bottlenecks

Your process is as important as the process, change it accordingly

Sources: clip art from geralt.

Page 15: Dealing with legacy - the cloud native journey, part 2

15

If all this sounds hard, let that be a reminder of how important architectural and process hygiene is – start doing it right!

Page 17: Dealing with legacy - the cloud native journey, part 2

1717

Thanks!@cote | [email protected]

Slides: http://cote.io/legacy-cloud-native/