@jnb42 [email protected] John Billings The Human Side of … · The Human Side of Microservices...

51
The Human Side of Microservices John Billings @jnb42 [email protected]

Transcript of @jnb42 [email protected] John Billings The Human Side of … · The Human Side of Microservices...

Page 1: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

The Human Side of MicroservicesJohn Billings

@[email protected]

Page 2: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Introduction

Page 3: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

About me

• PhD in compiling and verifying routing protocols

• Joined Yelp in February 2011• Initially:

• Joined <10 person search team• 70 - 80 engineers

• Now 300+ engineers

Page 4: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Yelp’s MissionConnecting people with great

local businesses.

Page 5: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Yelp StatsAs of Q1 2016

90M 3270%102M

Page 6: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 7: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

3 million

1 million

LoC in monolith

2005 20162011

Page 8: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Number of microservices

117

2012 2016

Page 9: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

LoC in microservices

891k

2012 2016

Page 10: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Microservice adoption

Page 12: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

http://www.soc.iastate.edu/extension/pub/comm/SP18.pdf

“The Diffusion Process”

George M. Beal and Joe M. Bohlen, 1957

Page 13: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 14: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 15: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Technology adoption curve for a population

Page 16: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

The chasm

Early adopters Early majority

Page 17: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Innovators

Page 18: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Innovators

Page 19: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 20: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

The Geocoder Service

Page 21: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 22: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Early adopters

Page 23: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

The majority

Page 24: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Education

Page 27: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

● Service type (PaaSTA vs legacy SOA)

● Technology type (Python / Java / daemon)

● Caching

● Downtime scenarios

● Databases

● External services

● Hardware requirements

● Load balancing

● Performance and uptime

● Monitoring

● Security

Page 28: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 29: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Summits and unconferences

Page 30: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Talks

Page 31: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Deputy programs

Page 32: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Office hours

Page 33: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Postmortems

Page 34: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Standards

Boo! Boring!

Tell me something interesting!

Zzzz………….!

Page 35: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Interfaces

Page 36: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Perform a real query

Page 37: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Tracing

Page 38: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Metrics

Page 39: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Datastores

Page 40: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Timeouts and retries

https://en.wikipedia.org/wiki/Abort,_Retry,_Fail%3F#/media/File:Abort_Retry_Fail.PNG

Page 41: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Ownership

Page 42: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 43: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have
Page 44: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Organizationalobjectives

Page 45: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Lots of (potentially) conflicting objectives:• Performance• Reliability• Cost• Security• Iteration speed

Page 46: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

“What gets measured gets improved” Peter Drucker

Page 47: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Conclusions

Page 48: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Microservices have forced us to build a more robust, decentralized organization

Page 49: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

This change has taken a long time

Page 50: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

I believe (but cannot prove) that we are shipping code as quickly as ever

Page 51: @jnb42 billings@yelp.com John Billings The Human Side of … · The Human Side of Microservices John Billings @jnb42 billings@yelp.com. Introduction. About me ... Microservices have

Any questions?