Chapter 7. Developing a Robust Inner Monologue

In “Event Distribution”, we talked a little bit about the idea of publishing the “inner monologue” of an application using events. This model (and some related ideas around active storage) form the basis of this chapter. This inner monologue can be accomplished in several ways, but the core idea is to build the integration points for your application as you build the code, rather than needing to come back in later to bolt on extension points after the original work is done.

The design techniques in this chapter apply equally to both monolithic applications as described in Chapter 5 and microservices. The patterns also apply to applications on all sorts of runtimes, from function-based serverless applications to traditional runtimes to individually stateful instances described in “Instance Addressability and Sharding”. With that said, extensions built on reacting to events published by the inner monologue will generally be well aligned with serverless principles and may benefit from running on a serverless platform. In this way, events are the razor handles of serverless, helping to sell the “blades” of serverless compute.1

Ambient Event Publishing

Treating event distribution as an ambient capability in the environment greatly simplifies the implementation of inner monologues and the other techniques in this chapter. When thinking about inner monologues, I find helpful comparisons with monitoring and observability instrumentation—it’s ...

Get Building Serverless Applications on Knative now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.