InfoQ

The Software Architects' Newsletter
April 2021
View in browser

Welcome to the InfoQ Software Architects’ Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.

This month we focus on the topic of “Event-Driven Architecture.” As identified in the recent Architecture and Design InfoQ Trends Report, event-driven architecture patterns and technologies are becoming increasingly popular, particularly in cloud-based systems. However, key challenges remain for architects designing such systems, including understandability and observability.

A quick reminder: we are seeking your feedback on how we could improve InfoQ for you. Can we ask you to spend 2 minutes sharing your views in our short survey, please?

News

Software Architecture and Design InfoQ Trends Report—April 2021

Each year the InfoQ editors discuss the current state of software architecture and design and identify the key trends to watch. This year the editors were joined by Holly Cummins, an innovation leader on IBM’s corporate strategy team, and a previous speaker at QCon. A key takeaway from the discussion was that there has been a steady increase in the adoption of asynchronous programming techniques and event-driven architectures.

This adoption is the result of both a lower barrier to entry for implementing asynchronous patterns and a built-in benefit of increased system resilience. However, the flip side to event-driven architectures, and asynchronous systems, in general, is they are still difficult to reason about and understand. Which ties into the rise of designing for observability.

In addition to sharing the report and the accompanying graph, Thomas Betts has also published an accompanying discussion with the team on an episode of the InfoQ podcast.

4 Business Benefits of an Event-Driven Architecture (EDA)

A recent Nordic APIs article from Thomas Bush discussed 4 benefits of implementing an event-driven architecture using an e-commerce application as an exemplar. Although business-focused, the benefits presented cover a range of topics, including efficient development, better user experience, lower running costs, and resilience.

A key argument made is that designing a system as an event-driven system forces architects and engineers to examine and model more closely the real-world events that occur as part of business activities.

Event-Driven Architecture with Apache Kafka for .NET Developers

In part 1 of this practical Kafka tutorial from Rahul Rai, he presented a guided tutorial on the use of Apache Kafka as a message mediator. The step-by-step guide shows how to configure a local Kafka environment and use the Schema Registry and the Kafka Producer API to send messages to a Kafka topic. Rai also shows how to use Kafdrop to inspect the schema and the messages in Kafka.

How to Drive an Action-Oriented Event-Driven Architecture

Both Forrester and Gartner have recently released event-driven architecture-focused reports, and this blog post from Dheeraj Remella at VoltDB attempts to summarize the key themes and takeaways. Recommendations included: move from event “awareness” to event-driven “action”; adopt a “low-latency first” EDA strategy; adopt real-time analytics at scale (and with speed).

There is significant overlap in these takeaways to those included in The InfoQ eMag - Real-Time APIs: Design, Operation, and Observation that was published in Q4 of 2020.

 

Case Study

The Linux Foundation Announces Hosting of AsyncAPI

Eran Stiller from InfoQ recently wrote that the Linux Foundation has announced it would host the AsyncAPI Initiative. This will provide a forum where individuals and organizations can advance AsyncAPI and nurture collaboration in a neutral platform that can support the growth that AsyncAPI is experiencing.

AsyncAPI is an open specification meant to be an industry standard for defining asynchronous APIs. It helps unify documentation automation and code generation and manages testing and monitoring of asynchronous APIs. The specification provides a language for describing event-driven systems’ interface regardless of the underlying technology and supports event-driven architecture’s complete development cycle. Currently, AsyncAPI is in production at Adidas, PayPal, Salesforce, SAP, Slack, and others.

Fran Méndez, the founder of AsyncAPI, commented about the move:

"As the growth of AsyncAPI skyrocketed, it became clear to us that we needed to find a neutral, trusted home for its ongoing development. The Linux Foundation is without question the leader in bringing together interested communities to advance technology and accelerate adoption in an open way. This natural next step for the project represents the maturity and strength of AsyncAPI. We expect the open governance model architected and standardized by the Linux Foundation will ensure the initiative continues to thrive".

"AsyncAPI joining the Linux Foundation is the final cornerstone in the foundation of the open-source event-driven API specification,” said Kin Lane, chief evangelist at Postman. “Laying the foundation for defining the next generation of API infrastructure beginning with HTTP request and response APIs, but also event-driven approaches spanning multiple protocols and patterns including Kafka, GraphQL, MQTT, AMQP, and much more. Providing what is needed to power documentation, mocking, testing, and other critical stops along a modern enterprise API lifecycle".

This content is an excerpt from a recent InfoQ news item, "The Linux Foundation Announces Hosting of AsyncAPI".

To get notifications when InfoQ publishes content on these topics, follow "event-driven architecture", "asynchronous programming", and "messaging" on InfoQ.

Missed a newsletter? You can find all of the previous issues on InfoQ.

This edition of The Software Architects' Newsletter is brought to you by:

NGINX

Implementing the Circuit Breaker Pattern with NGINX Plus

The circuit breaker pattern – a term popularized by Martin Fowler – has been gaining currency among microservices architects as an application design pattern for avoiding cascading service failure. The idea of the circuit breaker pattern is to monitor your application services and the traffic flowing among them in order to prevent failures – and, when failures do happen, to minimize their impact on your applications.

For microservices, the circuit breaker pattern is especially valuable, providing bottom‑up resilience. If implemented correctly, it can help avoid cascading failures by providing continuity of service even when services are unavailable.

 

Upcoming Events

Last chance to save $50 for QCon Plus. Register before EOD tomorrow.

Exchange cutting-edge ideas, and learn from over 2,000 software peers at QCon Plus (May 17-28). Discover emerging software trends and practices, develop your technical and non-technical skills and get valuable insights from 80+ software experts. Recently announced speakers include:

  • Kathrina Probst, Director of Engineering @Google Cloud Platform
  • Sergey Fedorov, Director of Engineering @Netflix
  • Matthew Clark, Head Of Architecture for the BBC's Digital Products
  • Nell Shamrell-Harrington, Principal Software Engineer @Microsoft
  • Zhamak Dehghani, Director of Emerging Technologies @thoughtworks & Creator of the Data Mesh concept

We have limited places to create unique live and interactive experiences. Secure your spot soon and get an additional $50 discount before May 1st.
 

Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.

We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.

We hope you find this newsletter useful. If not, you can unsubscribe using the link below.

Unsubscribe

Forwarded email? Subscribe and get your own copy.

Subscribe