티스토리 뷰
요약
DevOps가 개발과 운영의 협업 문화를 강조했다면, Platform Engineering은 그 협업 방식을 조직 안에서 반복 가능하게 만드는 접근이다. 개발자가 매번 인프라, 배포 파이프라인, 권한, 모니터링, 보안 정책을 새로 조립하지 않도록 내부 개발자 플랫폼을 제공하는 것이 핵심이다.
최근 클라우드 네이티브 환경에서는 Kubernetes, IaC, CI/CD, 보안 정책, 관측성 도구가 함께 얽히면서 한 팀이 모든 운영 지식을 깊게 이해하기 어려워졌다. 그래서 많은 조직이 DevOps의 원칙을 유지하되, 공통 경로와 셀프서비스 경험을 플랫폼으로 제공하는 방향을 고민하고 있다.
이 글을 읽으면 좋은 사람
이 글은 DevOps, SRE, 클라우드 운영, Kubernetes, IaC 업무를 하면서 “개발팀마다 배포 방식이 다르고 운영 요청이 계속 쌓이는 문제”를 경험한 실무자를 위한 글이다. 플랫폼 엔지니어링이 왜 등장했는지, 기존 DevOps와 무엇이 다른지, AWS나 Azure 환경에서는 어떤 관점으로 봐야 하는지 정리한다.
왜 지금 Platform Engineering인가
DevOps의 기본 메시지는 단순했다. 개발팀과 운영팀이 벽을 낮추고, 자동화와 피드백 루프를 통해 더 자주, 더 안정적으로 배포하자는 것이다. 이 방향은 여전히 유효하다. 문제는 클라우드 네이티브 환경이 커질수록 개발팀이 알아야 할 것이 지나치게 많아졌다는 점이다.
예를 들어 하나의 신규 서비스를 운영 환경에 올리려면 다음 요소가 함께 필요하다.
- 애플리케이션 템플릿과 저장소 구조
- CI/CD 파이프라인
- 컨테이너 이미지 빌드와 취약점 스캔
- Kubernetes 배포 매니페스트 또는 Helm Chart
- AWS IAM Role, Azure Managed Identity 같은 권한 모델
- 네트워크, Ingress, 인증서, DNS
- 로그, 메트릭, 트레이스, 알림
- 비용 태그, 리소스 제한, 보안 정책
- 운영 Runbook과 장애 대응 기준
DevOps 초기에 이 문제는 “개발팀도 운영을 이해해야 한다”는 방향으로 풀렸다. 하지만 팀과 서비스가 늘어나면 모든 개발자가 클라우드 계정 구조, Kubernetes 운영, 보안 정책, 관측성 도구, 배포 전략을 동일한 수준으로 이해하기 어렵다. 그 결과 조직마다 비슷한 문제가 반복된다.
- 서비스마다 배포 구조가 다르다.
- 운영팀은 반복 요청을 처리하느라 병목이 된다.
- 개발팀은 인프라 요청을 기다리느라 배포 속도가 느려진다.
- 보안팀은 사후 점검에서 같은 문제를 계속 발견한다.
- 장애가 나면 서비스 소유자, 배포 방식, 대시보드 위치를 찾는 데 시간이 걸린다.
Platform Engineering은 이 지점에서 나온다. DevOps를 버리는 것이 아니라, DevOps에서 반복적으로 필요한 운영 지식을 내부 플랫폼에 녹여 개발팀이 안전한 기본 경로를 쉽게 사용할 수 있게 만드는 것이다.
핵심 개념: 내부 개발자 플랫폼과 Golden Path
Platform Engineering에서 자주 등장하는 용어가 내부 개발자 플랫폼, 즉 IDP이다. IDP는 개발자가 서비스를 만들고, 배포하고, 운영하는 데 필요한 공통 기능을 한곳에서 사용할 수 있게 만든 내부 제품이다.
여기서 중요한 표현은 “제품”이다. 단순히 스크립트 몇 개, Terraform 모듈 몇 개, Jenkins Job 몇 개를 모아 둔 것이 플랫폼은 아니다. 개발자가 실제로 쓰기 편해야 하고, 조직의 보안과 운영 기준을 자연스럽게 따르게 해야 하며, 지속적으로 개선되어야 한다.
플랫폼은 보통 다음 기능을 포함한다.
| 구성 요소 | 실무에서 하는 역할 |
| 서비스 카탈로그 | 서비스 소유자, 런타임, 저장소, 문서, 대시보드 위치를 한곳에서 관리 |
| 프로젝트 템플릿 | 표준 저장소 구조, CI/CD, 기본 코드, 보안 설정을 포함한 시작점 제공 |
| 환경 셀프서비스 | 개발, 테스트, 스테이징 환경을 승인된 템플릿으로 생성 |
| 배포 표준화 | Kubernetes, 서버리스, VM 등 대상별 배포 방식을 공통화 |
| 정책 내장 | IAM, 네트워크, 태그, 비용, 보안 스캔 기준을 기본값으로 적용 |
| 관측성 연결 | 로그, 메트릭, 트레이스, 알림, SLO 대시보드를 자동 연결 |
Golden Path는 플랫폼이 제공하는 “권장 경로”라고 보면 된다. 예를 들어 “Spring Boot API 서비스를 EKS에 배포하는 표준 방법”, “내부 백오피스 웹 서비스를 Azure App Service로 배포하는 표준 방법”, “배치 작업을 Kubernetes CronJob으로 운영하는 표준 방법” 같은 것이다.
좋은 Golden Path는 개발자를 가두는 규칙이 아니다. 자주 쓰는 80%의 업무를 빠르고 안전하게 처리하게 해 주고, 예외가 필요한 20%에는 명확한 검토 경로를 제공한다.
DevOps와 무엇이 다른가
Platform Engineering을 “DevOps 다음 단계”라고 부르는 이유는 DevOps를 대체하기 때문이 아니다. DevOps의 원칙을 조직 규모에 맞게 제품화하기 때문이다.
| 관점 | DevOps | Platform Engineering |
| 중심 질문 | 개발과 운영이 어떻게 함께 책임질 것인가 | 반복되는 운영 역량을 어떻게 내부 제품으로 제공할 것인가 |
| 주요 방법 | 협업, 자동화, CI/CD, 피드백 루프 | IDP, Golden Path, 셀프서비스, 플랫폼 제품 관리 |
| 개발자 경험 | 팀마다 도구를 직접 조합하는 경우가 많음 | 승인된 경로와 템플릿을 통해 빠르게 시작 |
| 운영팀 역할 | 배포, 인프라, 장애 대응에 직접 관여 | 공통 플랫폼과 정책, 운영 기준을 제공 |
| 위험 요소 | 팀별 구현 편차, 운영 지식 분산 | 플랫폼 팀이 병목이 되거나 내부 PaaS처럼 굳어질 수 있음 |
실무에서는 DevOps가 “문화와 운영 원칙”이라면, Platform Engineering은 그 원칙을 개발자가 매일 사용하는 워크플로우와 도구로 구현하는 방식에 가깝다.
예를 들어 DevOps 관점에서는 “모든 서비스는 관측 가능해야 한다”고 말한다. Platform Engineering 관점에서는 신규 서비스 템플릿을 만들 때 OpenTelemetry 설정, 로그 포맷, 기본 대시보드, 알림 규칙, Runbook 링크가 자동으로 붙도록 만든다.
DevOps 관점에서는 “배포는 자동화해야 한다”고 말한다. Platform Engineering 관점에서는 승인된 파이프라인 템플릿, 컨테이너 스캔, 배포 승인, 롤백 전략, 환경별 정책을 개발자가 선택할 수 있는 셀프서비스 경로로 제공한다.
클라우드와 인프라 운영에서의 의미
Platform Engineering은 특히 클라우드 운영에서 효과가 크다. 클라우드는 셀프서비스가 기본이지만, 조직이 커지면 아무나 아무 리소스나 만들 수 있는 구조가 곧 비용과 보안 리스크로 이어진다.
AWS 환경을 예로 들면 플랫폼 팀은 다음과 같은 기준을 정리할 수 있다.
- 신규 계정은 AWS Control Tower 기반의 Account Factory나 조직 표준 절차를 통해 만든다.
- 승인된 인프라 패턴은 AWS Service Catalog, Terraform 모듈, CDK construct 등으로 제공한다.
- 서비스별 IAM Role, VPC 연결, 로깅, 태그, 비용 기준은 템플릿에 포함한다.
- EKS, ECS, Lambda, RDS 같은 런타임 선택지는 Golden Path로 구분한다.
- 운영 대시보드와 알림 기준은 CloudWatch, OpenTelemetry, 외부 Observability 도구와 연결한다.
AWS Service Catalog는 승인된 AWS IT 서비스를 카탈로그로 만들고, 사용자가 조직의 제약 조건 안에서 필요한 리소스를 배포할 수 있게 해 준다. AWS Control Tower는 다중 계정 환경의 랜딩존과 거버넌스를 구성하는 데 쓰인다. 이 둘은 플랫폼 전체를 완성하는 도구라기보다, 플랫폼이 사용할 수 있는 거버넌스와 셀프서비스 구성 요소로 보는 편이 정확하다.
Azure 환경에서도 비슷한 관점이 필요하다. Azure Deployment Environments는 개발팀이 템플릿 기반으로 애플리케이션 인프라 환경을 만들고, 플랫폼 엔지니어가 환경 정의와 권한, 정책을 관리하는 모델을 제공한다. 다만 Microsoft 문서 기준으로 Azure Deployment Environments는 2026년 5월 현재 maintenance mode이며 추가 기능 계획이 없다고 안내되어 있다. 따라서 Azure에서 플랫폼을 설계할 때는 단일 서비스에 종속되기보다 Azure Dev Center, Azure Policy, Azure Landing Zones, GitHub Actions 또는 Azure DevOps, IaC 도구를 함께 묶는 운영 모델을 먼저 봐야 한다.
핵심은 특정 클라우드 서비스 하나가 플랫폼을 대신하지 않는다는 점이다. 플랫폼은 포털, 템플릿, 정책, 권한, 배포, 관측성, 문서, 지원 프로세스가 함께 맞물린 내부 운영 체계다.
운영자가 특히 봐야 할 포인트
Platform Engineering을 도입할 때 가장 흔한 실패는 “포털을 만들면 플랫폼이 된다”고 생각하는 것이다. Backstage 같은 개발자 포털은 서비스 카탈로그, 템플릿, 문서, 플러그인 생태계를 제공하는 강력한 기반이 될 수 있다. 하지만 포털은 입구일 뿐이다. 그 뒤에 실제로 동작하는 배포 자동화, 권한 모델, 정책 엔진, 인프라 템플릿, 운영 지원 체계가 없으면 보기 좋은 링크 모음으로 끝난다.
두 번째 실패는 플랫폼 팀이 새로운 승인 조직이 되는 것이다. 플랫폼 팀이 모든 예외 요청을 직접 처리하고, 모든 배포 문제를 대신 해결하고, 모든 템플릿 변경을 수동으로 관리하면 기존 운영 병목이 이름만 바뀐 셈이다. 플랫폼 팀의 목표는 일을 대신 해 주는 것이 아니라, 반복되는 일을 안전한 셀프서비스로 바꾸는 것이다.
세 번째 실패는 개발자 경험을 측정하지 않는 것이다. 플랫폼의 성공은 “포털 기능이 몇 개 있는가”가 아니라 “개발팀의 실제 흐름이 좋아졌는가”로 봐야 한다.
실무 지표는 다음처럼 잡을 수 있다.
- 신규 서비스 생성부터 첫 배포까지 걸리는 시간
- 개발, 테스트 환경 생성에 필요한 대기 시간
- 배포 실패 원인 중 환경 설정 오류 비중
- 서비스 소유자와 운영 문서 누락 비율
- 표준 템플릿 사용률
- 보안 예외 승인 건수와 반복 유형
- 장애 시 대시보드, 로그, Runbook 접근 시간
이 지표가 없다면 플랫폼은 쉽게 “좋아 보이는 내부 도구”가 된다. 반대로 지표가 있으면 어떤 Golden Path를 먼저 만들어야 하는지, 어떤 자동화가 실제 병목을 줄이는지 판단할 수 있다.
작은 조직도 플랫폼이 필요할까
모든 조직이 거대한 IDP를 만들 필요는 없다. 서비스가 몇 개 없고 팀 규모가 작다면 Backstage, 대형 포털, 별도 플랫폼 팀부터 시작하는 것은 과할 수 있다.
작게 시작한다면 다음 순서가 현실적이다.
- 가장 많이 반복되는 요청을 찾는다.
- 신규 서비스 생성, 테스트 환경 생성, 배포 파이프라인 구성 중 하나를 고른다.
- 표준 템플릿과 문서를 만든다.
- 수동 승인 기준과 자동화할 기준을 분리한다.
- 사용한 팀의 피드백을 받아 다음 Golden Path를 만든다.
처음부터 완성형 플랫폼을 목표로 하기보다, “이번 분기에 개발팀이 가장 자주 막히는 한 가지 흐름을 줄인다”는 식으로 접근하는 편이 낫다.
예를 들어 작은 조직이라면 다음 정도도 충분히 플랫폼의 시작점이 될 수 있다.
- 표준 GitHub Actions 워크플로우
- Terraform 모듈과 사용 예제
- 서비스별 README 템플릿
- 공통 로그 포맷과 대시보드 템플릿
- 신규 서비스 생성 체크리스트
- 배포 실패 시 확인할 Runbook
중요한 것은 도구의 크기가 아니라 반복 가능한 운영 경험이다.
실무 체크리스트
- 개발팀이 가장 자주 요청하는 인프라 작업 5개를 목록화한다.
- 신규 서비스 생성부터 운영 대시보드 연결까지 현재 걸리는 시간을 측정한다.
- 표준화할 Golden Path를 서비스 유형별로 나눈다.
- 템플릿 안에 IAM, 네트워크, 태그, 로깅, 보안 스캔 기준을 포함한다.
- 플랫폼 포털을 만들기 전에 실제 자동화와 정책 실행 지점을 먼저 확인한다.
- 플랫폼 팀의 목표를 “요청 처리”가 아니라 “셀프서비스 전환”으로 둔다.
- 개발자 만족도와 운영 리스크 지표를 함께 본다.
- 예외 요청을 금지하지 말고, 예외가 필요한 이유와 승인 흐름을 기록한다.
흔한 오해
- Platform Engineering은 DevOps를 대체한다: 아니다. DevOps의 협업과 자동화 원칙을 규모 있게 운영하기 위한 구현 방식에 가깝다.
- Backstage를 설치하면 플랫폼이 된다: 아니다. 포털은 좋은 입구가 될 수 있지만, 실제 자동화와 정책, 데이터가 연결되어야 한다.
- 플랫폼은 중앙팀이 모든 것을 통제하는 구조다: 아니다. 좋은 플랫폼은 통제가 아니라 안전한 자율성을 제공한다.
- Kubernetes가 있으면 플랫폼이 있는 것이다: 아니다. Kubernetes는 런타임 계층일 뿐이고, 개발자 경험과 운영 정책까지 포함해야 플랫폼이 된다.
- 처음부터 완성된 IDP가 필요하다: 아니다. 반복 요청 하나를 셀프서비스로 바꾸는 것부터 시작할 수 있다.
마무리
Platform Engineering이 주목받는 이유는 새로운 유행어라서가 아니다. 클라우드 네이티브 운영이 복잡해지면서 DevOps의 좋은 원칙을 팀마다 수작업으로 반복하기 어려워졌기 때문이다.
운영자 관점에서 Platform Engineering은 개발팀을 더 멀리 두는 방식이 아니다. 오히려 운영 지식, 보안 기준, 배포 경험, 관측성 기준을 플랫폼 안에 녹여 개발팀이 더 빠르고 안전하게 움직이도록 돕는 방식이다.
처음부터 거창한 내부 플랫폼을 만들 필요는 없다. 오늘 가장 많이 반복되는 요청 하나를 찾고, 그것을 문서와 템플릿, 자동화, 정책으로 바꾸는 것부터 시작하면 된다. 그 작은 Golden Path가 쌓이면 DevOps는 구호가 아니라 매일 쓰는 내부 제품이 된다.
참고자료
- CNCF TAG App Delivery, CNCF Platforms White Paper
- Backstage, What is Backstage?
- Google Cloud Blog, 5 myths about platform engineering: what it is and what it isn’t
- Martin Fowler, What I Talk About When I Talk About Platforms
- AWS Documentation, What Is AWS Service Catalog?
- AWS Documentation, What Is AWS Control Tower?
- Microsoft Learn, What is Azure Deployment Environments?
'DevOps' 카테고리의 다른 글
| GitOps 도입 후 후회하는 이유: 운영자가 미리 알아야 할 5가지 함정 (0) | 2026.06.17 |
|---|---|
| [Nodejs] npm install 중 node-sass@4.14.1 postinstall: `node scripts/build.js`에러 발생 시 (0) | 2021.08.26 |
| [Nodejs] Centos에서 최신버전 Nodejs 설치 (0) | 2021.08.21 |
- Total
- Today
- Yesterday
