πŸš€Under udvikling Se status β†’
πŸ—οΈEnterprise Infrastructure β€’ Kubernetes Native

Served Infrastructure

Enterprise-grade Kubernetes infrastruktur med tenant-scoped caching, real-time CDC events og AI-drevet DevOps monitoring via Atlas.

Systemarkitektur

Overblik over Served's Kubernetes-baserede infrastruktur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                            Helledi-Cluster (Kubernetes 1.28.2)                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                          served namespace                               β”‚   β”‚
β”‚  β”‚                                                                          β”‚   β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚   β”‚
β”‚  β”‚   β”‚  ServedApi   β”‚     β”‚   Workers    β”‚     β”‚  Tenant Cache        β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  (1 replica) β”‚     β”‚  (2 Γ— 25)    β”‚     β”‚  (In-Memory)         β”‚    β”‚   β”‚
β”‚  β”‚   β”‚              β”‚     β”‚              β”‚     β”‚                      β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  HTTP/REST   β”‚     β”‚  Hangfire    β”‚     β”‚  Projects, Tasks     β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  SignalR     β”‚     β”‚  Background  β”‚     β”‚  Customers, TimeReg  β”‚    β”‚   β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚  Employees           β”‚    β”‚   β”‚
β”‚  β”‚          β”‚                    β”‚             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                    β”‚                        β”‚                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚          β–Ό                    β–Ό                        β–Ό                β”‚   β”‚
β”‚  β”‚   served-redis           served-kafka                                   β”‚   β”‚
β”‚  β”‚                                                                          β”‚   β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚   β”‚
β”‚  β”‚   β”‚    Redis     β”‚     β”‚    Kafka     β”‚     β”‚     Debezium         β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  StatefulSet β”‚     β”‚   (KRaft)    │◄────│   CDC Connector      β”‚    β”‚   β”‚
β”‚  β”‚   β”‚              β”‚     β”‚              β”‚     β”‚                      β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  DB0: Cache  β”‚     β”‚  Bootstrap:  β”‚     β”‚  MySQL Binlog        β”‚    β”‚   β”‚
β”‚  β”‚   β”‚  DB1: Jobs   β”‚     β”‚  :9092       β”‚     β”‚  β†’ Kafka Topics      β”‚    β”‚   β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                                 β”‚
β”‚             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚             β”‚                    Atlas AI                          β”‚             β”‚
β”‚             β”‚                                                     β”‚             β”‚
β”‚             β”‚   Code Analysis β€’ PR Reviews β€’ Pipeline Monitoring  β”‚             β”‚
β”‚             β”‚   Kubernetes Troubleshooting β€’ Error Detection      β”‚             β”‚
β”‚             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        

Infrastruktur Komponenter

Enterprise-grade komponenter designet til skalerbarhed og pΓ₯lidelighed

☸️

Kubernetes

1.28.2

Container orchestration med auto-healing, rolling updates og horizontal pod autoscaling.

2 nodes, NFS-backed storage
πŸ”΄

Redis

7.2

Distribueret cache og Hangfire job storage. Ultra-hurtig in-memory dataadgang.

DB0: Cache, DB1: Hangfire
πŸ“¨

Apache Kafka

KRaft mode

Event streaming platform til Change Data Capture og real-time data synkronisering.

~56k CDC events/dag
πŸ”„

Debezium

2.4

Change Data Capture fra MySQL. Monitorerer 11 entiteter for real-time opdateringer.

Finance, Projects, TimeTracking
πŸ€–

Atlas AI

v1.0

AI-drevet DevOps assistent til kode-analyse, PR reviews og infrastructure monitoring.

Claude API + GPT-4 Azure
⚑

SignalR

Real-time

WebSocket-baseret real-time kommunikation mellem browser, apps og server.

/notificationHub endpoint

Kubernetes Namespaces

Logisk opdeling af infrastruktur komponenter

☸️served
API (1 replica) Workers (2 replicas Γ— 25)

Hovedapplikation

☸️served-redis
Redis StatefulSet RedisInsight UI

Distribueret cache

☸️served-kafka
Kafka Broker Debezium Connect Kafka UI

Event streaming

Tenant-Scoped Caching

