One of the architects on my team named Jesse Menning just put to paper a concept steeped in a discussion we have with customers all the time; which he wrote up as the “unified microservices platform.”

In this new white paper, Jesse explains why it is important to bridge the divide between synchronous and asynchronous interactions (both of which are valid and necessary!) in a system composed of many microservices. If that sounds good, I’d skip my synopsis and start reading Jesse’s excellent paper now! If you’re not sure whether or not you’ll find that interesting and valuable, I’ll do my best to summarize some of the key points here so you can decide.

Unified microservices platform

In the paper Jesse explains that many IT organizations recognize the value of event-driven architecture and the value of being able to invoke microservices in both a request/reply and event-driven manner, but struggle to do so because their teams and tools have been built up around requirements of synchronous RESTful interactions. This can prevent you from achieving the superior agility and scalability – the reasons you went down “microservices road” in the first place.

He posits that to realize the full power and potential of microservices, architects need to embrace and utilize both asynchronous and synchronous interactions, and give developers the tools they need to be successful. So what are those tools…?

The Building Blocks of a Unified Microservices Platform

Jesse’s not the kind of guy to leave you hanging, and gives a great introduction to the four things it takes to build a unified microservices platform: a management layer, a distribution layer, a service layer and an infrastructure layer.

As you can see here, the two styles of communication require their own tools at the management and distribution layers, but can and therefore should sit atop a common framework consisting of a shared microservice framework and infrastructure.

asynchronous vs synchronous management and distribution layers

  • The management layer is about giving your team the power to share and reuse microservices: an administrative portal that lets creators of APIs and events register and update them, a gateway that enforces access rights and policy decisions at runtime, and a developer portal where people can find and reuse them.
  • The distribution layer is where you enable the movement of information. The pretty well-known “service mesh” uses Kubernetes and a sidecar proxy to intercept and “handle” requests for microservices, and an event mesh performs a similar role by handling all aspects of routing event-driven information between decoupled senders and receivers.
  • The service layer provides a consistent way to implementing microservices in the form of the standardized code a code generator cranks out, enforcement of policies, etc.
  • The all-important infrastructure layer is about observability, because one of the side-effects of handling business functions with a dozen microservices instead of one monolithic application is you need to be able to troubleshoot not just the microservices but the process by which information and instructions flow between them.

Tying the Elements of a Unified Microservices Platform Together

Jesse then talks about the importance of linking all those layers with standards so you don’t get locked into any one tool, vendor, or environment.

What it Takes to Implement a Unified Microservices Platform

Jesse wraps things up by introducing some of the specific tools and vendors you might want to consider for the various pieces of the puzzle, but I won’t summarize that part because if you’ve read this far clearly you’re overdue to read his paper!

Shawn McAllister
Shawn McAllister
Chief Technology Officer & Chief Product Officer

Shawn McAllister is responsible for the strategy and delivery of the Solace PubSub+ Event Streaming and Management Platform. He leads a team of incredibly talented engineers and architects in this endeavor Shawn has worked with many of our clients to help them adopt event-driven architecture and to learn first-hand their needs as input to the innovation built into the PubSub+ Platform. He has participated in the definition of various OASIS messaging protocol standards, including MQTT 3.1.1, MQTT 5.0, and AMQP1.0.

Before joining Solace, Shawn led software, hardware, and test engineering teams at Newbridge Networks (later Alcatel Canada), where he was responsible for developing features on ATM and Ethernet switches as well as the 7750 Multiservice IP Router. Shawn holds a Bachelor of Mathematics from the University of Waterloo, with majors in both Computer Science and Combinatorics/Optimization.