Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Overdoing Microservices

197 views

Published on

All the cool kids are doing it, but is it possible to have too much of a good thing? I'll present some thoughts about things you can actually measure to decide if you've gone off the deep end with microservices.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Overdoing Microservices

  1. 1. Overdoing Microservices How Small Is Too Small? Kevin Scaldeferri OSB 2016
  2. 2. Microservices to show you ads
  3. 3. Microservices to sell you clothes Gilt
  4. 4. Microservices to store and analyze your data
  5. 5. Why we microservice Much faster release cycles (days vs minutes) More team independence Less complex code Fewer bugs? More happiness?
  6. 6. Completely unscientific graph
  7. 7. Completely unscientific graph
  8. 8. How Small is Too Small? How Many is Too Many?
  9. 9. How can measurements inform our architecture & design? Dave Gray / http://bit.ly/21lpsxO / CC BY ND
  10. 10. Architecture http://bit.ly/28NsVKY / CC0
  11. 11. How many services do you have?
  12. 12. Git Repositories Monitoring Puppet / Chef Load Balancers CI / CD
  13. 13. How fast are you adding services?
  14. 14. Visualizing Services
  15. 15. Just Say No to “Death Star” Diagrams
  16. 16. Number of Dependencies per Service
  17. 17. Number of Clients per Service
  18. 18. Cycles?
  19. 19. Design http://bit.ly/1Uppxyr / CC0
  20. 20. Number of RESTful Resources per Service
  21. 21. N+1
  22. 22. Request Rate to Services
  23. 23. Implementation Andrew Turner / http://bit.ly/1PA2iNV / CC BY 2.0
  24. 24. Developers & Services
  25. 25. Number of Services vs. Number of Developers
  26. 26. “Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” –M. Conway
  27. 27. Number of Commits per Service
  28. 28. Commits vs. # of Committers
  29. 29. Monolith
  30. 30. Overcoupled
  31. 31. Bus Stops
  32. 32. Commits vs. Top Committer %
  33. 33. Bus Stops
  34. 34. Versions used of core libraries
  35. 35. Closing Thoughts
  36. 36. One is the loneliest number
  37. 37. Create tooling for the whole service lifecycle
  38. 38. Standardize
  39. 39. Be Engineers Measure Things Think About The Data Make Changes Repeat
  40. 40. Thank You kevin@scaldeferri.com @kscaldef
  41. 41. This document and the information herein (including any information that may be incorporated by reference) is provided for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission. Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of the statement will include words such as “believes,” “anticipates,” “expects” or words of similar import. Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is included in the filings we make with the SEC from time to time. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at ir.newrelic.com or the SEC’s website at www.sec.gov. New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.
  42. 42. Questions? kevin@scaldeferri.com @kscaldef

×