simplifying complexity with microservices

56
Remmelt Pit Info.nl [email protected] @remmelt_

Upload: remmelt-pit

Post on 26-Jul-2015

272 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Simplifying complexity with microservices

Remmelt [email protected]@remmelt_

Page 2: Simplifying complexity with microservices

simplifying complexitywith microservices

Page 3: Simplifying complexity with microservices
Page 4: Simplifying complexity with microservices

conclusion

Page 5: Simplifying complexity with microservices

microservicesare awesome

Page 6: Simplifying complexity with microservices
Page 7: Simplifying complexity with microservices

since2003

Page 8: Simplifying complexity with microservices

12,000auctions

Page 9: Simplifying complexity with microservices
Page 10: Simplifying complexity with microservices
Page 11: Simplifying complexity with microservices
Page 12: Simplifying complexity with microservices
Page 13: Simplifying complexity with microservices

4,000,000listings

Page 14: Simplifying complexity with microservices

~1M uniquevisitors/month

Page 15: Simplifying complexity with microservices
Page 16: Simplifying complexity with microservices
Page 17: Simplifying complexity with microservices
Page 18: Simplifying complexity with microservices
Page 19: Simplifying complexity with microservices
Page 20: Simplifying complexity with microservices

not maintainable

Page 21: Simplifying complexity with microservices

not agile

Page 22: Simplifying complexity with microservices

no fun

Page 23: Simplifying complexity with microservices

I like fun

Page 24: Simplifying complexity with microservices

enter

microservices

Page 25: Simplifying complexity with microservices

Loosely coupled service oriented architecture

with bounded contexts— Adrian Cockcroft

Page 26: Simplifying complexity with microservices

Loosely coupled

Services do not need to be updated at the same time

Page 27: Simplifying complexity with microservices

Loosely coupled

Services do not need to be updated at the same time

Bounded contexts

If you have to know too much about surrounding services than you don't have a bounded context1

1 See Eric Evans, Domain Driven Design

Page 28: Simplifying complexity with microservices

µ?

Page 29: Simplifying complexity with microservices
Page 30: Simplifying complexity with microservices

what did we do right?

— define contracts and stick to them

Page 31: Simplifying complexity with microservices

what did we do right?

— define contracts and stick to them

— documentation of API

Page 32: Simplifying complexity with microservices
Page 33: Simplifying complexity with microservices

what did we do right?

— define contracts and stick to them

— documentation of API

— no polyglot from the start

Page 34: Simplifying complexity with microservices

what could we have done better?

— start small

Page 35: Simplifying complexity with microservices

what could we have done better?

— start small

— onboarding ops

Page 36: Simplifying complexity with microservices

Organizations which design systems ... are constrained to

produce designs which are copies of the communication structures

of these organizations— Melvin Conway (1968)

Page 37: Simplifying complexity with microservices

what could we have done better?

— start small

— onboarding ops

— underestimated necessary culture change

Page 38: Simplifying complexity with microservices

what could we have done better?

— start small

— onboarding ops

— underestimated necessary culture change

— architectural challenges

Page 39: Simplifying complexity with microservices

why do it anyway?

Page 40: Simplifying complexity with microservices

makes sense

Page 41: Simplifying complexity with microservices

makes sense

— unix philosophy

Page 42: Simplifying complexity with microservices

makes sense

— unix philosophy

— swap services

Page 43: Simplifying complexity with microservices

makes sense

— unix philosophy

— swap services

— scale specific functionality

Page 44: Simplifying complexity with microservices

cool factor

Page 45: Simplifying complexity with microservices

RTFM

Page 46: Simplifying complexity with microservices

ITFM(f?)

Page 47: Simplifying complexity with microservices

Invent The Flippin' Manual2

2 https://www.youtube.com/watch?v=FArZxLj6DLk

Page 48: Simplifying complexity with microservices

Martin Fowler

Page 49: Simplifying complexity with microservices

innovation leads toproductivity and happiness

Page 50: Simplifying complexity with microservices

Services with the guts on the outside

— Gartner

Page 51: Simplifying complexity with microservices

continued growth

Page 52: Simplifying complexity with microservices

conclusion

Page 53: Simplifying complexity with microservices

microservicesare awesome

Page 54: Simplifying complexity with microservices

Final words3

3 https://www.youtube.com/watch?v=Wk4Gu94R9ms&t=50s

Page 55: Simplifying complexity with microservices
Page 56: Simplifying complexity with microservices

Links4

4 Essential reading/viewing:http://martinfowler.com/articles/microservices.htmlhttp://www.slideshare.net/adriancockcroft/goto-berlinhttp://blogs.gartner.com/gary-olliffe/2015/01/30/microservices-guts-on-the-outside/http://www.slideshare.net/lemiorhan/a-gentle-introduction-to-micro-services-from-theory-into-practicehttp://thenewstack.io/microservices-four-essential-checklists-getting-started/https://www.youtube.com/watch?v=Qr0sATj9IVc