Skip to main content

Architecture Reference

Cloud Services

ServiceUsage
Elastic Kubernetes Service (EKS)SGP applications are deployed to this cluster
Identity and Access Management (IAM)Role and policy management for SGP applications access to cloud services
Secrets ManagerSecret and configuration management for SGP applications
Key Management Service (KMS)Encryption of sensitive data at rest
Simple Storage Service (S3)Object storage for SGP applications (knowledge bases, models, etc.)
Simple Queue Service (SQS)Karpenter spot instance interruption queue
OpenSearchSearch provider for SGP applications
Elastic Container Registry (ECR)Container registry for custom agent images
Aurora PostgreSQLRelational databases for SGP applications
DocumentDBDocument-oriented database for SGP applications
ElastiCache for RedisIn-memory caching for SGP applications
CloudWatchLogging for cloud services

Networking

SGP is deployed into a VPC spanning three Availability Zones with separate public and private subnets. All application workloads run in private subnets. Outbound internet access is provided by a NAT Gateway.

Ingress

PropertyDefault
Load balancer typeApplication Load Balancer (ALB)
Listener port443 (TLS)
PlacementExternal (internet-facing)
WAFv2Optional — associate an existing Web ACL by name
VPC Endpoint ServiceOptional — enables AWS PrivateLink for private connectivity
The load balancer can be configured as internal (private subnet only) for deployments that require no direct internet exposure.

Service Mesh

Istio is deployed as a cluster add-on and manages all east-west traffic between SGP services. An internal Istio ingress gateway handles traffic routing within the cluster.

EKS Cluster Default Configuration

Node Groups

Node GroupSizeLimitsMachine TypeMachine ImageTaints
System1m6a.2xlargeEKS Default AMICriticalAddonsOnly=true:NoSchedule
DefaultKarpenter Managed Node Group1000 CPUc*, m*Karpenter Bottlerocket AMI Family
High StorageKarpenter Managed Node Group100 CPUc*, m*, r*Karpenter Bottlerocket AMI Family
GPUKarpenter Managed Node Group385 CPUg5.*Karpenter Bottlerocket AMI Familynvidia.com/gpu:NoSchedule
GPU (Large)Karpenter Managed Node Group100 CPUp4d.*Karpenter Bottlerocket AMI Familynvidia.com/gpu:NoSchedule

Cluster Add-ons

Add-onPurpose
KarpenterWorkload-driven node autoscaling for Karpenter-managed node groups
Cluster AutoscalerScaling for the system node group
IstioService mesh for east-west traffic management
cert-managerTLS certificate provisioning and renewal
AWS Load Balancer ControllerKubernetes-native ALB and NLB provisioning
external-dnsAutomatic Route 53 DNS record management
AWS Node Termination HandlerGraceful pod drain on spot interruption or node termination
NVIDIA GPU OperatorGPU driver and device plugin lifecycle management
AWS EBS CSI DriverPersistent volume support for EKS workloads

Aurora PostgreSQL Default Configuration

InstanceServiceInstance CountEngineInstance Class
agents-service-<workspace_id>Agents2PostgreSQL16db.r6g.xlarge
duc-<workspace_id>-duc-api-aurora-dbDocument Understanding Capability3PostgreSQL15db.r6g.large
reducto-<workspace_id>-aurora-dbReducto3PostgreSQL15db.r6g.large
sae-<workspace_id>-sae-postgresSemantic Analysis Engine1PostgreSQL17db.r6g.large
scale-egp-<workspace_id>-agentex-aurora-dbAgentex3PostgreSQL15db.r6g.large
scale-egp-<workspace_id>-egp-api-aurora-dbEGP API3PostgreSQL15db.r6g.large
scale-egp-<workspace_id>-identity-service-aurora-dbIdentity Service3PostgreSQL15db.r6g.large
scale-egp-<workspace_id>-llm-engine-aurora-dbLLM Engine2PostgreSQL14db.r6g.large
scale-egp-<workspace_id>-spicedb-postgresSpiceDB3PostgreSQL16db.r6g.large
scale-egp-<workspace_id>-temporal-aurora-dbTemporal3PostgreSQL15db.r6g.large
scale-egp-<workspace_id>-train-aurora-dbSGP Train3PostgreSQL15db.t3.medium

DocumentDB Default Configuration

InstanceServiceInstance CountInstance Class
scale-egp-<workspace_id>-compass-docdbCompass1db.t3.medium
<workspace_id>-agentex-mongoAgentex1db.r5.large

Customer Sensitive Data

Sensitive data may be stored in the following services, all data is encrypted at rest and in transit:
  • Aurora PostgreSQL: For storing metadata, persistent data, and service-specific databases (SGP API Backend, Identity Service, LLM Engine, SpiceDB, Agents Service, SGP Train, and Temporal)
  • DocumentDB: For storing Agentex agent data/workflows and Compass document processing state
  • S3 Buckets: For storing large data objects and datasets
  • OpenSearch: For managing text embeddings and vector search capabilities