| name | platform-engineering |
| description | Internal platform development and management |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"platform-engineer, devops-engineer","category":"devops"} |
What I do
- Build internal developer platforms
- Create self-service infrastructure
- Implement golden paths for developers
- Design platform APIs and interfaces
- Build internal tooling and automation
- Measure platform effectiveness
When to use me
- When improving developer experience
- When standardizing deployments
- When building self-service capabilities
- When reducing cognitive load on developers
- When implementing platform engineering
- When creating internal developer portals
Key Concepts
Internal Developer Platform
┌─────────────────────────────────────────────────────────┐
│ Internal Developer Portal │
│ (Backstage, Port, Cortex) │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌───▼────┐ ┌────▼────┐ ┌────▼────┐
│ CI/CD │ │Runtime │ │ Data │
│ Platform│ │ Platform│ │ Platform│
└────┬───┘ └────┬────┘ └────┬────┘
│ │ │
│ ┌───────────┼───────────┐ │
└──────► Infrastructure ◄──────┘
Backstage Catalog
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: my-service
description: User management service
tags:
- java
- spring-boot
- postgres
links:
- url: https://github.com/company/my-service
title: GitHub
- url: https://my-service.dev.company.com
title: Dashboard
spec:
type: service
lifecycle: production
owner: team-backend
providesApis:
- user-api
---
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
name: user-api
description: User management API
spec:
type: openapi
lifecycle:
Golden Path Template
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: service-template
title: New Microservice
description: Create a new microservice
spec:
owner: platform-team
type: service
parameters:
- title: Service Details
required:
- service_name
- description
properties:
service_name:
title: Service Name
type: string
description:
title: Description
type: string
owner:
title: Owner Team
type: string
default: team-backend
steps:
- id: fetch-template
Platform API Design
export interface PlatformService {
deploy(service: ServiceConfig): Promise<Deployment>;
rollback(serviceName: string, version: string): Promise<void>;
getStatus(serviceName: string): Promise<ServiceStatus>;
provisionDatabase(config: DatabaseConfig): Promise<Database>;
provisionCache(config: CacheConfig): Promise<Cache>;
getMetrics(serviceName: string, timeRange: TimeRange): Promise<Metrics>;
getLogs(serviceName: string, query: LogQuery): Promise<Logs>;
}
const platform = new ({
: process..
});
platform.({
: ,
: ,
: ,
: { : }
});
Self-Service Workflows
- Service Creation: Developer creates service from template
- Infrastructure Provisioning: Platform provisions DB, cache, etc.
- CI/CD Setup: Pipeline automatically configured
- Monitoring: Dashboards and alerts auto-created
- Documentation: Catalog entry created
- Access Control: Team permissions configured
Platform Metrics
| Metric | Description | Target |
|---|
| Deployment Frequency | How often code is deployed | Daily+ |
| Lead Time | Time from commit to production | < 1 day |
| MTTR | Mean time to recovery | < 1 hour |
| Self-Service Rate | % of actions done by developers | > 80% |
| Platform Uptime | Platform availability | 99.9% |
| Developer Satisfaction | NPS score | > 50 |
Golden Paths
- Build: Standardized project templates
- Deploy: Single command deployment
- Configure: Declarative configuration
- Monitor: Built-in observability
- Secure: Integrated security scanning
- Test: Standardized test patterns