Holy produce, we broke the {{systemName}}!

Jeff Bordogna

Misadventures in monoliths and microservices

My career so far...

The Gordian knot that is Relay Foods

Start with groceries...

  • Thin margins

  • Long tail of products

  • Expiring inventory

Add a bunch of local products...

  • 150 local vendors

  • Across 5 states

  • Tech savviness issues

Promise a tight delivery window

  • Thousands of orders

  • Midnight order cutoff

  • Next day delivery

Differentiate the product

  • Behavioral change

  • Convenience not enough

  • Grocery focused UX

Build an acquisition engine

  • Min user base size

  • Team of canvassers

  • Cowbells...

Behold, the Monolith!

Measured Microservices

Hell...

2013

Measured Microservices

Hell...

Some Sanity

2013

Measured Microservices

2014

2013

Consumer

SPA Website

Hell...

Some Sanity

Measured Microservices

2014

2013

2015

Hell...

Some Sanity

Consumer

SPA Website

Recipe Microservice

Measured Microservices

2014

2013

2015

Hell...

Some Sanity

Consumer

SPA Website

Recipe Microservice

Warehouse App + Microservice

Measured Microservices

2014

2013

2015

Hell...

Some Sanity

Consumer

SPA Website

Recipe Microservice

Warehouse App + Microservice

Email/SMS/etc.

Lambdas

Measured Microservices

2014

2013

2015

Hell...

Some Sanity

Consumer

SPA Website

Recipe Microservice

Warehouse App + Microservice

Email/SMS/etc.

Lambdas

2016

Products

Microservice

Deliveries

Microservice

Admin

Websites

Measured Microservices

2014

2013

2015

Hell...

Some Sanity

Consumer

SPA Website

Recipe Microservice

Warehouse App + Microservice

Email/SMS/etc.

Lambdas

2016

Products

Microservice

Deliveries

Microservice

Admin

Websites

2017

Users

Microservice

Inventory

Microservice

Orders

Microservice

Measured Microservices

Microservices allowed us to:

  • Move quickly & confidently to create biz value

  • Isolate & then mitigate technical risk points

  • Tame complexity by simplifying interfaces

But, microservices were not:

  • without their own issues

  • an excuse to build everything differently

  • a panacea

And for one last story...

Thanks for listening!

Discussion Time

Made with Slides.com