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.

Observable Microservices make Monitoring simple

Observable Microservices make Monitoring simple

  • Be the first to comment

  • Be the first to like this

Observable Microservices make Monitoring simple

  1. 1. Observable Microservices make Monitoring simple
  2. 2. Monolith Vs Microservices When an Incident Occurs Observability the Rescue Coding Observable Microservices Observability as a Culture
  3. 3. Enterprise Message Bus Products Service Orders Service Inventory Service Shipping Service UI Application API GW Microservices Shipping Module Orders Module Products Module Inventory Module Web UI Monolithic Application
  4. 4. ObservabIlityMicroservices Enterprise Message Bus Shipping Service Orders Service Products Service Inventory Service Shipping Module Orders Module Products Module Inventory Module Monolithic Application Web UI Microservices Application UI Application API GW Digital Transformation
  5. 5. Monolith Vs Microservices When an Incident Occurs Observability the Rescue Coding Observable Microservices Observability as a Culture
  6. 6. ObservabIlityWhen an incident occurs... Enterprise Message Bus Shipping Service Orders Service Products Service Inventory Service Microservices Application API GW After releasing a developer’s buggy commit.. UI Application Debug the System!! but wait.. ➔ where to start with? there are many moving parts ➔ what to search for? ➔ .... Traditional log analysis...?
  7. 7. ObservabIlityWhen an incident occurs... Traditional Log Analysis #OrderService-dd-mm-yyyy.log 05:05:08 2020-02-16 05:05:08 DEBUG 87654 GET /orderservice/orders/987765?abc=xyz&qwe=def 500 17 Apache-HttpClient/4.5.2(Java/1.8.0-151) 05:05:08 2020-02-16 05:05:09 DEBUG 87654 GET /orderservice/orders/987766?abc=xyz&qwe=def 500 17 Apache-HttpClient/4.5.2(Java/1.8.0-151) #InventoryService-dd-mm-yyyy.log 05:05:08 2020-02-16 05:05:10 DEBUG 87654 GET /inventoryservice/inventory/987766?order=xyz&qwe=def 500 5 Apache-HttpClient/4.5.2(Java/1.8.0-151) Order deleted 05:05:08 2020-02-16 05:05:10 DEBUG 87654 GET /inventoryservice/inventory/98776?order=xyz&qwe=def 500 3 Apache-HttpClient/4.5.2(Java/1.8.0-151) Order not found
  8. 8. ObservabIlityWhen an incident occurs... Traditional Log Analysis 05:05:08 2020-02-16 05:05:08 ERROR 87654 GET /orderservice/orders/987765?abc=xyz&qwe=def 500 17 Apache-HttpClient/4.5.2 (Java/1.8.0_151) Timestamp Log-Level Process-Id Requested URL HTTP Code Response Size User Agent
  9. 9. ObservabIlityWhen an incident occurs... Traditional Log Analysis The Microservices Way When an Incident Occurs Observability the Rescue Coding Observable Microservices Observability as a Culture
  10. 10. control theory? not so clear? Let us know it by day-to-day examples...
  11. 11. Load Balancer app1 app1 app1 Request payload health check pings Health-check: Embedded Observable Code Example#1: Load Balancer Request payload instance#1 instance#2 instance#3
  12. 12. Load Balancer app1 app1 Request payload Example#2: Auto-Scaling Request payload desiredcapacity monitor utilization metrics threshold: >65% utilisation=33%utilisation=70% instance#1 instance#2 app1 app1 app1 scale-outmaximumcapacity Scale out as reached the threshold instance#3 instance#4 instance#5
  13. 13. OBSERVABILITYAPM HOW is the application performing? Tells bottlenecks, access speeds, downtime, connectivity etc... So..Observability is NOT APM!! WHAT is going on? Tells the specifics of the reasons of the errors so we can code the action items
  14. 14. ObservabIlitySo..Observability is Application Performance Monitoring APMLog Structured Logging Tracing requests across microservices Tracing
  15. 15. ObservabIlitySo..Observability is Application Performance Monitoring APMLog Structured Logging Tracing requests across microservices Tracing Usage of Inferred Data
  16. 16. ObservabIlity So..How do we use the data inferred? Retry Schedule for later Notify Controllers Communicate Fail Fast & Fallback
  17. 17. Retry Fail Fast & Fallback Schedule for later Notify Controllers Communicate Hence is Simplified!
  18. 18. Monolith Vs Microservices When an Incident Occurs Observability the Rescue Coding Observable Microservices Observability as a Culture
  19. 19. Live Demo Observable Microservices using Resilience4j
  20. 20. Monolith Vs Microservices When an Incident Occurs Observability the Rescue Coding Observable Microservices Observability as a Culture
  21. 21. Build Observable Microservices Effective Logging & Levels Monitor Metrics that matters Establish Observability as Coding Culture Continual Investment in Observability
  22. 22. It makes it simpler... ➔ When an incident occurs, Software engineers need NOT be on call for autorecoverables issues in their services ➔ Engineers need NOT open 6 different tabs to look at most of the issues as they are self-healed/redirected by the system
  23. 23. Conclusion Software Engineers & Site Reliability Engineers need fault-tolerant observable microservices to make their Monitoring & Debugging job simple

×