정보처리기사 기출 핵심 [55] 플랫폼 엔지니어링과 IDP 구축 완전 정복

플랫폼 엔지니어링이란?

플랫폼 엔지니어링은 개발팀에게 셀프 서비스 인프라와 도구를 제공하는 규율입니다. 내부 개발자 플랫폼(IDP)을 통해 인지 부하를 줄이고 개발 속도를 높입니다. 정보처리기사에서 최신 DevOps 트렌드로 출제됩니다.

플랫폼 엔지니어링 핵심 개념

Internal Developer Platform(IDP)

  • 정의: 개발자가 인프라를 셀프 서비스로 프로비저닝·배포·관리할 수 있는 내부 플랫폼
  • 목표: 인지 부하(Cognitive Load) 감소. 표준화된 워크플로우. 골든 패스(Golden Path) 제공
  • 구성 요소: 서비스 카탈로그·CI/CD 파이프라인·관찰 가능성·비밀 관리·환경 프로비저닝

골든 패스(Golden Path)

  • 개념: 새 서비스 시작부터 프로덕션 배포까지 검증된 권장 경로
  • Backstage(Spotify): 서비스 카탈로그·Tech Radar·TechDocs. CNCF 인큐베이팅 프로젝트
  • Software Template: Backstage의 프로젝트 스캐폴딩. 보일러플레이트 자동 생성
  • 구성 요소: Scaffolder·Catalog·TechDocs·Plugins 4가지 핵심 모듈

플랫폼 구성 기술

GitOps

  • 원칙: Git을 단일 진실의 원천(Single Source of Truth). 선언적 인프라. 자동 동기화
  • ArgoCD: K8s 선언적 GitOps. App of Apps 패턴. Sync Policy(자동·수동)
  • Flux: GitOps Toolkit. Image Automation. Helm·Kustomize 통합
  • Pull vs Push: GitOps는 Pull 방식. 클러스터 내 에이전트가 Git 변경 감지·적용

Infrastructure as Code

  • Terraform: 멀티클라우드 IaC. HCL 언어. 상태 파일(terraform.tfstate) 중앙 관리
  • Pulumi: 범용 언어(TypeScript·Python·Go)로 IaC. Terraform 프로바이더 호환
  • Crossplane: K8s 기반 IaC. CRD로 클라우드 리소스 관리. Composition으로 추상화
  • CDK(Cloud Development Kit): 고수준 언어로 CloudFormation 생성. AWS CDK·CDK for TF

Policy as Code

  • OPA(Open Policy Agent): 범용 정책 엔진. Rego 언어. K8s 어드미션 컨트롤·API 게이트웨이·Terraform 정책
  • Kyverno: K8s 네이티브 정책 엔진. YAML 기반. 유효성 검사·변환·생성·정리
  • Gatekeeper: OPA의 K8s 어드미션 컨트롤러. ConstraintTemplate·Constraint CRD

DORA 메트릭

  • 배포 빈도(Deployment Frequency): 얼마나 자주 프로덕션 배포하는가. Elite: 주문형(multiple/day)
  • 리드 타임(Lead Time for Changes): 커밋부터 프로덕션까지 걸리는 시간. Elite: 1시간 미만
  • 변경 실패율(Change Failure Rate): 배포로 인한 장애 비율. Elite: 0-15%
  • 복구 시간(Time to Restore): 장애 발생부터 복구까지. Elite: 1시간 미만

시험 핵심 포인트

  • IDP: 개발자 셀프 서비스 플랫폼. 인지 부하 감소. Backstage가 대표 구현체
  • GitOps: Git이 인프라 상태의 단일 진실. Pull 방식으로 클러스터 자동 동기화
  • DORA 메트릭: DevOps 성과 4가지 지표. 배포빈도·리드타임·변경실패율·복구시간
  • Crossplane: K8s CRD로 클라우드 리소스 관리. Control Plane 패턴

마무리

플랫폼 엔지니어링은 단순한 도구 선택이 아닌 제품 사고방식으로 내부 플랫폼을 구축하는 조직적 역량입니다. 개발자 경험(Developer Experience)을 최우선으로 설계해야 합니다.

Leave a Comment