2014년, Google이 Kubernetes를 오픈소스로 공개했을 때 세상은 완전히 달라졌다.
배포는 반복 가능해졌고, 확장은 탄력적으로 이루어졌으며, 우리는 ‘클라우드 네이티브’라는 새로운 언어를 손에 넣었다.
하지만 10년이 지난 지금, Mountain View 내부에서는 전혀 다른 분위기가 감지되고 있다.
최근 Google 내부 SRE Slack 그룹에서 유출된 슬라이드에 담긴 메시지는 단순하고도 직설적이었다.
“Kubernetes는 우리에게 절감 효과보다 더 많은 비용을 발생시키고 있다.”
Google은 Kubernetes를 부정하는 것이 아니라, 그것이 여전히 합리적인 선택인지 근본적으로 재검토하고 있다.
실제로 Borg 후속 경량 런타임을 사용하는 팀과 일반 K8s 클러스터를 운영하는 팀의 지표를 비교한 결과는 충격적이다.
- 비-K8s 팀의 인프라 비용이 평균 40% 절감
- YAML 의사결정 과정을 제거했을 때 배포 속도가 2배 향상
- 네트워킹 및 사이드카 관련 에스컬레이션 80% 감소
이런 변화는 단순한 운영 효율성의 문제가 아니라, Kubernetes라는 패러다임 자체가 다시 점검되고 있다는 신호다.
Kubernetes가 무겁게 느껴지는 이유는 명확하다.
처음부터 Google 규모의 문제를 해결하기 위해 설계됐기 때문이다.
하지만 지금 대부분의 Google 팀은 그런 수준의 문제를 더 이상 가지고 있지 않다.
피드백에서 반복적으로 등장하는 세 가지 불만이 이를 증명한다.
- YAML 오버헤드 – 선언적 구성의 이상은 CRD, Helm, 템플릿 스파게티로 변질됐다. 기능 개발보다 헬름 디버깅에 더 많은 시간이 쓰인다.
- 네트워킹의 복잡성 – 사이드카, 서비스 메시, 인그레스 컨트롤러가 얽히며 DNS 문제는 밈이 됐다.
- 확장의 환상 – 무한 확장은 대부분의 팀에게 필요하지 않으며, K8s 운영비가 그 이점을 삼킨다.
Google 내부의 일부 팀은 더 단순한 방식으로 전환하고 있다.
200줄짜리 매니페스트도, 복잡한 Helm 차트도 없이 다음과 같은 간결한 선언만으로 서비스를 정의한다.
CREATE SERVICE payments
IMAGE 'gcr.io/team/payments:v3'
SCALE RULES (
IF latency > 300ms THEN ADD 2 INSTANCES,
IF errors > 1% THEN ALERT 'pagerduty'
);
운영 복잡도가 줄어들고, 네트워킹 이슈가 사라지며, 비용과 속도 모두 개선됐다.
이는 단순히 내부 실험이 아니라, 오케스트레이션 방식 자체를 재설계하고 있다는 신호다.
이 변화가 외부 기업들에게 주는 메시지는 명확하다.
Kubernetes는 여전히 강력한 플랫폼이지만, 절대적인 존재는 아니다.
그동안 실제 문제를 해결하는 동시에, 또 다른 문제군—복잡성, 운영 오버헤드, 팀 속도의 저하—을 만들어냈다.
이제 모든 팀은 스스로에게 이런 질문을 던질 필요가 있다.
- 우리는 K8s가 진짜로 필요해서 쓰는가, 아니면 그냥 ‘기본값’이라서 쓰는가?
- 무한 확장이 정말 필요한가? 아니면 오버헤드가 우리를 조용히 갉아먹고 있는가?
- 더 단순한 스택으로 돌아간다면 제품 개발에 더 집중할 수 있지 않을까?
기술은 순환한다. 어제의 정답이 내일의 장애물이 될 수 있다.
Kubernetes의 집을 지은 Google이 방향을 바꾸고 있다면, 우리도 멈춰서 다시 생각해봐야 한다.
K8s는 위대한 도구지만, 언제나 ‘올바른 도구’는 아니다.
그리고 바로 지금, 그 질문을 던질 시점이 왔다.
