Architecture Overview
This page provides a technical overview of the FAOS platform architecture for developers and technical decision-makers.
High-Level Architecture
┌─────────────────────────────────────────────────────────────────┐
│ FAOS Platform │
├─────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web UI │ │ Mobile App │ │ CLI/SDK │ Clients │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ┌──────▼────────────────▼────────────────▼──────┐ │
│ │ API Gateway (Kong) │ Edge │
│ └──────────────────────┬────────────────────────┘ │
│ │ │
│ ┌──────────────────────▼────────────────────────┐ │
│ │ Core Services (Microservices) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Services │
│ │ │ Agent │ │Workflow │ │ Memory │ │ │
│ │ │ Engine │ │ Engine │ │ Store │ ... │ │
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
│ └──────────────────────┬────────────────────────┘ │
│ │ │
│ ┌──────────────────────▼────────────────────────┐ │
│ │ Data Layer │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Data │
│ │ │PostgreSQL│ │ Redis │ │ S3 │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Technology Stack
FAOS is built on a 100% open-source stack (MIT/Apache 2.0 licenses):
| Layer | Technology | License |
|---|---|---|
| Frontend | React, Tailwind CSS, AG-UI | MIT |
| API Gateway | Kong | Apache 2.0 |
| Backend | Node.js, Python | MIT |
| Database | PostgreSQL | PostgreSQL License |
| Cache | Redis | BSD |
| Message Queue | RabbitMQ | MPL 2.0 |
| Container | Docker, Kubernetes | Apache 2.0 |
| Observability | OpenTelemetry, Grafana | Apache 2.0 |
Core Components
Agent Engine
The Agent Engine is the brain of FAOS, responsible for:
- LLM orchestration (Claude, GPT, local models)
- Tool execution
- Memory management
- Guardrail enforcement
interface AgentEngine {
// Process a user request
process(request: AgentRequest): Promise<AgentResponse>;
// Execute a tool action
executeTool(tool: string, params: object): Promise<ToolResult>;
// Check guardrails
checkGuardrails(action: Action): GuardrailResult;
}
Workflow Engine
Manages the execution of multi-step workflows:
- DAG-based workflow definitions
- Parallel and sequential execution
- Retry and error handling
- State persistence
Memory Store
Provides persistent memory for agents:
- Vector embeddings for semantic search
- Entity relationship graphs
- Conversation history
- Cross-agent knowledge sharing
Event Bus
Enables real-time communication:
- Agent-to-agent messaging
- User notification delivery
- Integration webhooks
- Audit logging
Deployment Models
Cloud (Managed)
Fully managed SaaS deployment:
- Multi-tenant architecture
- Automatic scaling
- Zero maintenance
Self-Hosted
Deploy on your infrastructure:
- Single-tenant isolation
- Data sovereignty compliance
- Custom security policies
Hybrid
Best of both worlds:
- Control plane in cloud
- Data plane on-premises
- Secure tunnel connectivity
Security Architecture
Multi-Tenant Isolation
┌─────────────────────────────────────┐
│ Tenant A │
│ ┌─────────┐ ┌─────────┐ │
│ │ Data │ │ Agents │ │
│ └─────────┘ └─────────┘ │
├─────────────────────────────────────┤ ← Network Isolation
│ Tenant B │
│ ┌─────────┐ ┌─────────┐ │
│ │ Data │ │ Agents │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────┘
Security Features
- Authentication: OAuth 2.0, SAML, OIDC
- Authorization: RBAC with fine-grained permissions
- Encryption: TLS 1.3, AES-256 at rest
- Audit: Complete action logging
- Compliance: SOC 2, GDPR, HIPAA ready
Scalability
FAOS is designed for enterprise scale:
| Metric | Capacity |
|---|---|
| Concurrent Agents | 10,000+ |
| Requests/Second | 50,000+ |
| Message Latency | < 100ms p99 |
| Data Retention | Unlimited |
Integration Architecture
MCP (Model Context Protocol)
FAOS uses Anthropic's MCP for standardized tool integration:
// MCP Server Example
const server = new MCPServer({
name: "my-integration",
tools: [
{
name: "search_crm",
description: "Search CRM records",
inputSchema: { /* JSON Schema */ },
handler: async (input) => { /* Implementation */ }
}
]
});
Webhooks
Receive real-time events:
{
"event": "agent.action.completed",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"agentId": "agent_abc123",
"action": "send_email",
"result": "success"
}
}
Next Steps
- API Reference - Detailed API documentation
- Enterprise Setup - Self-hosted deployment
- Security Guide - Security configuration