Chuyển tới nội dung chính

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):

LayerTechnologyLicense
FrontendReact, Tailwind CSS, AG-UIMIT
API GatewayKongApache 2.0
BackendNode.js, PythonMIT
DatabasePostgreSQLPostgreSQL License
CacheRedisBSD
Message QueueRabbitMQMPL 2.0
ContainerDocker, KubernetesApache 2.0
ObservabilityOpenTelemetry, GrafanaApache 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:

MetricCapacity
Concurrent Agents10,000+
Requests/Second50,000+
Message Latency< 100ms p99
Data RetentionUnlimited

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