오늘의 기술 토픽

Internal Developer Platform (IDP)

이 글은 실제 밋업 발표가 아니라 Internal Developer Platform(IDP)을 주제로 정리한 기술 브리프다. IDP는 개발자가 인프라 세부사항을 몰라도 셀프서비스로 애플리케이션을 배포하고 운영할 수 있게 해주는 내부 플랫폼을 뜻한다. Backstage, Crossplane, Argo CD 같은 도구들이 IDP 구축의 핵심 구성요소로 자주 언급되며, 플랫폼 엔지니어링이라는 큰 흐름 속에서 조직의 개발 생산성과 표준화를 동시에 달성하려는 시도로 볼 수 있다.

🔑 핵심 요점

  • Internal Developer Platform(IDP)은 개발자가 인프라 복잡성을 신경 쓰지 않고 셀프서비스로 배포·운영할 수 있게 해주는 내부 플랫폼이다.
  • IDP는 플랫폼 엔지니어링 팀이 여러 인프라 도구를 하나의 사용자 경험으로 추상화한 결과물이다.
  • Backstage는 개발자 포털(카탈로그, 템플릿, 문서)을 만드는 대표적인 오픈소스 도구다.
  • Crossplane은 클라우드 리소스를 Kubernetes API 방식으로 선언적으로 관리할 수 있게 해준다.
  • Argo CD 같은 GitOps 도구는 IDP에서 배포 자동화와 일관성을 담당하는 핵심 축이다.
  • IDP를 도입할 때는 처음부터 완벽한 플랫폼을 만들기보다 작은 골든 패스부터 시작하는 것이 권장된다.

🛠 핵심 기술 쉽게 이해하기

Internal Developer Platform (IDP)

IDP는 조직 내부에서 개발자가 애플리케이션을 셀프서비스로 만들고 배포하고 운영할 수 있도록 여러 인프라 도구와 워크플로를 하나로 묶어 제공하는 플랫폼이다. 개발자는 복잡한 Kubernetes, 클라우드, CI/CD 설정을 직접 다루지 않고도 표준화된 인터페이스(포털, CLI, API 등)를 통해 필요한 리소스를 요청할 수 있다.

왜 필요한가 — 인프라가 복잡해질수록 개발자가 매번 인프라 지식을 습득해야 하는 부담이 커지는데, IDP는 이를 추상화해 개발 속도와 일관성을 동시에 높이기 위해 사용된다.

발표에서는 — 이 브리프의 중심 주제로, 아래 관련 기술들이 IDP를 구성하는 대표적인 요소로 소개된다.

Backstage

Backstage는 Spotify가 만들고 CNCF에 기증한 오픈소스 개발자 포털 프레임워크로, 서비스 카탈로그, 소프트웨어 템플릿, 기술 문서를 한곳에서 관리할 수 있게 해준다.

왜 필요한가 — 조직 내 흩어진 서비스와 문서를 한곳에 모아 개발자가 무엇이 있는지, 어떻게 새 서비스를 만드는지 쉽게 찾을 수 있게 하기 위해 쓰인다.

발표에서는 — IDP 구축 시 개발자 대면 프런트엔드 역할을 하는 대표 도구로 언급된다.

Crossplane

Crossplane은 Kubernetes API를 확장해 클라우드 인프라(데이터베이스, 스토리지, 네트워크 등)를 Kubernetes 리소스처럼 선언적으로 정의하고 관리할 수 있게 해주는 오픈소스 프로젝트다.

왜 필요한가 — 여러 클라우드 제공자의 리소스를 하나의 API로 통합 관리하고, 개발자에게 표준화된 셀프서비스 인터페이스를 제공하기 위해 사용된다.

발표에서는 — IDP의 인프라 프로비저닝 계층을 담당하는 핵심 구성요소로 다뤄진다.

Argo CD

Argo CD는 Kubernetes를 위한 GitOps 지속적 배포 도구로, Git 저장소에 정의된 상태를 클러스터에 자동으로 동기화한다.

왜 필요한가 — 배포 과정을 코드로 관리해 재현성과 감사 가능성을 높이고, 수동 배포로 인한 실수를 줄이기 위해 사용된다.

발표에서는 — IDP에서 배포 자동화 및 GitOps 흐름을 담당하는 도구로 언급된다.

🧭 추구 방향과 흐름

  • Platform as a Product — 플랫폼 팀이 인프라를 단순 제공이 아니라 내부 고객(개발자)을 위한 제품처럼 설계하고 운영하는 방향이다. IDP는 이러한 사고방식의 결과물로, 사용성과 개발자 경험(DX)을 중심에 둔다.
  • 셀프서비스와 골든 패스 — 개발자가 플랫폼 팀에 티켓을 넣지 않고도 표준화된 템플릿과 API를 통해 스스로 리소스를 만들고 배포할 수 있도록 하는 흐름이다. Backstage의 소프트웨어 템플릿과 Crossplane의 선언적 API가 이를 뒷받침한다.
  • GitOps 기반 운영 표준화 — Argo CD와 같은 GitOps 도구를 통해 인프라와 애플리케이션 상태를 Git으로 관리함으로써, IDP 전체의 변경 이력과 일관성을 확보하려는 방향이다.

🚀 바로 활용하기

  1. Backstage 공식 문서를 참고해 로컬 환경에 데모 포털을 띄워보고 소프트웨어 템플릿 기능을 사용해본다.
  2. Crossplane을 로컬 Kubernetes 클러스터(kind, minikube 등)에 설치하고 간단한 Provider로 클라우드 리소스 하나를 프로비저닝해본다.
  3. Argo CD를 설치해 Git 저장소의 매니페스트를 클러스터에 동기화하는 GitOps 흐름을 직접 경험해본다.
  4. cncf.io의 Platform Engineering 관련 자료를 읽고 자신의 조직에 맞는 IDP의 범위(카탈로그만? 배포까지?)를 먼저 정의해본다.

🔗 참고 자료

  • Backstage — IDP의 대표적인 개발자 포털 프레임워크 공식 사이트
  • Crossplane — Kubernetes 스타일로 클라우드 인프라를 관리하는 프로젝트 공식 문서
  • Argo CD — GitOps 기반 지속적 배포 도구 공식 문서
  • CNCF — Backstage 등 IDP 관련 프로젝트를 호스팅하는 클라우드 네이티브 재단
  • Kubernetes — IDP가 추상화하는 기반 인프라 플랫폼 공식 문서