Skyflow Platform Architecture Overview
This document provides a high-level overview of the Skyflow platform architecture.Table of Contents
Introduction
Skyflow is a modern platform built with scalability, reliability, and developer experience in mind. The architecture follows microservices principles with clear service boundaries and well-defined APIs.System Architecture
The platform is organized into the following layers:- Presentation Layer: Web and mobile clients
- API Gateway: Request routing, authentication, rate limiting
- Service Layer: Business logic microservices
- Data Layer: Databases, caches, and message queues
- Infrastructure Layer: Kubernetes, monitoring, logging
Service Diagram
ASCII Diagram (Alternative)
Technology Stack
Backend
| Component | Technology | Purpose |
|---|---|---|
| Runtime | Go 1.22+ | Primary service language |
| Framework | stdlib + chi | HTTP routing and middleware |
| Database | PostgreSQL 15 | Primary data store |
| Cache | Redis 7 | Session and data caching |
| Message Queue | Kafka | Event streaming |
Frontend
| Component | Technology | Purpose |
|---|---|---|
| Framework | Next.js 14 | React framework |
| Language | TypeScript | Type-safe JavaScript |
| Styling | Tailwind CSS | Utility-first CSS |
| State | Zustand | State management |
Infrastructure
| Component | Technology | Purpose |
|---|---|---|
| Container Orchestration | Kubernetes | Service deployment |
| CI/CD | GitHub Actions | Continuous integration |
| Monitoring | Prometheus + Grafana | Metrics and dashboards |
| Logging | Loki | Log aggregation |
| Tracing | Jaeger | Distributed tracing |
| Secrets | Vault | Secret management |
Development
| Component | Technology | Purpose |
|---|---|---|
| Version Control | Git + GitHub | Source code management |
| Code Quality | golangci-lint, ESLint | Linting |
| Testing | Go test, Jest, Playwright | Unit, integration, E2E |
| Documentation | Markdown, Mermaid | Technical docs |
Key Components
API Gateway
The API Gateway handles all incoming requests and provides:- Authentication and authorization
- Rate limiting and throttling
- Request routing to backend services
- Response caching
- Request/response transformation
Core Service
The central business logic service responsible for:- Primary business operations
- Coordination between services
- Transaction management
User Service
Manages user-related functionality:- User registration and profiles
- Authentication tokens
- User preferences
Vault Service
Handles sensitive data:- Encryption and decryption
- Key management
- Secure data storage
Notification Service
Handles all notifications:- Email notifications
- Push notifications
- Webhook delivery
Data Flow
Request Flow
- Client sends request to API Gateway
- Gateway authenticates the request
- Gateway routes to appropriate service
- Service processes business logic
- Service interacts with data layer
- Response flows back through Gateway
- Client receives response
Event Flow
- Service generates event
- Event published to Kafka
- Consuming services process event
- Side effects executed (notifications, updates)
Related Documentation
- ADRs - Architecture Decision Records
- API Documentation - API specifications
- Runbooks - Operational procedures