Core Concepts
The platform is easier to adopt when these ideas are treated as shared conventions rather than service-specific details.
| Concept | Meaning | Why it matters |
|---|---|---|
| Service | An independently deployable capability with its own API and responsibility | Teams can adopt and release capabilities independently |
| Gateway | The trusted edge for incoming traffic | Authentication and authorization happen before traffic reaches a service |
| Tenant | The organization or logical customer context of a request or event | It is the isolation boundary for data, policy, and routing |
| Policy decision | An allow/deny decision evaluated from declared policy | Access control stays explicit and reviewable |
| Event | An immutable record of something that happened | Services can react without direct database access |
| Sink | A destination that receives processed events | Audit and operational data can reach the systems that own it |
| Contract | An OpenAPI or event schema agreement | Integrations can be built and tested independently |
How the concepts connect
flowchart LR
U["User or integration"] --> G["Gateway"]
G --> P["Policy decision"]
P --> S["Service API"]
S --> DB[("Service-owned data")]
S --> E["Domain event"]
E --> R["Event routing"]
R --> K["Tenant-specific sinks"]
Principles to carry into every integration
- Send user and tenant context through the trusted gateway rather than inventing a parallel identity path.
- Integrate through documented APIs and events; do not read another service’s data store.
- Treat secrets and policy as deployment configuration, never source code.
- Build observability into the deployment from the first environment.
For the topology behind these concepts, see Architecture Overview.