Let’s Architect! Designing event-driven architectures
AWS Architecture BlogLet’s Architect! Designing event-driven architecturesby Luca Mezzalira, Laura Hyatt, Vittorio Denti, and Zamira Jaupaj | on25 JAN 2023| inArchitecture,AWS re:Invent,Thought Leadership|Permalink|ShareDuring the design of distributed systems, we have to identify a communication strategy to exchange information between different services while keeping the evolutionary nature of the architecture in mind. Event-driven architectures are based on events (facts that happened in a system), which are asynchronously exchanged to implement communication across different services while having a high degree of decoupling. This paradigm also allows us to run code in response to events, with benefits like cost optimization and sustainability for the entire infrastructure.In this edition ofLet’s Architect!, we share architectural resources to introduce event-driven architectures, how to build them on AWS, and how to approach the design phase.AWS re:Invent 2022 – Keynote with Dr. Werner Vogelsre:Invent 2022 may be finished, but the keynote given by Amazon’s Chief Technology Officer, Dr. Werner Vogels, will not be forgotten. Vogels not only covered the announcements of new services but also event-driven architecture foundations in conjunction with customers’ stories on how this architecture helped to improve their systems.Take me to this re:Invent 2022 video!Dr. Werner Vogels presenting an example of architecture whereAmazon EventBridgeis used as event busBenefits of migrating to event-driven architectureIn this blog post, we enumerate clearly and concisely the benefits of event-driven architectures, such as scalability, fault tolerance, and developer velocity. This is a great post to start your journey into the event-driven architecture style, as it explains the difference from request-response architecture.Take me to this Compute Blog post!Two common options when building applications are request-response and event-driven architecturesBuilding next-gen applications with event-driven architecturesWhen we build distributed systems or migrate from a monolithic to a microservices architecture, we need to identify a communication strategy to integrate the different services. Teams who are building microservices often find that integration with other applications and external services can make their workloads tightly coupled.In this re:Invent 2022 video, you learn how to use event-driven architectures to decouple and decentralize application components through asynchronous communication. The video introduces the differences between synchronous and asynchronous communications before drilling down into some key concepts for designing and building event-driven architectures on AWS.Take me to this re:Invent 2022 video!How to use choreography to exchange information across services plus implement orchestration for managing operations within the service boundariesDesigning eventsWhen starting on the journey to event-driven architectures, a common challenge is how to design events: “how much data should an event contain?” is a typical first question we encounter.In this pragmatic post, you can explore the different types of events, watch a video that explains even further how to use event-driven architectures, and also go through the new event-driven architecture section ofserverlessland.com.Take me toServerlessLand!An example of events with sparse and full state descriptionSee you next time!Thanks for reading our first blog of 2023! Join us next time, when we’ll talk about architecture and sustainability.To find all the blogs from this series, visit theLet’s Architect!section of theAWS Architecture Blog.TAGS:Architecture,event driven architecture,Let's Architect,microservices,re:Invent,serverless,softwareLuca MezzaliraLuca is Principal Solutions Architect based in London. He has authored several books and is an international speaker. He lent his expertise predominantly in the solution architecture field. Luca has gained accolades for revolutionizing the scalability of front-end architectures with micro-frontends, from increasing the efficiency of workflows, to delivering quality in products.Laura HyattLaura Hyatt is a Solutions Architect for AWS Public Sector and helps Education customers in the UK. Laura helps customers not only architect and develop scalable solutions but also think big on innovative solutions facing the education sector at present. Laura's specialty is IoT, and she is also the Alexa SME for Education across EMEA.Vittorio DentiVittorio Denti is a Machine Learning Engineer at Amazon based in London. After completing his M.Sc. in Computer Science and Engineering at Politecnico di Milano (Milan) and the KTH Royal Institute of Technology (Stockholm), he joined AWS. Vittorio has a background in distributed systems and machine learning. He's especially passionate about software engineering and the latest innovations in machine learning science.Zamira JaupajZamira is an Enterprise Solutions Architect based in the Netherlands. She is highly passionate IT professional with over 10 years of multi-national experience in designing and implementing critical and complex solutions with containers, serverless, and data analytics for small and enterprise companies.
During the design of distributed systems, we have to identify a communication strategy to exchange information between different services while keeping the evolutionary nature of the architecture in mind. Event-driven architectures are based on events (facts that happened in a system), which are asynchronously exchanged to implement communication across different services while having a high […]
Luca Mezzalira
Architecture AWS re:Invent Thought Leadership