2 1 pulse temperature blood pressure micro service
play

2 1 Pulse. Temperature. Blood Pressure. Micro-service systems have - PowerPoint PPT Presentation

2 1 Pulse. Temperature. Blood Pressure. Micro-service systems have emergent properties too. nearForm & micro-services 50+ production systems. The good, the bad, and the ugly. What are micro-services? Independent processes that exchange


  1. 2

  2. 1

  3. Pulse. Temperature. Blood Pressure. Micro-service systems have emergent properties too.

  4. nearForm & micro-services 50+ production systems. The good, the bad, and the ugly.

  5. What are micro-services? Independent processes that exchange messages.

  6. Messages are fundamental. Message behavior has emergent properties.

  7. Message flow rate. Easy to measure. Tells you a lot. Independent of services.

  8. Deploy a new micro-service. Does the new version break anything?

  9. To measure changes to services, measure changes to message flow rates.

  10. Micro-service message patterns. What to measure? Here’s what we’ve found useful…

  11. Actor. A pool of services share message load evenly (round-robin, say).

  12. Subscriber. Many services all listen for the same set of message types.

  13. Chain. An initial message causes a chain of serial message steps.

  14. Tree. An initial message causes a flowering of child messages.

  15. Why? It's the risk, stupid! Monoliths put everybody in danger.

  16. Risk. Reduction can be measured. Leave elimination to Machiavelli.

  17. Our "best practices" for risk. Unit tests; code reviews; standards. Do we have good measures?

  18. We've just made things worse! Microservices also have emergent failure modes.

  19. Formal Methods “ Best Practices ” Measurement Let's attack both sides. And we'll find a way to connect both attacks.

  20. Dynamic measurement. Measure health of the system. Exposes unknown unknowns.

  21. TLA+ Leslie Lamport * Formal methods. Correctness proofs are impractical. Incomplete execution traces? FTW! * http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html

  22. Invariants. Some things should never change. Measure them to make sure!

  23. Example. E-commerce shopping cart. add-item msgs == sales-tax msgs

  24. Be practical! Finding invariants is hard. Use the microservice patterns to cheat.

  25. Actor. n actors means each actor sees 1 ⧸ n of the messages.

  26. Subscriber. n subscribers means each sees n messages.

  27. Chain. n inbound messages over k links means n k chained messages.

  28. Tree. n inbound messages over k leaves means n k leaf messages.

  29. “ask not what can go wrong, ask what must go right…” Chris Newcombe, AWS* Look for cause/effect relationships. These are by design! Validate your message patterns in production. * http://research.microsoft.com/en-us/um/people/lamport/tla/amazon.html

  30. When should you rollback? Invariants should be the same before and after deployment.

  31. Is the system correct? Business rules are invariants too! Express as message relationships.

  32. Are you about to be blindsided? Combine individual indicators to get a deeper measure of risk.

  33. Measure what counts. Find invariants. Measure them. Follow: senecajs.org

  34. Thank You! Richard Rodger @rjrodger nearform.com

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend