Backstage 설치하고 "우리도 플랫폼 엔지니어링 한다"고 슬랙에 올린 팀을 세 번 봤다. 세 번 다 6개월 후에 아무도 안 쓰고 있었다. 한 팀은 Backstage 대시보드 스크린샷을 분기 보고서에 넣었는데, 정작 그 대시보드에 접속한 개발자가 월 3명이었다.
포탈은 플랫폼이 아니다
Backstage는 쇼윈도우다. 뒤에 진열할 상품이 없으면 그냥 빈 가게. Spotify가 Backstage를 만들 때 이미 내부에 수백 개의 자동화 파이프라인과 셀프서비스 인프라 프로비저닝이 있었다. Backstage는 그 위에 올린 UI였지 출발점이 아니었다.
빈 가게의 징후들
실패한 팀들을 보면 패턴이 놀라울 정도로 비슷하다. Software Catalog에 서비스 200개 등록해놓고 템플릿은 3개다. CI/CD "연동"이라고 써놓은 게 사실 Jenkins 링크고, 인프라 프로비저닝은 여전히 Jira 티켓이다. 골든 패스가 없어서 개발자가 슬랙 DM으로 인프라팀을 찾아간다. 화려한 서비스 카탈로그 뒤에 자동화가 없으면, 그건 좀 예쁜 위키지 플랫폼이 아니다.
구체적으로 비교해 보자. A사는 Backstage에 Terraform 모듈을 플러그인으로 연결해서, 개발자가 드롭다운 세 개 선택하면 EKS 네임스페이스 + RDS 인스턴스 + Datadog 모니터링이 한꺼번에 프로비저닝된다. B사도 Backstage를 쓰지만 카탈로그에 서비스 목록만 있고, 인프라가 필요하면 인프라팀 Jira 보드에 티켓을 만들어야 한다. 평균 처리 시간 4일. 두 회사 다 "플랫폼 엔지니어링 도입 완료"라고 말하는데, 개발자 경험은 완전히 다른 세계다.
Roadie 같은 managed Backstage 벤더들이 "DIY Backstage는 죽었다"고 선언한 건, Backstage 자체를 운영하는 데만 FTE 2-3명이 들기 때문이다. 플러그인 호환성 깨짐, Node.js 버전 업그레이드 지옥, YAML 설정 파일 관리까지 — managed를 쓰든 자체 운영하든 카탈로그만 쓰겠다는 건 포르쉐를 사서 동네 마트만 왕복하는 꼴이다.
진짜 플랫폼인지 판별하는 세 가지
셀프서비스 인프라 프로비저닝이 실제로 돌아가는가. 서비스 생성부터 프로덕션 트래픽 받기까지 30분 안에 끝나는가. 개발자가 인프라팀에 티켓을 안 끊어도 되는가. 셋 중 하나도 "예"가 아니라면 아직 시작도 안 한 거다.
순서를 뒤집어야 한다
효과를 본 팀들은 하나같이 Backstage 없이 먼저 자동화를 만들었다. Crossplane으로 인프라 프로비저닝을 코드화하고, Argo CD로 GitOps 파이프라인을 세팅하고, 골든 패스 템플릿을 cookiecutter나 Yeoman으로 굴렸다. 이게 어느 정도 돌아가니까 그때서야 "이것들을 한 화면에서 보면 좋겠는데?"라는 필요가 생겼고, 그게 Backstage 도입의 올바른 타이밍이었다.
반대로 Backstage부터 깔고 시작한 팀은 플러그인 개발에 시간을 쏟다가, 정작 플러그인 뒤에서 호출할 자동화가 없어서 껍데기만 만드는 루프에 빠진다. 6개월 뒤 "Backstage 안 쓰는데 이거 걷을까요?"라는 슬랙 메시지가 올라온다.
플랫폼 엔지니어링의 핵심은 UI가 아니라 그 뒤의 배관 공사다. 배관 없이 수도꼭지만 달아놓으면, 손잡이를 아무리 돌려도 물은 안 나온다.