tc (topology composer) provides a higher-level abstraction for serverless development, focusing on the logical relationships between core entities rather than the underlying infrastructure details. It implements the Cloud Functor Pattern which has six key features:
Composable Entities
Compose the core entities (functions, events, mutations, queues, routes, states, pages and channels) as a Directed Acyclic Graph.
Namespacing
Scope and group your functions, events, routes and other entities similar to modules in a programming language.
Sandboxing
Sandbox your namespaced topologies with reasonable boundaries similar to packages in a programming language.
Inferred Infrastructure
Generate infrastructure boilerplate like permissions similar to types in a dynamic programming language.
Recursive Topology
Create functors at any level in the code repository’s heirarchy like fractals.
Isomorphic Topology
Resolve or diff definitions and sandbox state as datastructures