Skip to content

Under the hood

This is what is used under under the hood of InfraWeave, it is only using 5 core services.

Services

AWSAzureGCPFunctionality
DynamoDBAzure Cosmos DBTBDVarious Tables (deployments, modules,…),
Terraform state locks
S3Storage Account BlobTBDFile storage,
Terraform state
ECS (Fargate)Azure Container InstancesTBDRun environment
CloudwatchAzure Log AnalyticsTBDLog messages
LambdaAzure FunctionsTBDReconciler,
API

Considerations

  • Cost should be low and only scale with usage; no start-fees
  • Reduce complexity
  • The runner should have VM-level isolation

Partitioning Strategies

AWS DynamoDB:

DynamoDB partitions data based on a partition key designed to evenly distribute workloads. To ensure a balanced data and request distribution across partitioning, InfraWeave uses a high-cardinality partition key which typically consists of deployment-id combined with environment. This optimizes performance and avoids bottlenecks such as “hot partitions”.

Azure Cosmos DB:

Cosmos DB instead partitions data using a logical partition key, grouping related items logically into fewer, larger partitions. Here InfraWeave partitions by subscription id.