오늘의 기술 토픽

Platform Engineering

이번 브리프는 최근 클라우드 네이티브 생태계에서 핵심 화두로 떠오른 Platform Engineering을 중심으로 정리한 내용이다. 개발자가 인프라 세부사항을 몰라도 셀프서비스로 필요한 리소스를 프로비저닝할 수 있게 만드는 것이 핵심 목표이며, 이를 위해 Internal Developer Platform(IDP), GitOps, Kubernetes 기반 추상화 도구들이 함께 언급된다. 실제 밋업 발표는 없었으나, 관련 기술들을 초심자 관점에서 소개하고 학습 방향을 제시한다.

🔑 핵심 요점

  • Platform Engineering은 개발자 생산성을 높이기 위해 인프라를 ‘제품’처럼 설계하고 운영하는 접근 방식이다.
  • 핵심 목표는 개발자가 티켓을 넣지 않고도 셀프서비스로 환경과 리소스를 얻을 수 있게 하는 것이다.
  • Backstage 같은 IDP 툴은 서비스 카탈로그와 셀프서비스 포털 역할을 한다.
  • Kubernetes는 플랫폼 엔지니어링의 사실상 표준 실행 기반으로 자리잡았다.
  • Crossplane 같은 도구는 클라우드 리소스를 Kubernetes API로 추상화해 셀프서비스 프로비저닝을 가능하게 한다.
  • GitOps는 플랫폼 변경 사항을 코드로 관리하고 자동 배포하는 표준 운영 방식으로 자리잡고 있다.

🛠 핵심 기술 쉽게 이해하기

Platform Engineering

Platform Engineering은 조직 내부의 개발자들이 애플리케이션을 더 빠르고 안전하게 배포할 수 있도록 인프라와 툴체인을 ‘내부 제품’처럼 설계하고 운영하는 분야다. 단순히 인프라를 관리하는 것을 넘어, 개발자 경험(Developer Experience)을 최우선으로 고려한다.

왜 필요한가 — 개발팀마다 인프라 설정을 반복해서 다시 만들거나 인프라팀에 매번 요청해야 하는 비효율을 줄이기 위해 등장했다.

발표에서는 — 이번 브리프의 중심 주제로, 셀프서비스 인프라와 개발자 생산성 향상이라는 맥락에서 소개된다.

Backstage

Backstage는 Spotify가 오픈소스로 공개한 Internal Developer Portal(IDP) 프레임워크로, 조직 내 모든 서비스와 API, 문서를 하나의 카탈로그로 통합해 보여준다. 개발자는 이 포털을 통해 새 프로젝트를 생성하거나 필요한 리소스를 셀프서비스로 요청할 수 있다.

왜 필요한가 — 여러 팀에 흩어진 서비스와 문서, 도구를 한곳에서 검색하고 관리할 수 있게 해 개발자의 인지 부하를 줄인다.

발표에서는 — Platform Engineering을 실현하는 대표적인 IDP 도구로 함께 언급된다.

Kubernetes

Kubernetes는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 운영할 수 있게 해주는 오픈소스 오케스트레이션 플랫폼이다. 대부분의 플랫폼 엔지니어링 도구가 Kubernetes API를 기반으로 확장 기능을 구현한다.

왜 필요한가 — 여러 환경에 걸쳐 일관된 방식으로 애플리케이션과 인프라를 관리할 수 있는 표준 실행 계층을 제공하기 때문이다.

발표에서는 — 플랫폼 엔지니어링 스택이 얹히는 기반 인프라 레이어로 소개된다.

Crossplane

Crossplane은 Kubernetes API를 확장해 클라우드 프로바이더(AWS, GCP, Azure 등)의 리소스를 Kubernetes 리소스처럼 선언적으로 관리할 수 있게 해주는 오픈소스 프로젝트다. 개발자는 YAML 매니페스트 하나로 데이터베이스나 네트워크 같은 클라우드 인프라를 요청할 수 있다.

왜 필요한가 — 클라우드 리소스 프로비저닝을 Kubernetes 워크플로우 안으로 통합해 셀프서비스 인프라를 가능하게 하기 위함이다.

발표에서는 — Platform Engineering에서 셀프서비스 프로비저닝을 구현하는 핵심 기술로 함께 다뤄진다.

🧭 추구 방향과 흐름

  • 플랫폼을 제품처럼(Platform as a Product) — 플랫폼팀이 인프라를 단순 운영 대상이 아니라 내부 고객(개발자)을 위한 제품으로 취급하는 흐름이다. Backstage 같은 포털 도구와 명확한 골든 패스(golden path) 제공이 이 방향의 핵심 실천 방법으로 언급된다.
  • 셀프서비스 인프라 확산 — 개발자가 티켓 기반 요청 없이도 필요한 리소스를 스스로 프로비저닝하는 방향으로 나아가고 있다. Crossplane과 같은 Kubernetes 기반 추상화 도구가 이를 기술적으로 뒷받침한다.
  • GitOps 기반 운영 표준화 — 플랫폼 구성 변경을 코드로 관리하고 Git을 단일 진실 공급원(source of truth)으로 삼아 자동 배포하는 방식이 점점 표준으로 자리잡고 있다.

🚀 바로 활용하기

  1. platformengineering.org에서 Platform Engineering의 기본 개념과 성숙도 모델을 읽어본다.
  2. 로컬 Kubernetes 클러스터(minikube, kind 등)에 Backstage를 설치해 서비스 카탈로그를 만들어본다.
  3. Crossplane 공식 문서의 Getting Started 가이드를 따라 간단한 클라우드 리소스를 선언적으로 프로비저닝해본다.
  4. CNCF의 Platforms Working Group 자료를 통해 커뮤니티가 정의하는 플랫폼 엔지니어링 용어와 사례를 살펴본다.

🔗 참고 자료