Microservices and the rise of event-driven architectures: New paradigms, new opportunities

Understanding microservices

To understand these shifts, it’s important to first understand microservices applications and how they differ from traditional applications. Traditional applications are largely monolithic — the application is written as a single unit in which all components of the application are interconnected and interdependent. Until recently, this was by far the most common approach. However, this imposes restrictions on development teams — each time you need to add new functionality, the whole application needs to be rebuilt, retested, and updated. Monolithic applications impose restrictions on operations — they are typically difficult to scale, hard to update, and painful to troubleshoot.

The emergence of event-driven architecture

Microservices isn’t just changing how applications are built, it’s also a key enabler of a new paradigm in how data is processed and used. The most common approach to processing data is one that is a lot like the way that older traffic signals work — no matter what the circumstances at the intersection, those traffic lights wait exactly the same amount of time and follow exactly the same fixed sequence before changing. Batch-oriented approaches to processing data are similarly oblivious to how important, how big, or how fast data is.

Creating new opportunities

Event-driven architecture is making possible an abundance of new applications across many domains. The internet of things, for example, is still in its infancy, and AI-based applications are just starting to be prototyped. Applications in areas like these are ideally suited to an event-driven architecture.

  1. Event creation: a user generates an event, for example writing a tweet.
  2. Event processing:
    a) The tweet must be successfully logged into an ingestion node.
    b) The user’s follower list is accessed
    c) Filters are applied to the content of the tweet, for example to mark content as sensitive, which requires applying real-time machine learning.
    d) If the content is acceptable, then the tweet is replicated (“tweeted”) to followers, requiring fan-out capabilities.
    e) Each user’s followers can then interact with the tweet, such as “like”, “retweet”, or tweet a reply back to the originating user.
  3. Internal event response: “like” and “retweet” are counted in real-time. Advertisement revenue is calculated in real-time based on tweet impressions.
  4. End-user event response: user sees real-time “likes,” “retweets” and “replies” to create a unique real-time experience that powers real-time conversations via Twitter.

The Technology Foundation for Event-Driven Architecture

What does it take to make event-driven architecture a reality? The right technology foundation is one of the most critical components.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store