Table of Contents
- Federated Architecture
E pluribus unum
Latin for, “Out of many, one”
It may be obvious to many in the United States of America that federated architectures are probably analogous to how the federal government and the different states in the U.S interact. Each state governs, has its constitution, elects its officials, but still is part of, interacts with, and maybe forced to answer federal authority. It’s a good system, but why was it chosen in the first place?
This article will explore the concept of federation, discuss some of the characteristics of federated architectures, and provide real-world examples of federated systems. By the end, you should have the ability to describe the principles of federated architecture and identify examples in the real world!
Autonomy and Interoperability
Extending the United States government analogy, having a monarch was sure to regress into abuse of power and oppression of liberties (Comedically, this concern transfers well to critiques of monolithic applications).
Although the number of states in the Union was small in the 18th century, aggregating the states into one created a complex system. And, it created the fear that large states would dominate smaller states. Colonists needed a system that could balance power and handle the complex differences that exist among Americans. The states needed autonomy and interoperability.
This article isn’t meant to be a history lesson, so why am I digressing into some of the founding concepts of the government of the United States?
If you understand the principles and founding concepts of how the United States works and why it’s structured the way it is, you can immediately understand how a federated architecture works and why an enterprise would want one.
Enterprises choose a federation to deal with current and potential complexity without suppressing the autonomy of parts in the decentralized system. Also, a federal system can foster the growth of individual “states”, which in turn grows the “Union” as a whole without one “state” or the federal authority becoming too powerful. Let’s map this analogy onto a federated architecture and swap out of the terminology in the next section.
Federated architecture is a pattern that unifies semi-autonomous applications, networks, or software systems. Each system (“state”) operates semi-autonomously. It can scale, process, experiment, and implement different technology. However, it willfully complies with the rules that allow it to exist symbiotically with other related systems (“Union”).
Federated architecture solves the problem of unimaginable complexity that comes with completely centralizing a large enterprise. Each system is diverse enough that it’s easy to imagine the entire application collapsing under its growth.
Compliance in Federated Architecture
Two examples of interoperability that we can borrow from the United States analogy are commerce and identity. The first example comes from all states accepting the US dollar as currency. That’s an example of a concept that every semi-autonomous system adopts.
Identity is a different story. Each state has a verifiable—unique—ID card. This is important because the ID must be valid per the state. However, IDs are accepted across different states and often go through relaxed verification. On the other hand, every citizen is identified federally by a social security number (SSN).
There’s compliance across the system by the separate entities in the above examples, but only because there’s a separate authority establishing trust between the entities.
Holding the entities together is the central operating model. This model exists on a spectrum between two extremes: strong and weak1. Intuitively, an architect may design for more top-level control (strong) or give more power to the lower-level entities (weak).
The Benefit of Federated Architecture
One of the most popular stated benefits of choosing a federated architecture is allowing independent systems, teams, organizations, or entities to solve problems independently2. The different kinds of independence include:
Sometimes, it helps to define a technology by its peers. What are the other options for large enterprises building complex applications? Federated architecture is typically used in larger enterprises or systems. It’s part of a category known as enterprise architecture.
What is Enterprise Architecture?
Enterprise architecture is the process and discipline that an enterprise takes to achieve its goals. Furthermore, it encompasses frameworks and a body of knowledge to guide architects in their approach to handling complex systems3.
Four examples of enterprise architecture frameworks include:
- Zachman Framework
- The Open Group Architectural Framework
- Federal Enterprise Architecture
- The Gartner Methodology
It may be obvious that each system has a specialty and has been applied successfully in a number of situations. Describing each of the frameworks is beyond the scope of this article, but you can follow the links for each example to learn more!
Where can we look for examples of the federation? We have a nice real-world example in government, but let’s look at a few examples in technological spaces.
The RapidAPI Marketplace supports the federation of APIs. The service eases the complexity of integrations by leveraging common API practices to promote interoperability. There is a level of compliance that each user or team must meet to join the group. However, once set up, they freely operate among other APIs.
Furthermore, each API product self-organizes and grows, increasing the value of the whole without restrictions from RapidAPI.
Users can build applications (creating a centralized operating model) from completely independent API vendors.
Users can send Email messages across the network to each other regardless of their domain or email server4. There isn’t a central authority that controls the transfer of Email data, which is probably why spam is an issue. However, you could set up and manage your own email service, and after you complied with common protocols, you could send and receive messages to others.
Single Sign-On (SSO)
OpenID Connect, and other SSO protocols, can be referred to as federated5. OpenID Connect is “… an identity layer built on top of OAuth 2.0, with a large number of implementations from companies such as Google and Paypal. It enables client applications to receive valuable basic information about a user, such as a user’s identity, the user’s available attributes, and other authentication-related details.”
There is not one single identity provider that IDs have to verify with. The identity provider is simply a trusted party with authority to authenticate.
“… an online digital enablement API Platform provided by Dialog Axiata PLC, through which business entities can create applications using the given “API” toolkits or publish “API”s to enable use of other services.
Welcome to IdeaBiz, Documentation
IdeaBiz allows users to bundle autonomous APIs together into applications6. Essentially, developers create and publish APIs outside of IdeaBiz, but the APIs remain interoperable within the services born out of combining multiple APIs.
In this article, we talked about some of the basic principles behind federation and why any system, government, or application may choose a federated architecture. Also, the article gave some context to place federated architecture among a list of other solutions that can help an enterprise approach growing complexity.
Many implementations of federated architectures are evolving as more organizations seek to decentralize and grow their operations. Therefore, you can be sure that the body of knowledge surrounding the federated architecture will grow and improve on itself.
What does it mean to federate something?
Entities federate when they join in an alliance. For example, APIs may be federated when combined to create an application service.
What is an example of federation?
A common example of a federation in the United States of America. Each state has its own government, but it's part of the an alliance.
What does federation mean in technology?
In technology, systems federate through a defined means of exchanging data and verifying authentication.
What is a federated protocol?
Federated protocols exist on the internet to promote decentralization. Therefore, emailing services follow the Send Message Transfer Protocol (SMTP).
1 “Comparison of Top Four Enterprise Architecture Frameworks” Free Essays – PhDessay.com, 4 May 2018, phdessay.com/comparison-of-top-four-enterprise-architecture-frameworks/. Accessed 29 Apr. 2021.
2 “Federated Architecture.” Wikipedia, 10 Mar. 2021, en.wikipedia.org/wiki/Federated_architecture#Benefits. Accessed 29 Apr. 2021.
3 See (1) “Comparison of Top Four Enterprise Architecture Frameworks”
4 “Federated Architecture” YouTube, uploaded by Jeff Disher. 28 Dec. 2012, youtube.com/watch?v=uAtLhCJ3Tbg. Accessed 28 Apr. 2021.
5 Federated SSO, a Primer (SAML, OAuth 2.0, OpenID Connect). 18 Apr. 2017, www.mandsconsulting.com/federated-sso-a-primer-saml-oauth-2-0-openid-connect/. Accessed 29 Apr. 2021.
6 “Federated APIs across Ecosystems, WSO2 Webinar”. YouTube, uploaded by WSO2. 20 Apr. 2020, youtube.com/watch?v=6vEOtusyQ5U. Accessed 28 Apr. 2021.