Programmable glue for developers
We are introducing Metatype, a new project that allows developers to build modular and strongly typed APIs using typegraph as a programmable glue.
What is Metatype?
Metatype is an open source platform to author and deploy APIs for the cloud and components eras. It provides a declarative programming model that helps you to efficiently design APIs and focus on the functional requirements.
The runtime embraces WebAssembly (WASM) as a first-class citizen to allow you to write your business logic in the language of your choice and run it on-demand. Those "backend components" are reusable across your stacks and deployable without pipelines or containers.
The platform provides a set of capabilities out of the box:
- create/read/update/delete data in your database
- storing files in your cloud storage
- authenticate users with different providers or using JWTs
- connecting to third-party/internal APIs
And offers an opportunity to climb the one step higher in the abstraction ladder and drastically simplify the building of great APIs and systems!
Metatype is designed to be as simple as possible and horizontally scalable in existing container orchestration solution like Kubernetes. It consists of multiple parts, including:
- Typegraph: a cross-language SDK to manage typegraphs - virtual graphs of types - and compose them
- Typegate: a serverless GraphQL/REST gateway to execute queries over typegraphs
- Meta CLI: a command-line tool to efficiently deploy the typegraphs on the gateway
What are virtual graphs?
Typegraphs are a declarative way to expose all APIs, storage and business logic of your stack as a single graph. They take inspiration from domain-driven design principles and in the idea that the relation between of the data is as important as data itself, even though they might be in different locations or shapes.
These elements can then be combined and composed together similarly on how you would compose web components to create an interface in modern frontend practices. This allows developers to build modular and strongly typed APIs using typegraph as a programmable glue.
Where does this belong in the tech landscape?
Before Metatype, there was a gap in the technological landscape for a solution that specifically addressed the transactional, short-lived use cases. While there were existing tools for analytical or long-running use cases, such as Trino and Temporal, there was no generic engine for handling transactional, short-lived tasks.
← individual entities transactional | large data → analytical | |
instantaneous ↑ short-lived | Metatype composition engine for entities in evolving systems | Trino query engine for large data from multiples sources |
long-running asynchronous ↓ | Temporal workflow orchestration for long-running operations | Spark batch/streaming engine for large data processing |
Give it a try!
Let us know what you think! Metatype is open source and we welcome any feedback or contributions. The community primarily lives on GitHub.
Build your first typegraph or read more about the concepts behind Metatype.