cloud-infrastructure
AWS/GCP cloud infrastructure: Well-Architected, security, cost, observability. Use when working with Terraform outputs, IAM policies, VPC design, load balancers, or cloud architecture decisions. For HCL/module/state mechanics use the terraform skill; this one owns the architecture decisions.
Works with
---
name: cloud-infrastructure
description: AWS/GCP cloud infrastructure: Well-Architected, security, cost, observability. Use when working with Terraform outputs, IAM policies, VPC design, load balancers, or cloud architecture decisions. For HCL/module/state mechanics use the terraform skill; this one owns the architecture decisions.
license: MIT
---
# ABOUTME: AWS/GCP cloud infrastructure patterns and best practices
# ABOUTME: Well-Architected, security, cost optimization, observability
# Cloud Infrastructure (AWS & GCP)
## Quick Reference
```bash
# AWS
aws sts get-caller-identity
aws --profile staging ecs list-services
# GCP
gcloud auth list
gcloud config set project PROJECT_ID
# Security scanning
trivy config . && checkov -d .
```
**See:** `terraform/SKILL.md` | `_PATTERNS.md`
---
## AWS Well-Architected (6 Pillars)
| Pillar | Key Practices |
|--------|---------------|
| **Operational Excellence** | IaC, runbooks, observability, chaos engineering |
| **Security** | Least privilege IAM, GuardDuty/Security Hub, KMS encryption, SCPs |
| **Reliability** | Multi-AZ, auto-scaling, RTO/RPO backups |
| **Performance** | Right-size, caching, serverless, read replicas |
| **Cost** | Reserved/Savings Plans, Spot, tagging |
| **Sustainability** | Optimize utilization, Graviton |
---
## AWS ECS vs EKS
| Factor | ECS | EKS |
|--------|-----|-----|
| Complexity | Lower | Higher (K8s) |
| Multi-cloud | No | Yes |
| Cost | Free control plane | $0.10/hr/cluster |
### ECS Task Definition
```hcl
resource "aws_ecs_task_definition" "app" {
family = "app"
requires_compatibilities = ["FARGATE"]
network_mode = "awsvpc"
cpu = 256
memory = 512
container_definitions = jsonencode([{
name = "app"
image = "${var.ecr_repo}:${var.image_tag}"
healthCheck = { command = ["CMD-SHELL", "curl -f http://localhost/health || exit 1"] }
}])
}
```
---
## GCP Cloud Run
```yaml
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/minScale: "1"
autoscaling.knative.dev/maxScale: "100"
spec:
containerConcurrency: 80
containers:
- image: gcr.io/project/image
resources: { limits: { cpu: "1", memory: "512Mi" } }
```
### OS-Only Runtime (No Dockerfile)
Deploy pre-compiled binaries without Dockerfile or language-specific runtime. Uses `google-24` stack with **automatic OS security patching**.
```bash
# Cross-compile (Go example, any compiled lang works)
GOOS=linux GOARCH=amd64 go build -o main ./cmd/app
# Deploy binary directly
gcloud beta run deploy SERVICE \
--source . --no-build \
--base-image=osonly24 \
--project PROJECT_ID \
--command ./main
```
**When to use:** Compiled binaries (Go, Dart, Rust), custom images built from scratch, or when you want auto-patching without maintaining a Dockerfile. Requires `google-24` stack.
---
## Cost Optimization
| Tool | Use |
|------|-----|
| Cost Explorer / Compute Optimizer | AWS analysis |
| Infracost | IaC cost in PRs |
| GCP FinOps Hub | Gemini recommendations |
**Compute:** Reserved (72% savings), Spot (90%), Graviton, auto-scaling
**Storage:** S3 Intelligent Tiering, lifecycle policies
**Networking:** VPC endpoints (avoid NAT costs)
---
## Observability (OpenTelemetry)
**Why OTEL:** Vendor-agnostic, unified traces/metrics/logs
```yaml
receivers:
otlp: { protocols: { grpc: { endpoint: 0.0.0.0:4317 } } }
processors:
batch: { timeout: 1s }
exporters:
awsxray: { region: us-east-1 }
service:
pipelines:
traces: { receivers: [otlp], processors: [batch], exporters: [awsxray] }
```
---
## Networking
### AWS VPC Design
```
VPC (10.0.0.0/16)
├── Public → ALB, NAT
├── Private → ECS/EKS, Lambda
└── Isolated → RDS (no internet)
```
### VPC Endpoints
```hcl
resource "aws_vpc_endpoint" "s3" {
vpc_id = aws_vpc.main.id
service_name = "com.amazonaws.${var.region}.s3"
}
```
---
## Code Review Checklist
| Category | Checks |
|----------|--------|
| **Security** | No hardcoded secrets, least privilege IAM, KMS encryption, logging enabled |
| **Cost** | Tagged resources, right-sized, auto-scaling |
| **Reliability** | Multi-AZ, health checks, backups |
---
## Resources
**AWS:** [Well-Architected](https://aws.amazon.com/architecture/well-architected/) | [Security Best Practices](https://aws.github.io/aws-security-services-best-practices/)
**GCP:** [Architecture Framework](https://cloud.google.com/architecture/framework)
**Tools:** [Checkov](https://www.checkov.io/) | [Infracost](https://www.infracost.io/) | [OpenTelemetry](https://opentelemetry.io/)More DevOps & Infrastructure skills
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
appinsights-instrumentation
microsoft/azure-skills
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
azure-storage
microsoft/azure-skills
Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake. Answers questions about storage access tiers (hot, cool, cold, archive), when to use each tier, and tier comparison. Provides object storage, SMB file shares, async messaging, NoSQL key-value, and big data analytics. Includes lifecycle management. USE FOR: blob storage, file shares, queue storage, table storage, data lake, upload files, download blobs, storage accounts, access tiers, storage tiers, hot cool cold archive, storage tier comparison, when to use storage tiers, lifecycle management, Azure Storage concepts. DO NOT USE FOR: SQL databases, Cosmos DB (use azure-prepare), messaging with Event Hubs or Service Bus (use azure-messaging).

