A Developer's Intro to Composable
Published September 14th, 2023
The tech industry is no stranger to buzzwords. “Composable” has recently joined the ranks, and it's being defined in many ways. Let’s cut through the fluff and get straight to the point.
Definition 1: “Composable” as Microservices 2.0
This is, by far, the most common interpretation. Even calling it 2.0 is generous - all of the material I've read reads the same as the microservice material of yesteryear.
Historically, many larger pieces of software were Off-The-Shelf Platforms — they did everything you needed. But if you ever wanted or needed to expand beyond what was offered, you rarely could. It's all or nothing and as-provided.
Now, envision breaking applications into more manageable building blocks. Each is distinct, yet interconnected. These blocks, or microservices, can be added, replaced, or upgraded individually - making them interchangeable. As long as they accept the same type of input and respond with the same type of output, what happens in the middle can be changed.
All these microservices require a controlling piece of software to make sure they all talk properly (and behave). We often call this the “hub and spoke” approach.
At Directus, we've leveraged this idea. You can now delegate tasks to multiple external services and pull it all together using Directus Automate and Directus Connect. We're also working on a brand new data abstraction engine, aimed at supporting multiple data sources. Directus is poised to sit at the heart of a truly composable architecture.
Your data stays yours and data needn’t be imported into Directus. It could be from a database, or any API-addressable source.
Definition 2: Constructing Use Cases from Building Blocks
The Building Block Approach: Just like building with Lego, use distinct pieces to design what you want.
Directus’ Toolkit: Our platform is made up of many tools. Use those tools in different configurations to build out many use cases. Think Headless CMS, Inventory Management System, Backend APIs, Internal Apps, Customer Relationship Management, and more. Like AWS, Directus allows you to use different tools in tandem to achieve a specific goal.
In essence, Directus empowers developers to craft exceptional backend systems and internal applications using as much or as little of the tools provided.
Definition 3: A Unified OS for Organizational Integration
Single-Purpose Tools: Many tools are made with one goal in mind. Even those that are flexible may only support one setup at a time.
With Directus’ tools, you can compose use cases for multiple teams, all under one roof. Toss in access control, and extensions, and you've got a tailor-made solution for your whole organization.
Holistic Insight: Why limit your team’s insight? Build internal apps that offer everyone the optimal amount of business intel to do the best job they can.
Final Thoughts
Here's the thing — it's down to us, as developers, to understand and assess new trends. If “composable” is the new flavor, it’s crucial to truly understand it or to make sure you can work with your business leaders and clients.
The only other piece of advice I have in my natural cynicism is to ask ‘why and how are you composable’ when it's coming up, as I've observed multiple definitions. For example, being just a headless CMS means you're a data source in Definition 1 — it doesn't make you “composable”.
Directus resonates with these definitions at multiple levels: from the core data sources, to our suite of products, and even our organizational ethos. We'll continue refining our understanding, ensuring we're always at the forefront of true composability.