Understanding Event-Driven Architectures (EDA): the paradigm of the future

What will EDA contribute to your digital business?

Telmo Subira Rodriguez
DRILL
6 min readSep 9, 2018

--

You may have heard about Event-Driven Architectures already. The concept originated in the early 2000’s referred to new message handling methods, and eventually became known as EDA [1]. Even when it is commonly used to refer to programming and software-designing, the EDA paradigm is also racing into the definition of business models and strategies.

This article will offer a brief overview of the EDA model and its benefits and challenges in different fields of application.

1. THE NEW THINKING: EVENTS

EDA focuses on the generation and handling of event notifications. This concept defines strongly flexible architectures, in which the elements generating event notifications do not need to know the receiver components. In addition to that, an event-driven architecture has not a deterministic response time for processing input events, but it is much faster adapting to changes. This paradigm makes possible to create real-time responsive architectures.

Event notifications imply modifications in the current state of the system. Notifications can be triggered by external sources such as user inputs, environmental conditions or needs of the market. However, there are also internal notifications of events, such as data sending for the pipeline work-chain, multicast of parameters for heterogeneous processing, internal triggers for certain services and generation of outputs. In the end, events can be understood as something similar to messages between different modules of the system [1], containing relevant information for the general and particular functioning of the system and its services.

2. EDA FOR DIGITAL BUSINESS

In words of Garner [2],

“By 2020, eventsourced, real-time situational awareness will be a required characteristic for 80% of digital business solutions. And 80% of new business ecosystems will require support for event processing.”

Situational information of events provides value to our business. Nowadays, many emerging companies use business models based on the On-Demand Economy. In addition to that, the acquisition of information is getting massive thanks to technological and sociological trends like social media and IoT. EDA is the natural paradigm for making use of this real-time information and designing flexible systems able to adapt to the changes.

The Daitan Group [1] identifies different cases of companies making use of EDA: Uber, Deliveroo, Monzo Bank or Centrica among others. All of them share a smart use of real-time information provided by the customers, IoT networks, and movements in the market.

The traditional request-driven model and the event-driven model are complementary, and both of them have their own purposes. Digital companies are usually called to specific business actions triggered by business situations. Business situations are nothing more than the result of a logical test to an income of different events, and the identification of this situation creates an opportunity. These opportunities are mostly lost in a traditional request-driven model, which creates rigid and orchestrated architectures that are certainly very efficient when developing simple and invariant tasks. EDA, when using continuous monitoring of incoming events, gives the possibility of making real-time decisions. [2]

Experts say [3] that digital entrepreneurs and IT architects must change to the ‘event thinking’ to adopt this kind of solutions, that are diametrically opposed to the old paradigm.

3. THE EDA TECHNOLOGY

From both technical and strategical perspectives, EDA breaks with the traditional Data Warehouse (DW) architecture [1]. Data is currently stored in the DW and analyzed to generate reports, dashboard or other tools used to guide management decisions. However, this is a slow process that is completely useless for an on-demand service in which the environment changes every couple of minutes.

One of the main difficulties when developing an EDA-based solution is that there is not any dominant development framework yet. However, developers can integrate solutions from different technology providers to create an EDA project [1]:

  • Event capturing with Dell Boomi, SnapLogic, Mulesoft, Hortonworks Dataflow, Apache Apex.
  • Routing with RabbitMQ, ActiveMQ, Apache Kafka.
  • Processing with Apache Flink, Apache Storm, Amazon Kinesis, Azure Stream analytics, TIBCO BE.

The Event Stream Processing (ESP) is the general idea of the data integration and analysis. The ESP flow is divided into four steps of event processing, that are Collect, Enhance, Analyze and Dispatch. The whole flow creates a non-homogeneous process in which events are acquired by the system and generate a certain output response, thanks to the processing of different services.

The typical event-driven implementation makes use of an event bus and various simultaneous services accessing to the bus. Data is stored in local memories and replicated for every service so that they can work independently [4]. Every service can acquire and generate event notifications. The architecture can be extended to the use of various event buses and specific interface services.

Once an event reaches the event bus, the flow of actions from the different services is not easy to predict and control. However, every service is easily modifiable and replaceable since the architecture is loosely tied. Every service is programmed to perform specific tasks, following different priorities or timing restrictions, and they will not be affected by the change in any other process. This way, long-term optimization and adaptation of the system are perfectly feasible.

Glue Reply UK [4] likens the Event-Driven Architecture for business to the concept of Brownian Motion in physics, which stands that the movement of a particle in a fluid is almost impossible to predict but easy to trace after the event. The path of the particle is the chain or group of actions performed, and the collisions of the particle are the events. This simile refers to the non-structured system behavior in response to events, delivering business results nonetheless.

Just as an off-topic, one can check a Brownian motion simulation here. [6]

Innovation is always spinning forward. Just like a Drill.

REFERENCES

[1] Daitangroup.com. (2017). Event-Driven Architecture. [online] Available at: http://www.daitangroup.com/wp-content/uploads/2017/11/Daitan_Whitepaper_Event-Driven_Architecture.pdf [Accessed 9 Sep. 2018].

[2] Cearley, D. (2017). Top 10 Strategic Technology Trends for 2018. [online] Gartner.com. Available at: https://www.gartner.com/ngw/globalassets/en/information-technology/documents/top-10-strategic-technology-trends-for-2018.pdf [Accessed 9 Sep. 2018].

[3] Currie, T. and III, S. (2017). Event-Driven Architecture Is the Wave of the Future — The New Stack. [online] The New Stack. Available at: https://thenewstack.io/event-driven-architecture-wave-future/ [Accessed 9 Sep. 2018].

[4] Richardson, C. (n.d.). Microservices Pattern: Sagas. [online] microservices.io. Available at: https://microservices.io/patterns/data/saga.html [Accessed 9 Sep. 2018].

[5] Reply.com. (n.d.). Event Driven: how can we deliver full business value?. [online] Available at: http://www.reply.com/Documents/7937_img_GLUE11_Event_Driven_Architecture_eng.pdf [Accessed 9 Sep. 2018].

[6] Wang, H. (n.d.). Event-Driven Brownian Motion Simulation. [online] CodePen. Available at: https://codepen.io/huiwang/full/epEZVJ [Accessed 9 Sep. 2018].

--

--

Telmo Subira Rodriguez
DRILL
Editor for

MSc in Artificial Intelligence. Electronics & Telecommunications engineer. Science-fiction lover. Passionate about technology, good design, and innovation!