Welcome to Drift Platform Documentation
Drift is a Temporal-powered, low-code workflow orchestration platform that enables users to design, deploy, and execute workflows using native reusable nodes.
Quick Start
For Developers
- Read Architecture Overview to understand the system
- Review High-Level Design for component design
- Study Contracts for integration details
For Architects
- Start with Architecture Overview
- Deep dive into High-Level Design
- Review Low-Level Design for implementation details
Documentation Structure
Getting Started
- Key Features - Overview of platform capabilities
- Terminologies - Core concepts and definitions
Key Features
- Low-Code/No-Code: Create workflows on-the-fly with predefined native nodes
- DSL-Based workflow: Defines the workflow structure by stitching nodes in a Directed Graph
- Temporal Integration: For durable, fault-tolerant workflow execution
- Workflow Versioning: Version-controlled workflows with hot deployments
- Real-time Visibility: Live workflow execution tracking and monitoring
- Widgetized Responses: UI-ready responses for human-in-the-loop workflows
Architecture at a Glance
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
┌─────────────┐
│ Clients │
└──────┬──────┘
│
▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ API Service │─────>│ Temporal │<─────│ Worker │
│ (REST) │ │ Cluster │ │ Service │
└──────────────┘ └──────────────┘ └──────┬───────┘
│ │
│ │
└────────────────────┬───────────────────────┘
│
┌───────────┴────────────┐
│ │
┌────▼────┐ ┌────▼────┐
│ HBase │ │ Redis │
│(Storage)│ │ (Cache) │
└─────────┘ └─────────┘
Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| API Framework | Dropwizard 2.0.27 | REST services |
| Workflow Engine | Temporal.io | Orchestration |
| Storage | HBase | Persistent data |
| Caching | Redis Sentinel | Hot data cache |
| Scripting | Groovy 2.4.13 | Dynamic evaluation |
| DI Framework | Google Guice 7.0.0 | Dependency injection |
| Build Tool | Maven 3.6+ | Build automation |
| Runtime | Java 17 | JVM platform |