InfoQ

The Software Architects' Newsletter
June 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.

News

Debunking Three Myths about Event-Driven Architecture

In this recent New Stack article, Dunith Dhanushka, solutions architect at WSO2, discusses how event-driven architecture (EDA) can enable building highly available and reliable applications. However, he believes that there are some misconceptions around the use of EDA, and the article continues by exploring three “myths” and debunks them with some practical examples. The myths about EDA are: it is difficult to manage; events are hard to understand; systems designed using this pattern are difficult to test and debug.

Dhanushka argues that cloud computing and serverless platforms have absorbed some of the management complexity of event-driven systems, and standards like AsyncAPI and CloudEvents make systems interoperable and well documented. He concludes by stating that "all of this helps organizations build event-driven systems better than in the past".

AsyncAPI, CloudEvents, OpenTelemetry: Which Event-Driven Specs Should Your DevOps Include?

Although the title of the article is somewhat nebulous, Jesse Menning has provided an interesting discussion of three event-driven specifications that are increasingly being included in many modern cloud tech stacks. He argues that challenges with event-driven implementations that used to be overcome in different ways are now being addressed by standard, open-source solutions. Menning believes that while OpenTelemetry, AsyncAPI, and CloudEvents have overlapping capabilities, they are distinct enough to all warrant a place in your DevOps processes.

Microsoft Announces Event Hubs Premium in Preview

Azure Event Hubs is Microsoft’s managed real-time event ingestion service designed to serve demanding big data streaming and event ingestion needs in the Cloud. Microsoft announced the public preview of Event Hubs Premium during the annual Build conference as a new product tailor-made for high-end event streaming scenarios requiring "elastic, superior performance with predictable latency".

Amazon SNS Gains Message Archiving and Analytics via Amazon Kinesis Data Firehose

Amazon Web Services (AWS) recently announced that Amazon SNS supports Amazon Kinesis Data Firehose subscriptions to send messages to "data lakes, data stores, and analytics services [...] without writing custom code". The new event destination also simplifies the integration of third-party service providers. The Amazon SNS documentation features a developer guide, including a section on message archiving and analytics, the AWS CLI reference, and the API reference.

John DesJardins on Continuous Intelligence and In-Memory Computing

In this InfoQ podcast, John DesJardins, Chief Technology Officer at Hazelcast, met with InfoQ podcast co-host Thomas Betts to discuss the idea of continuous intelligence. This is a paradigm shift from traditional business intelligence, and relies on a corresponding move from batch-based ETL and reporting to continuous processing of streaming data and events.

The podcast covers the current state of the tools and technologies in use, explores why companies are adopting continuous intelligence to remain competitive, and looks into what the future of data processing and analysis may look like.

 

Case Study

eBay Adopts AsyncAPI for Asynchronous API Contracts

eBay recently announced that it adopted AsyncAPI for its external asynchronous API contracts. In March 2021, eBay launched its first AsyncAPI-based contracts for its new business event notification capabilities.

Late last year, eBay initiated work on a new event notification platform designed to meet current and future demands for asynchronous communication to API partners. It found AsyncAPI "extremely helpful because of the ease of use that results from the delineation of channels, protocols and bindings, separation of concerns between publish and subscribe, and separation of protocol-specific and application-specific headers".

eBay's Shekhar Banerjee comments about the company’s requirements:

"Aside from the usual considerations of scale, delivery guarantees, monitoring, playback, and recovery, the new platform was also designed for data security, Elliptic Curve Cryptography-based message integrity verification, and support for multiple protocols and payload schema versions. Some of the advanced features also include multi-tenancy with isolation guarantees between different "tenants" of this system and internally separating use-case-specific concerns from core platform concerns".

One of the critical AsyncAPI features that eBay's team has found particularly useful is a clean separation between channels, operations, and servers. A channel represents an event stream, an operation describes a publish or subscribe process, and a server facilitates the message transfer (i.e., the message bus). This separation allows a complete representation of producers, consumers, and message schemas, resulting in a standardized model of a message-driven ecosystem.

Also, Banerjee notes that since AsyncAPI is compatible with the OpenAPI Specification, it allows re-use of schema definitions from existing models, which leads to a short adoption cycle for organizations that have already standardized on the OpenAPI Specification.

AsyncAPI is an open specification meant to be an industry standard for defining asynchronous APIs. It helps unify documentation automation and code generation and assists with the management, 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.

The Linux foundations announced this March that it would host the AsyncAPI Initiative, providing a forum where individuals and organizations can advance AsyncAPI and nurture collaboration.

This content is an excerpt from a recent InfoQ news item written by Eran Stiller, "eBay Adopts AsyncAPI for Asynchronous API Contracts".

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

Using Event Sourcing

Event sourcing achieves atomicity without 2PC by using a radically different, event-centric approach to persisting business entities. Rather than store the current state of an entity, the application stores a sequence of state-changing events. The application reconstructs an entity’s current state by replaying the events. Whenever the state of a business entity changes, a new event is appended to the list of events. Since saving an event is a single operation, it is inherently atomic.

Learn more about this topic with our free eBook 'Designing and Deploying Microservices'.

 

Upcoming Events

Attend Upcoming InfoQ Live Events

InfoQ Live July 20th: How Modern Devops Practices Accelerate Your Software Delivery Without the Quality Issues & Reducing Feature Flag Debt.

Learn how automation, continuous testing, and supply management techniques can improve software quality and speed of delivery. Discover what information needs to be collected to allow DevOps to inspect and verify the integrity of the supply chain. Learn all about building and deploying Piranha, an automated code refactoring tool to delete code corresponding to stale feature flags. Register for the InfoQ Live July 20th edition.

InfoQ Live August 17th: Best Practises for Migrating to Cloud Native Architectures & Scaling Them to Meet Customer Demands.

Every development team needs to be building and running applications that exploit the advantages of the Cloud computing delivery model. Get valuable insights from world-class domain experts for transitioning to a Cloud Native architecture or scaling the one you already have. Learn how CI/CD, containers, organizational structure, and other best practices can support your scalability needs and improve speed of delivery. Register for the InfoQ Live August 17th edition.

"Quick digestible and actionable information. This half-day event was great. I like the focus on a particular topic with different perspectives."
Gary Keorkunian, Former InfoQ Live Attendee

 

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