Session: 2 for 1: Leveraging Open Source to Observe Your Distributed System/Finding Harmony in Distributed Systems: Choreography vs Orchestration in Software Development

Leveraging Open Source to Observe Your Distributed System – Shweta Sharma

Distributed systems have a far higher number of interconnected parts, so the number and types of failure that can occur is higher too. Additionally, distributed systems are constantly updated, and every change can create a new type of failure. Observability in containers and microservices exposes the state of applications in production so developers can better identify and resolve the issues.

In this talk we will focus on understanding the different aspects of observability and leveraging open source technologies like micrometer, prometheus, grafana/wavefront to build an observable system and help us answer questions like

  • What services did a request go through, and where were the performance bottlenecks?
  • What performance issues we are facing and which api is contributing to latency. Where the system taking too long to respond.
  • How was the execution of the request different from the expected system behavior? Why and where did the request fail?
  • How did each microservice handled and process the request

Finding Harmony in Distributed Systems: Choreography vs Orchestration in Software Development – Rain Leander

Why did the choreographer refuse to use orchestration in their distributed system? Because they wanted their components to dance to their own beat, without a central conductor! This talk explores the differences between choreography and orchestration in software development for distributed systems. Choreography involves the independent coordination of software components through message passing, while orchestration involves a central orchestrator managing the interactions between components. Through examples such as e-commerce and travel booking systems, the strengths and weaknesses of each approach are highlighted. By understanding the pros and cons of each approach, software developers can make informed decisions about which approach to use for their specific use case, ultimately finding harmony in their distributed systems.

Presenters: