AI 시대의 인프라 엔지니어링
쿠버네티스와 서버리스가 그랬듯이 AI는 인프라 엔지니어를 대체하는 것이 아니라 수동 작업 계층을 하나씩 자동화하고 엔지니어의 역할을 한 단계 위로 끌어올린다고 설명하는 글입니다. 저자는 Claude로 Helm 차트와 Terraform 모듈 작성의 '조사 작업'을 없앴지만, 좋은 설계를 판단하고 최종 형태를 결정하는 일은 여전히 엔지니어의 몫이라고 강조합니다.
들어가며 지금은 회사 전체가 AI를 전면적으로 도입하라는 압박이 있습니다. 모든 컨텍스트를 AI에 쏟아붓고, 모든 저장소에 AGENTS.md나 INSTRUCTIONS.md를 작성해서 사람뿐 아니라 에이전트도 프로젝트를 찾고 기여할 수 있게 하라는 것이죠. 생각해 보면 좀 웃픕니다. 저는 인간 팀원에게 README를 제대로 읽게 한 적이 단 한 번도 없었는데, 이제는 로봇을 대상으로 예전보다 훨씬 나은 문서를 쓰고 있으니까요. 그와 함께 따라오는 당연한 질문은 이것입니다: 이것이 엔지니어링을 불필요하게 만드는가? 스택과 인프라에 대한 모든 컨텍스트가 에이전트가 읽을 수 있는 곳에 기록되면, 다음은 우리인가? 저는 그게 정확히 올바른 질문이라고 생각하지 않습니다. 왜냐하면 우리는 이미 그런 버전의 변화를 겪어봤기 때문입니다.
우리는 이미 이 길을 걸어왔다 쿠버네티스(Kubernetes)는 Ansible을 죽였는가? 어떤 면에서는 그렇습니다. 저는 몇 년째 Ansible 플레이북을 작성한 적이 없습니다. 지금 하나를 건네받으면 처음 보는 것처럼 모듈 문법을 가늠하게 되겠죠. 설정 관리가 중요하지 않아져서가 아니라, 쿠버네티스가 서버 관리를 충분히 쉽게 만들어서 우리가 더 이상 노드 이미지를 직접 만들지 않게 됐기 때문입니다. 클라우드 제공자가 주는 대로, 즉 AWS가 만들어준 AMI를 아무 질문 없이 그냥 씁니다. 그리고 마지막으로 무언가를 디버깅하려고 노드에 SSH로 접속한 게 언제였죠? 사실상 거의 없습니다. 노드가 말썽이면 그냥 죽여버리고 대체 노드가 같은 문제를 겪지 않기를 바랄 뿐이죠.
그 위의 계층도 같은 길을 걸었습니다. ECS Fargate, Lambda, Cloudflare Containers에서 컨테이너를 실행하면 그게 어떤 노드에 떨어졌는지 저는 정말 모르고, 알고 싶지도 않습니다. 하지만 그렇다고 아무도 오케스트레이션을 하지 않는다는 뜻은 아닙니다. 그 워크로드가 컨테이너여야 한다는 결정, 어떤 이미지를 실행할지, 무엇과 통신하도록 허용할지, 어떻게 스케일링할지, 장애가 나면 어떻게 될지는 여전히 제가 결정합니다. 쿠버네티스와 서버리스 컨테이너는 이러한 결정 계층을 제거한 게 아니라, 작업 단위를 '기계'에서 '워크로드'로 한 단계 끌어올렸고, 그 아래 계층은 조용히 자동화되어 사라졌습니다. 아무도 쿠버네티스, Fargate, Cloudflare의 컨테이너 플랫폼이 인프라 엔지니어를 대체했다고 말하지 않을 겁니다. 각각은 특정 계층의 수동 작업 — 이미지 직접 빌드, 서버 직접 패치, 워크로드가 어느 노드에 있는지 아는 일 — 을 대체했고, 엔지니어는 매번 그 위의 계층으로 올라갔습니다. 저는 AI가 한 계층 위에서 같은 일을 다시 하고 있다고 생각합니다.
일상에서 달라진 점 저는 매일 Claude를 사용해 Helm 차트를 생성하고 Terraform 모듈을 작성합니다. Claude가 제 하루에서 실제로 없애준 부분은 '생각'이 아니라 '조사 작업'입니다. 저는 더 이상 AWS 프로바이더의 changelog를 뒤져 v5와 v6 사이에 뭐가 바뀌었는지 확인하지 않습니다. 원하는 결과물의 형태대로 설명하면 Claude가 그 버전을 만들어줍니다. 실제로 출시할 수 있는 형태로 만들려면 반복 작업이 필요하지만, 일단 완성되면 다음 번의 예제가 됩니다. 특히 저장소의 AGENTS.md가 그걸 가리키고 있다면요. 한 계층 아래에서도 같은 일이 이미 일어났습니다. 저는 Ansible 모듈을 직접 작성하지 않듯이 원시 Kubernetes YAML도 더 이상 직접 작성하지 않습니다. 그게 Helm 차트의 존재 이유니까요. 그리고 점점 더 Helm 차트조차 직접 작성하지 않습니다. 무엇을 해야 하는지 방향을 정하면, Claude가 작성합니다.
달라지지 않은 점 저는 여전히 좋은 Terraform 모듈이나 잘 구조화된 Helm 차트가 어떤 모습인지 알아야 합니다. 정말 심각한 문제가 발생해서 파드를 죽이는 것으로는 해결이 안 될 때 노드에 SSH로 접속할 수 있어야 합니다. 위의 계층이 아래 계층을 없애는 게 아니라, 손대야 하는 빈도를 줄여줄 뿐입니다. 그리고 실제 형태를 결정하는 사람은 여전히 저입니다. 모듈의 최종 버전이 어떤 모습일지, 1년 뒤에도 유지보수 가능한 게 무엇인지, 차트를 어떻게 배포하고 버전 관리할지요. AI는 시간이 오래 걸리는 부분을 처리합니다. 방향을 제시하는 건 여전히 저의 몫입니다.