Ultra-hurtig in-memory dataadgang med fuldstændig tenant isolation

                           CDC Update Flow

   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚              β”‚     β”‚              β”‚     β”‚                          β”‚
   β”‚    MySQL     │────▢│   Debezium   │────▢│    Kafka Topic           β”‚
   β”‚   Binlog     β”‚     β”‚   Connector  β”‚     β”‚  served.served_db.*      β”‚
   β”‚              β”‚     β”‚              β”‚     β”‚                          β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                          β”‚
                                                          β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚                        Tenant Pod                                   β”‚
   β”‚                                                                     β”‚
   β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
   β”‚   β”‚                   TenantCacheService                        β”‚   β”‚
   β”‚   β”‚                                                             β”‚   β”‚
   β”‚   β”‚   ConcurrentDictionary<int, CachedProject>   _projects      β”‚   β”‚
   β”‚   β”‚   ConcurrentDictionary<int, CachedTask>      _tasks         β”‚   β”‚
   β”‚   β”‚   ConcurrentDictionary<int, CachedCustomer>  _customers     β”‚   β”‚
   β”‚   β”‚   ConcurrentDictionary<int, CachedTimeReg>   _timeRegs      β”‚   β”‚
   β”‚   β”‚   ConcurrentDictionary<int, CachedEmployee>  _employees     β”‚   β”‚
   β”‚   β”‚                                                             β”‚   β”‚
   β”‚   β”‚   Indexes:                                                  β”‚   β”‚
   β”‚   β”‚   _tasksByProject      β†’ HashSet<int>                       β”‚   β”‚
   β”‚   β”‚   _timeRegsByProject   β†’ HashSet<int>                       β”‚   β”‚
   β”‚   β”‚   _timeRegsByUser      β†’ HashSet<int>                       β”‚   β”‚
   β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
   β”‚                                                                     β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        
πŸš€

In-Memory Performance

ConcurrentDictionary-baseret cache med O(1) lookups via indexering.

πŸ”

Tenant Isolation

Hver tenant pod har sin egen isolerede cache - ingen data-leakage pΓ₯ tvΓ¦rs af tenants.

πŸ“Š

Smart Indexering

Tasks by project, time registrations by user/project - optimeret til hyppige queries.

πŸ”„

CDC-Drevet Updates

Debezium pusher Γ¦ndringer via Kafka. Cachen opdateres automatisk i real-time.

🌑️

Warmup on Startup

Async cache warmup loader alle tenant data ved pod opstart.

πŸ“ˆ

Memory Tracking

Built-in statistik for memory usage, entity counts og last update timestamps.

Cached Entiteter

Data der holdes i memory for hurtig adgang

EntitetEstimeret SizeIndexeret By
Projects~200 bytesBy ID, Customer
Tasks~150 bytesBy ID, Project
Customers~150 bytesBy ID
Time Registrations~100 bytesBy Project, User (30 dage)
Employees~80 bytesBy ID, User
πŸ€–AI-Powered DevOps

Atlas - DevOps AI Assistant

"Hold overblik over din codebase" - Atlas monitorerer og analyserer hele din infrastruktur

DevOps Integration

  • βœ“ GitHub/GitLab/Azure DevOps
  • βœ“ PR Management
  • βœ“ Pipeline Monitoring
  • βœ“ Branch Analysis

Code Intelligence

  • βœ“ Codebase Exploration
  • βœ“ Pattern Detection
  • βœ“ Dependency Analysis
  • βœ“ Security Scanning

Documentation

  • βœ“ Auto-generering
  • βœ“ README Maintenance
  • βœ“ API Docs
  • βœ“ Architecture Diagrams

Kubernetes

  • βœ“ Cluster Monitoring
  • βœ“ Pod Health Checks
  • βœ“ Resource Analysis
  • βœ“ Troubleshooting
                            Atlas Architecture

   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚                        Atlas Interface                              β”‚
   β”‚                                                                     β”‚
   β”‚    CLI        VS Code       Web UI       Slack        MCP Server    β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
                                     β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚                       Atlas Core Engine                             β”‚
   β”‚                                                                     β”‚
   β”‚    Code Analysis    Context Management    Tool Orchestration        β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚                β”‚                β”‚
                    β–Ό                β–Ό                β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   AI Providers   β”‚  β”‚   Integrations   β”‚  β”‚   Code Intel     β”‚
   β”‚                  β”‚  β”‚                  β”‚  β”‚                  β”‚
   β”‚  Claude API      β”‚  β”‚  GitHub/GitLab   β”‚  β”‚  Language AST    β”‚
   β”‚  GPT-4 Azure     β”‚  β”‚  Azure DevOps    β”‚  β”‚  Security Scan   β”‚
   β”‚  Ollama Local    β”‚  β”‚  Kubernetes      β”‚  β”‚  Test Generator  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        

Resource Allocation

Kubernetes resource requests og limits

Pod Resources

ComponentCPUMemory
ServedApi100m-1000m256Mi-2Gi
Workers100m-500m256Mi-1Gi
Redis100m-500m128Mi-512Mi
Kafka250m-1000m512Mi-2Gi
Debezium100m-500m256Mi-1Gi

Health Checks

Startup Probe18 retries, 10s interval

Initial warmup time

Readiness Probe3 retries, 10s interval

Traffic routing

Liveness Probe3 retries, 30s interval

Auto-restart on failure

Cluster Overview

2
Nodes
~8-15Gi
Total Memory
~4-8
CPU Cores
~56k
CDC Events/Day

Enterprise-Klar Infrastruktur

Served's infrastruktur er designet til skalerbarhed, pΓ₯lidelighed og sikkerhed. Kontakt os for at lΓ¦re mere om vores enterprise lΓΈsninger.