multi-cloud
Multi-cloud architecture and management
Source facts
- Repository
- ffsshhttiikk/opencode-agents-skills
- Last source activity
- February 28, 2026 at 22:52
- Detected SKILL.md language
- English
- Stars
- 3
- Forks
- 2
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
Showing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- multi-cloud
- description
- Multi-cloud architecture and management
- license
- MIT
- compatibility
- opencode
- metadata
- {"audience":"architect, devops-engineer","category":"devops"}
## What I do
- Design multi-cloud architectures
- Manage resources across multiple cloud providers
- Implement cloud-agnostic abstractions
- Configure cross-cloud networking
- Build disaster recovery across clouds
- Optimize costs across providers
## When to use me
- When avoiding vendor lock-in
- When meeting regulatory requirements
- When building global applications
- When implementing disaster recovery
- When leveraging best-of-breed services
- When optimizing costs across providers
## Key Concepts
### Multi-Cloud Architecture
```
┌──────────────────┐
│ Internet │
└────────┬─────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│ AWS │ │ Azure │ │ GCP │
│ (Primary) │ │(Secondary)│ │ (Backup) │
└──────┬──────┘ └─────┬─────┘ └──────┬──────┘
│ │ │
└──────────────┼──────────────┘
│
┌────────▼─────────┐
│ Cross-Cloud │
│ Load Balancer │
└──────────────────┘
```
### Cross-Cloud Networking
```hcl
# AWS to GCP via Cloud Interconnect
resource "aws_dx_connection" "aws_to_gcp" {
name = "aws-gcp-interconnect"
bandwidth = "1Gbps"
location = "EqDC2"
provider = aws.aws_primary
}
# Azure to AWS via VPN
resource "azurerm_virtual_network_gateway" "azure_to_aws" {
name = "azure-vpn-gateway"
location = "eastus"
resource_group_name = "rg-main"
type = "Vpn"
vpn_type = "RouteBased"
ip_configuration {
public_ip_address_id = azurerm_public_ip.vpn.id
subnet_id = azurerm_subnet.gateway.id
}
}
```
### Kubernetes Multi-Cloud
```yaml
# Federation V2
apiVersion: core.kubefed.io/v1beta1
kind: KubeFedConfig
metadata:
name: kubefed
spec:
scope: Namespaced
featureGates:
- name: PushReconciler
configuration: Enabled
- name: SchedulerPreferences
configuration: Enabled
---
# Federated Deployment
apiVersion: types.kubefed.io/v1beta1
kind: FederatedDeployment
metadata:
name: myapp
spec:
template:
spec:
replicas: 3
selector:
matchLabels:
app: myapp
placement:
clusters:
- name: aws-cluster
- name: azure-cluster
```
### Cloud-Agnostic Tools
| Category | Tools |
|----------|-------|
| IaC | Terraform, Pulumi |
| Containers | Kubernetes, Docker |
| Orchestration | Nomad, Kubernetes |
| Monitoring | Prometheus, Grafana |
| Service Mesh | Istio, Linkerd |
| Serverless | Knative, OpenFaaS |
### Cross-Cloud Identity
```yaml
# AWS IAM Roles Anywhere
- role:
arn: arn:aws:iam::123456789012:role/CrossCloudRole
credential_source:
environment:
name: AWS_ACCESS_KEY_ID
# Azure AD with AWS
resource "azuread_application" "multi_cloud" {
display_name = "MultiCloudApp"
}
resource "azuread_service_principal" "multi_cloud" {
application_id = azuread_application.multi_cloud.application_id
}
```
### Disaster Recovery Strategy
```
RTO (Recovery Time Objective): 1 hour
RPO (Recovery Point Objective): 15 minutes
Active-Passive:
Primary: AWS (eu-west-1)
Secondary: Azure (eastus)
Replication: Async database replication
Failover: DNS switch
Active-Active:
Primary: AWS (us-east-1)
Secondary: GCP (us-central1)
Sync: Multi-region database
Traffic: Weighted DNS
```
### Cost Optimization
```python
# Multi-cloud cost analysis
class CloudCostAnalyzer:
def __init__(self):
self.aws_client = boto3.client('ce')
self.azure_client = azure.mgmt.costmanagement.QueryClient()
def get_total_cost(self):
aws_costs = self.aws_client.get_cost_and_usage(
TimePeriod={'Start': '2024-01-01', 'End': '2024-01-31'},
Granularity='MONTHLY',
Metrics=['UnblendedCost']
)
azure_costs = self.azure_client.query(
scope=f"/subscriptions/{self.azure_sub_id}",
parameters={
'type': 'ActualCost',
'timeframe': 'MonthToDate',
}
)
return self.aggregate_costs(aws_costs, azure_costs)
```
### Best Practices
- Use abstraction layers for portability
- Implement observability across all clouds
- Standardize on common tooling
- Plan for network latency between clouds
- Implement consistent security policies
- Document cloud-specific configurations
View on GitHub