the human side of microservices john billings jnb42
play

The Human Side of Microservices John Billings @jnb42 - PowerPoint PPT Presentation

The Human Side of Microservices John Billings @jnb42 billings@yelp.com Introduction About me PhD in compiling and verifying routing protocols Joined Yelp in February 2011 Initially: Joined <10 person search team 70 - 80


  1. The Human Side of Microservices John Billings @jnb42 billings@yelp.com

  2. Introduction

  3. 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

  4. Yelp’s Mission Connecting people with great local businesses.

  5. Yelp Stats As of Q1 2016 90M 102M 70% 32

  6. LoC in monolith 3 million 1 million 2005 2011 2016

  7. Number of microservices 117 2012 2016

  8. LoC in microservices 891k 2012 2016

  9. Microservice adoption

  10. https://www.flickr.com/photos/24736216@N07/4433492189

  11. “The Diffusion Process” George M. Beal and Joe M. Bohlen, 1957 http://www.soc.iastate.edu/extension/pub/comm/SP18.pdf

  12. Technology adoption curve for a population

  13. The chasm Early adopters Early majority

  14. Innovators

  15. Innovators

  16. The Geocoder Service

  17. Early adopters

  18. The majority

  19. Education

  20. https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

  21. https://github.com/Yelp/service- principles

  22. ● ● Service type (PaaSTA vs legacy SOA) Hardware requirements ● ● Technology type (Python / Java / daemon) Load balancing ● ● Caching Performance and uptime ● ● Downtime scenarios Monitoring ● ● Databases Security ● External services

  23. Summits and unconferences

  24. Talks

  25. Deputy programs

  26. Office hours

  27. Postmortems

  28. Boo! Boring! Standards Tell me Zzzz………….! something interesting!

  29. Interfaces

  30. Perform a real query

  31. Tracing

  32. Metrics

  33. Datastores

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

  35. Ownership

  36. Organizational objectives

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

  38. “What gets measured gets improved” Peter Drucker

  39. Conclusions

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

  41. This change has taken a long time

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

  43. Any questions?

Recommend


More recommend