Loading...
Loading...
Design optimal cloud architecture based on your platform engineering requirements. Use when planning new services, migrations, or infrastructure changes that must align with organizational standards.
npx skill4agent add kachawla/radius-skills cloud-architecturePlatform-Engineering-Constitution.mdPlatform-Engineering-Constitution.md┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Ingress │────▶│ Frontend │────▶│ Backend │
│ (Gateway) │ │ (Node.js) │ │ (Go) │
└─────────────┘ └─────────────┘ └──────┬──────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
┌──────────┐ ┌───────┐ ┌────────┐
│PostgreSQL│ │ Redis │ │ Blob │
│ (RDS/ │ │(Elast-│ │Storage │
│ Azure) │ │iCache)│ │ │
└──────────┘ └───────┘ └────────┘# ADR-NNN: <Title>
## Status
Proposed | Accepted | Superseded
## Context
What is the problem or requirement?
## Decision
What architecture was chosen and why?
## Consequences
What are the trade-offs? What are we giving up?
## Alternatives Considered
What other approaches were evaluated?
## Constitution Alignment
How does this align with the platform engineering constitution?
- Providers: ✅ Uses approved provider(s)
- Regions: ✅ Deploys to approved region(s)
- Compute: ✅ Uses approved compute platform
- IaC: ✅ Uses approved tooling
- Naming: ✅ Follows naming convention
- Tags: ✅ Includes required tags| Need | Radius Resource Type | Azure Implementation | AWS Implementation |
|---|---|---|---|
| SQL Database | | Azure Database for PostgreSQL | Amazon RDS for PostgreSQL |
| MySQL Database | | Azure Database for MySQL | Amazon RDS for MySQL |
| Object Storage | | Azure Storage Account Blob service | Amazon S3-compatible recipe or custom implementation |
| Secrets | | Key Vault-backed or Kubernetes Secret recipe | Secrets Manager-backed or Kubernetes Secret recipe |
| Containers | | AKS pods | EKS pods |
| Persistent Volume | | Azure Disk or Azure Files-backed PVC | EBS or EFS-backed PVC |
| Ingress | | Azure App Gateway | AWS ALB |
| AI Agent Runtime | | Azure OpenAI + AI Search + Kubernetes runtime | Custom recipe required |
Radius.Data/redisCachesinfrastructure/
├── environments/
│ ├── dev/
│ │ ├── main.tf # Environment-specific config
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── terraform.tfvars
│ ├── staging/
│ └── production/
├── modules/
│ └── <service>/ # Custom modules for the app
├── backend.tf # Remote state config
└── providers.tf # Provider versions<org>-<env>-<region>-<service>-<resource-type>app.bicepapp.bicepdevstagingproduction// Same app.bicep works in all environments
resource db 'Radius.Data/postgreSqlDatabases@2025-08-01-preview' = {
name: 'database'
properties: {
environment: environment // Environment determines which recipe runs
application: application
size: 'M'
}
}