f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.9 KiB
6.9 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-platform-engineering | Platform Engineering | 10_Wiki/Topics | verified | self |
|
none | A | 0.95 | applied |
|
2026-05-10 | pending |
|
Platform Engineering
매 한 줄
"매 dev → prod 의 길을 product 처럼 디자인하는 분야". 매 2022 Team Topologies + Gartner Hype Cycle 의 trigger → 매 2026 모든 mid-large 조직의 default. 매 IDP (Internal Developer Platform) 가 product, application team 이 customer.
매 핵심
매 DevOps 와 차이
- DevOps = 매 culture / practice ("you build it, you run it").
- Platform Engineering = 매 그 cognitive load 를 줄이는 product approach.
- 매 DevOps 의 "everyone owns infra" → 매 burnout. PE 는 매 "platform team owns paved road".
매 4 component (Humanitec, CNCF Platform WG)
- Developer Control Plane: 매 portal (Backstage), CLI, API.
- Integration & Delivery: 매 CI/CD, GitOps (ArgoCD, Flux).
- Resource Plane: 매 K8s, cloud, DB, message queue.
- Security Plane: 매 secrets, policy (OPA), supply chain (SLSA, Sigstore).
매 Golden Path
- 매 80% case 의 paved road. 매 옆길 가능 but cost 명시.
- 매 service template (cookiecutter) + 매 infra module (Terraform) + 매 deploy pipeline + 매 observability default.
매 핵심 원칙
- Treat platform as product: 매 PM, roadmap, NPS, SLO.
- Self-service: 매 ticket → 매 button.
- Opinionated: 매 freedom of choice 의 cost > 매 standardization 가치.
- Thinnest viable platform (Pulumi 표현): 매 build 보다 reuse.
- Telemetry-driven: 매 DORA + DevEx (SPACE) measurement.
매 metric
- DORA: deploy freq, lead time, MTTR, change fail rate.
- DevEx (SPACE): Satisfaction, Performance, Activity, Communication, Efficiency.
- Platform: time-to-first-deploy, % services on golden path, ticket reduction.
💻 패턴
Backstage software template
# template.yaml
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: nodejs-service
title: 매 Node.js Service (Golden Path)
spec:
parameters:
- title: Basics
properties:
name: { type: string, pattern: "^[a-z][a-z0-9-]*$" }
owner: { type: string, ui:field: OwnerPicker }
steps:
- id: fetch
action: fetch:template
input:
url: ./skeleton
values: { name: "${{ parameters.name }}" }
- id: publish
action: publish:github
input:
repoUrl: github.com?owner=acme&repo=${{ parameters.name }}
defaultBranch: main
- id: register
action: catalog:register
input:
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
Score / workload spec (platform-agnostic)
# score.yaml — 매 dev 가 작성, 매 platform 이 K8s/ECS/Cloud Run으로 번역
apiVersion: score.dev/v1b1
metadata: { name: hello-svc }
containers:
api:
image: ghcr.io/acme/hello:1.2.3
variables:
DB_URL: ${resources.db.url}
resources:
db:
type: postgres
service:
ports:
web: { port: 80, targetPort: 3000 }
Crossplane composition (provisioning)
apiVersion: apiextensions.crossplane.io/v1
kind: Composition
metadata: { name: postgres-aws }
spec:
compositeTypeRef:
apiVersion: platform.acme/v1alpha1
kind: XPostgres
resources:
- base:
apiVersion: rds.aws.upbound.io/v1beta2
kind: Instance
spec:
forProvider:
engine: postgres
engineVersion: "16.3"
instanceClass: db.t4g.micro
allocatedStorage: 20
backupRetentionPeriod: 7
OPA / Gatekeeper policy
package k8sallowedrepos
violation[{"msg": msg}] {
c := input.review.object.spec.containers[_]
not startswith(c.image, "ghcr.io/acme/")
msg := sprintf("매 image '%v' 는 허용된 registry 아님", [c.image])
}
ArgoCD ApplicationSet (multi-env)
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata: { name: hello-svc }
spec:
generators:
- list:
elements:
- { env: dev, cluster: dev-cluster, replicas: "1" }
- { env: prod, cluster: prod-cluster, replicas: "5" }
template:
metadata: { name: "hello-svc-{{env}}" }
spec:
project: default
source:
repoURL: https://github.com/acme/hello
path: deploy
helm:
parameters:
- { name: replicas, value: "{{replicas}}" }
destination: { server: "{{cluster}}" }
syncPolicy: { automated: { prune: true, selfHeal: true } }
DORA metric collection
// 매 GitHub deploy event → DORA metric
github.on("deployment_status", async (e) => {
if (e.deployment_status.state !== "success") return;
const deployedAt = new Date(e.deployment_status.created_at);
const commitTime = await getCommitTime(e.deployment.sha);
const leadTimeSec = (+deployedAt - +commitTime) / 1000;
await metrics.write({
service: e.deployment.environment.split("-")[0],
deploy_freq_inc: 1,
lead_time_sec: leadTimeSec,
});
});
매 결정 기준
| 상황 | Approach |
|---|---|
| <50 engineers | Lightweight: shared Helm charts, GitOps, basic Backstage |
| 50-500 | Full IDP: Backstage + golden paths + Crossplane |
| 500+ | Multi-cluster, multi-region, FinOps integrated |
| Heterogeneous stack | Score / OAM 로 abstract |
| Highly regulated (gov/fin) | OPA policy + SLSA L3 + signed images |
기본값: 매 Backstage + GitOps (ArgoCD) + opinionated golden path + DORA.
🔗 Graph
- 부모: DevOps · SRE · Team Topologies
- 변형: Internal Developer Platform
- 응용: Backstage · Crossplane · ArgoCD
- Adjacent: GitOps · Service Catalog · Golden Path · DORA Metrics
🤖 LLM 활용
언제: 매 50+ engineer 조직, 매 multi-team friction, 매 cognitive load 증가, 매 onboarding 느림. 언제 X: 매 single team / startup pre-PMF — 매 platform overhead 의 prematurely.
❌ 안티패턴
- Platform team = ticket queue: 매 product mindset 의 X. → 매 self-service 못 함.
- Build everything: 매 OSS 안 쓰고 자체 — 매 cost 폭발.
- No customers: 매 application team 의 needs 무시.
- YAML hell: 매 abstraction 안 만들고 raw K8s manifest 강요.
- Tightly coupled stack: 매 Score/OAM 없이 → 매 cloud lock.
- Measure 부재: 매 NPS/DORA 없으면 매 ROI 증명 X.
🧪 검증 / 중복
- Verified (CNCF Platform WG whitepaper, Team Topologies, ThoughtWorks Tech Radar 2026, Humanitec State of Platform Engineering reports).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — IDP components + golden path patterns |