~/topics/Federated Architectures
Updated Feb 26, 2021

πŸ“ Federated Architectures

The recurring theme of federation in distributed system

Some editorial choices about this deck:

(Presenter notes available in the source of these slides)


IRL Federation

Federation: organization pattern involving a combination of centralized decision-making and as peripheral autonomy

Hybrid of top-down (hierarchical) and peer-to-peer (decentralized)


Federation in Computer Systems

The abstract pattern of Federation is everywhere.

Often in disguise, or called with by different (more precise) names


Federation in Distributed Systems

Concept of federation is broad overlaps with many concepts we encounter everyday:

Federation is abstract and overlaps with these and more.

In the rest of this deck: practical examples of federation in action


Data federation

GraphQL & Apollo

“GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data”

Below the API, query federation.

Apollo stores no data, it federates the request to other systems.

Data layout, location, provider can change without affecting users.


Search federation

Different queries require very different handling, separate indices, ranking, spell-correction model, and more.


Search federation

Maps Search Architecture

Federated Maps Search

A collection of small specialized search engines.

And auxiliary services


Federated storage

FileCoin

Planetary scale decentralized file storage system. Utilizes the blockchain to track blocks and reward people for storing them.

Mine (get paid) to offer storage capacity Pay others to store, serve, replicate, …

Similar: Threefold (P2P compute grid), LivePeer (video encoding grid), and many more


Federated infrastructure

GAIA-X

European Union next generation cloud.

Similar to AWS in that it offers a variety of services, from bare metal machines, all the way up to high level services.

AWS is centralized, GAIA-X is federated through and through. Only offers the basic protocol for providers and consumers to find each-other and negotiate terms.


GAIA-X Use case example

Medical records

Each citizen has a virtual medical record.

It is stored safely in the cloud.


Federated Service Platforms

Uber, AirBnb & co successfully connect demand and supply at scale.

But their primary driver is profit. Above all they need to appease shareholders and investors.

Making users happy is just a secondary goal. A mean to an end. The real goal is: make money.

Re-imagine these platforms without the shareholders (or making users the shareholders). Same service, different goal: optimize for the collective good of all users.

More similar to public utilities than to for-profit companies.

Built on open-source (trust is paramount).

Still collect a fee on transactions, but use it to:

Examples: Eva, FairBnb, WindingTree


Federated Social Networks

Facebook, Reddit, Twitter, Instagram, etc. Are great for staying in touch with friends, discuss current events, and more.

But satisfying user’s need for connection is just a mean to an end.

The goal of these platform is to make money to shareholders. They are not shy of using dirty tricks to get users to:

User’s interests (such as privacy) are only considered if ignoring them is damaging to the platform.

A new generation of federated social platform are emerging: Diaspora, Mastodon, Mobilizon, and more.

Expected vs. Actual social network


Federated Communications

Matrix

WhatsApp, Telegram, Discord, iMessage, GMail, … provide a great service, but at a (hidden) cost. Your data is being mined and sold (end-to-end encryption is a marketing ploy).

Matrix is a federated, decentralized answer to this problem. An open-source protocol for instant messaging (and, communications in general).

Built ground-up to be federated. Small groups of people can operate their own homeserver, sharing the cost.

Through the homeserver, they can connect to the rest of the world (or not).

Matrix network


Further reading: