Marcia Villalba – Getting started with Orchestration and Choreography in Distributed Applications

Getting started with Orchestration and Choreography in Distributed Applications: Learn how to use event-driven architecture to decouple and scale services, with demos and examples of how to build reliable, scalable, and secure distributed systems.

Key takeaways
  • Front-end is the first layer of our application, and we have three different front-ends: phone, TV, and barista.
  • Events come from an event source and go to a bus, allowing decoupling of services.
  • An event can trigger none, one, or multiple targets, making it a powerful tool for creating distributed systems.
  • Event uniqueness is an important concept to keep in mind, as it ensures each event is processed only once.
  • Rules and targets are defined in event buses, allowing for flexible configuration.
  • An event-driven architecture ensures that services are decoupled and scalable.
  • The event bus pattern is a popular choice for connecting microservices, allowing for easy integration and scalability.
  • Event-driven architectures can be used in a variety of scenarios, including payment processing and order management.
  • Rules and targets can be defined for each event, allowing for complex routing and processing.
  • The state machine is used to manage the state of an application, ensuring that it is consistent and coherent.
  • The concept of item potency ensures that each event is processed only once and in the correct order.
  • Microservices can be decoupled and scaled independently using event-driven architecture.
  • Choreography between microservices can be achieved using event bridges.
  • Orchestrations inside microservices can be used to manage the sequence of events and ensure consistency.
  • Security is an important consideration in event-driven architecture, with encryption and authentication being key concepts.
  • Event-driven architecture is used in a variety of industries, including healthcare, finance, and retail.
  • The concept of Saga pattern is used to manage long running transactions and ensure consistency.
  • Event bus is used to connect microservices together.
  • Event-driven architecture is used in AWS services such as Lambda, container, batch, messaging, SageMaker, and CI/CD.
  • Event-driven architecture allows for scalability, reliability, and high availability.
  • It’s important to have a clear understanding of the concepts of orchestration and choreography in event-driven architecture.
  • It’s also important to consider security, scalability, and reliability when building event-driven applications.
  • Event-driven architecture is a powerful tool for building distributed systems.
  • It allows for decoupling, scalability, and reliability.
  • It is a good practice to design for item potency and compensation operations.
  • We can use workflow studio to create business processes and manage the workflow.
  • We can use step functions to create complex workflows.
  • We can use Lambda functions to process events asynchronously.
  • We can use event bridges to connect microservices together.
  • We can use APIs to connect to front-end.
  • Event-driven architecture is a good choice when we have complex workflows and multiple services involved.
  • It allows us to decouple and scale services independently.
  • We can use cloud services such as AWS to build event-driven applications.