23
Evolving toward microservices How HomeDepot.com made the switch

Evolving toward Microservices - O’Reilly SACON Keynote

Embed Size (px)

Citation preview

Page 1: Evolving toward Microservices  - O’Reilly SACON Keynote

Evolving toward microservicesHow HomeDepot.com made the switch

Page 2: Evolving toward Microservices  - O’Reilly SACON Keynote

About me

Christopher GrantSr Architect HomeDepot.com

cgrantcgrant

Page 3: Evolving toward Microservices  - O’Reilly SACON Keynote

Building the monolith

Page 4: Evolving toward Microservices  - O’Reilly SACON Keynote

1996

Page 5: Evolving toward Microservices  - O’Reilly SACON Keynote

2011

• 2 GB Java Deploy that took an hour

• Locking SCM (Clear Case) with no CI

• 3 Month long release Cycles

• 2-4 hour deploy outages

Page 6: Evolving toward Microservices  - O’Reilly SACON Keynote

Breaking Down the Monolith

Page 7: Evolving toward Microservices  - O’Reilly SACON Keynote

Our Objective

• Increase the rate of change

• Increase number developers

• Maintain and enhance operations

Page 8: Evolving toward Microservices  - O’Reilly SACON Keynote

Agile

Page 9: Evolving toward Microservices  - O’Reilly SACON Keynote

Domain Spaces

Page 10: Evolving toward Microservices  - O’Reilly SACON Keynote

Continuous Integration Tooling

Page 11: Evolving toward Microservices  - O’Reilly SACON Keynote

APIs

Page 12: Evolving toward Microservices  - O’Reilly SACON Keynote

Feature Throttles

Page 13: Evolving toward Microservices  - O’Reilly SACON Keynote

Result

2011 2015

Apps 1 30

Sales $1b $5b

Developers 170 300

Deploy frequency 3 month Weekly

Page 14: Evolving toward Microservices  - O’Reilly SACON Keynote

2015 began moving to cloud & micro services

But wait

Theres more!!

Page 15: Evolving toward Microservices  - O’Reilly SACON Keynote

Evolving Architectures

Page 16: Evolving toward Microservices  - O’Reilly SACON Keynote

Iterative Architecture?

Page 17: Evolving toward Microservices  - O’Reilly SACON Keynote

Changing the wheels while driving?

Page 18: Evolving toward Microservices  - O’Reilly SACON Keynote

Evolutionary Architecture

Page 19: Evolving toward Microservices  - O’Reilly SACON Keynote

Start with a vision

• Have a vision

• Understand your objectives

• Choose what matters

• Implement in stages

Page 20: Evolving toward Microservices  - O’Reilly SACON Keynote

Decompose & Define Boundaries

• Understand business products & domains

• Identify people structures

• Review data models

• Look for the hard things

Page 21: Evolving toward Microservices  - O’Reilly SACON Keynote

Architect for Change

• Prepare for future changes

• Be proactive not reactive

• Delay until the last responsible moment

• Expect but minimize future rework

Page 22: Evolving toward Microservices  - O’Reilly SACON Keynote

Implement Safely

• Automate early and often

• Consider in-place and green-field

• Utilize feature switches and traffic throttles

• Encourage separation and independence

Page 23: Evolving toward Microservices  - O’Reilly SACON Keynote