CodeX

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers

Follow publication

Federated Microservices

From Many, One

Tyson Midboe
CodeX
Published in
4 min readJun 2, 2021

--

What are Federated Microservices?

Federated Microservices are the independently deployable components of a federated application. In a federated application, components are loaded from multiple network locations and repositories at runtime. They are not developed by a single team or built from a single codebase. Multiple federated application components can run in a single application instance; and can be redeployed at any time, without restarting the application or interrupting other components that happen to be running.

What purpose do they serve?

Not incidentally, the word “federation” accurately describes the structure of the development organization microservices enables: one made up of small, independent teams. Despite this internal autonomy, the software produced by each team interacts successfully. Let’s consider what enables this result and what role distributed computing plays.

Microservices and Distributed Computing

What is the purpose of distribution in a microservice-style architecture: scalability, polyglossia, deployment independence? It enables all three. But which properties are indispensable to the kind of organization we want to support? If we conflate concurrency of users with concurrency of developers, we could say scalability is essential. But in the proper sense of the term, you can also scale a monolith. The same options are available: horizontal, vertical, component-wise (e.g. target hot parts of the app with a load balancer). If that doesn’t satisfy, consider that all frontends were monolithic not too long ago. Relative to backend microservices, micro-frontends are recent. As for polyglossia, it does open up the potential developer pool and language fitness-for-purpose. But what makes each team able to innovate at their own pace without being dependent on, or subject to, the activities of the others? Clearly, its deployment independence.

An image taken from martinfowler.com and modified to include federation

So while distribution may make it easier to scale, scalability is not a reason for implementing microservices. You…

--

--

CodeX
CodeX

Published in CodeX

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers

Tyson Midboe
Tyson Midboe

Written by Tyson Midboe

Why do so many microservice implementations fail? Is the ‘microservice premium’ an inevitable trade-off or a problem with a solution? Read on and find out…

Responses (1)

Write a response