
앞선 글 바이브옵스(VibeOps)’로 운영 생산성 극대화하기에서는 바이브옵스를 설명하기 위해, 제미나이 CLI(Gemini CLI)를 사용했습니다.
하지만, 바이브옵스는 AI 도구와 함께 운영을 하므로, 제미나이 CLI 외에 다른 도구가 어떻게 동작하는지 알아둔다면 선택에 큰 도움이 될 것입니다.
제미나이 CLI와 견줄 도구로 클로드 코드(Claude Code)가 있습니다. 다만 유료이기 때문에, 결제하기 전에도 충분히 효과를 이해해야만 비용 지출 여부를 결정할 수 있습니다.
클로드 코드는 크게 두 가지 요금제, 사용하는 만큼 비용을 지불하는 API Usage Billing과 구독제를 운영하고 있습니다. 구독제는 클로드 Pro와 Max로 구성되며, 정해진 만큼 사용량이 제한됩니다. 그렇기에 구독제를 사용하다가 제한에 도달하면, 다음과 같은 메시지가 출력됩니다.
“Claude usage limit reached. Your limit will reset at 4pm...”
따라서 지금부터는 유료 구독인 클로드 코드를 사용해 바이브옵스를 진행해 보려고 합니다. 제미나이 CLI에 입력한 프롬프트를 똑같이 사용하고 결과를 비교해, 어떤 도구를 선택하는 것이 좋을지 알아보겠습니다.
*더 자세한 테스트 과정과 결과 비교를 확인하려면, 바이브옵스(VibeOps)’로 운영 생산성 극대화하기를 보고 오는 것을 추천합니다.
배포하려고 하는 매니페스트의 보안 체크
테스트를 위해 도커 샘플 조직에 있는 wordsmith 저장소를 포크(fork)해 옵니다. 포크한 내용을 git clone
으로 내려받고는, 해당 디렉터리로 이동해 claude를 실행합니다.
➜ /tmp (☸️ |aks:default) cd wordsmith
➜ wordsmith git:(main) (☸️ |aks:default) claude
그런 다음 클로드에게 trivy를 이용해서 k8s-manifests/api.yaml
에 있는 파일의 보안을 체크할 깃허브 액션을 만들어 달라고 요청했습니다.
Prompt | create github action for security check by trivy @k8s-manifests/api.yaml
이때 클로드 코드가 제미나이 CLI와 가장 큰 차이점을 보인 부분은, 전체 계획을 먼저 수립한 다음 이를 부분으로 나누어 실행한다는 점입니다.
클로드는 먼저 깃허브 액션(GitHub Actions)의 워크플로 디렉터리를 확인하고, 없는 것을 본 다음 새로 생성했습니다.
이어 깃허브 액션 실행을 위한 매니페스트를 생성하는데, 여기서도 차이가 있었습니다. 제미나이는 보안 체크를 바로 진행한 반면, 클로드 코드는 크론(Cron) 스케줄을 이용해 하루에 한 번 자동으로 동작하도록 설정했습니다.
매니페스트 생성이 완료되면, 해당 내용을 요약해 알려줍니다.
깃허브 액션을 저장소에 반영하기 위해 git 명령어를 사용하도록 했습니다.
Prompt | git add commit and push it
git status
, git add
, git commit
, git push
순으로 진행하며, 각 단계마다 확인(Yes)을 거쳤습니다. 제미나이 CLI와 다른 점은 git add
이후 상태를 다시 체크한다는 점이고, 그 외의 흐름은 유사합니다.
보안 체크를 위해 클로드 코드가 설정해 준 하루를 기다리기는 힘들어, 수동으로 Run workflow 버튼을 눌러 실행을 확인했습니다. 정상적으로 결과가 출력되는 것을 확인할 수 있었습니다.
이처럼 제미나이 CLI를 사용할 때는 가는 길을 모르지만 일단 진행하는 느낌이었다면, 클로드 코드는 전체 계획을 세우고 그에 따라 실행하는 경향이 보였습니다.
이러한 느낌이 확실한지, 헬름(Helm) 배포 과정으로 확인해 보겠습니다.
헬름 배포를 통한 옵션 지정
이번에는 쿠버네티스 대시보드를 배포하겠습니다. 노출 방식은 로드밸런서 타입으로 요청합니다.
Prompt | deploy k8s dashboard by helm on current aks cluster. and expose as loadlbanacer type
입력하고 보니 “loadlbanacer”라는 오타가 있습니다. 올바른 표현은 loadbalancer지만, 문제없이 잘 해석한 것을 알 수 있습니다. 또한, 깃허브 액션 때와 마찬가지로 클로드 코드는 전체 계획과 해야 할 작업(Todos)을 먼저 정의하고 실행한다는 특징을 다시 한번 확인할 수 있었습니다.
이번에는 매번 선택이 필요할 때마다 “Yes”를 누르지 않고, 해당 명령을 기억하며 다시 물어보지 않는 옵션을 선택하고 진행했습니다.
명령어를 기억하고 물어보지 않는 옵션을 따르다 다시 선택을 요청해 왔습니다. 세션 단위로 더는 물어보지 않도록 답했습니다. 물론 유의해 사용할 필요가 있지만, 만약 다른 명령어가 수행될 때는 다시 물어오도록 설계되어 있어 선택했습니다.
또한 제미나이 CLI의 경우, 노출된 주소로 바로 접근할 수 없어 서비스 어카운트를 별도로 추가하는 과정을 거쳤습니다. 한편 클로드 코드는 이 과정을 포함해 모든 절차를 한 번에 자동으로 처리했습니다.
이와 함께, 아래처럼 종료 시점에는 작업 내용을 요약하고 사용 방법까지 안내해 주는 클로드 코드의 특성을 다시 한 번 보았습니다.
알려준 대로 노출된 주소에 접속하고 생성된 토큰을 입력하면 대시보드를 확인할 수 있었습니다. 제미나이 CLI로 만든 결과와 같은 대시보드가 정상적으로 생성된 것을 확인했습니다.
이 단계에서 제미나이 CLI는 일부 과정이 자동으로 진행되지 않아 실패한 단계를 다시 요청해야 했던 반면, 클로드 코드는 모든 단계를 한 번에 처리한 것을 확인할 수 있었습니다. 또한, 클로드 코드는 이번 작업에서도 계획을 세우고 나누어 진행하는 특성을 보였습니다.
작업 내용을 스크립트로 만들기
스크립트를 작성하는 작업에서도 클로드 코드가 계획을 세우고 실행하는 방식을 따르는지, 실제 작성 과정은 어떻게 진행되는지 확인해 보겠습니다.
Prompt | check "allocated pod | max pod " per node
프롬프트를 입력한 다음 명령어를 기억하고 다시 묻지 않는 옵션을 선택했습니다.
제미나이 CLI와 달리, 클로드 코드는 결과를 마크다운 표 형태로 표시하려 했습니다. 다만, 실제로는 텍스트로 출력되는 것을 확인할 수 있었습니다. 여기에 요청하지 않았던 노드별, 클러스터별 전체 사용률(utilized)을 함께 보여줘 가독성을 높여줬습니다.
결과를 확인하고, 동일한 작업을 스크립트로 생성해 달라고 요청했습니다.
Prompt | create script for it
클로드 코드는 스크립트를 생성한 다음, 모든 작업 내용을 요약하고 사용 방법까지 알려줬습니다.
생성된 스크립트를 실행한 결과, 앞선 작업과 동일한 결과를 확인할 수 있었습니다.
이로써 제미나이 CLI와 클로드 코드를 비교하는 실습을 모두 마쳤습니다.
마지막 정리를 하기 전, 눈에 띄었던 차이점 하나를 추가로 언급하겠습니다.
제미나이 CLI는 서브 명령어 단위로 기억하지 않고, 순수하게 실행되는 명령어 단위로만 “다시 물어볼지 여부”를 결정합니다. 반면, 클로드 코드는 아래 로컬 JSON 설정으로 서브 명령어 단위까지 기억하고 다시 묻지 않도록 관리합니다. 이처럼 세세한 부분까지 잘 정의된 것이 클로드 코드의 특징이라 할 수 있습니다.
➜ wordsmith git:(main) ✗ (☸️ |aks:default)tail -n 1000 .claude/settings.local.json
{
"permissions": {
"allow": [
"Bash(kubectl config:*)",
"Bash(kubectl:*)",
"Bash(helm repo add:*)",
"Bash(helm repo:*)",
"Bash(helm install:*)",
"Bash(printf:*)",
"Bash(chmod:*)",
"Bash(/private/tmp/wordsmith/check-pod-allocation.sh:*)"
],
"deny": []
}
}%
IT 분야 전반에서 그렇듯, 도구 선택에 정답은 없습니다. 다만 지금까지 실험한 결과에 비추어 보면, 현재 시점에서는 클로드 코드(Claude Code)가 더 효과적인 결과물을 보여주고 있습니다.
특히 결과를 만들어 내기 위해 계획을 수립하고 이를 나누어 진행하는 방식은 매우 효과적이며 좋은 결과를 만들어 냅니다. 또한 계획이 잘못된 방향으로 가고 있다면 실행하기 전에 수정할 수 있으며, 다른 도구와 달리 서브 명령어(예: kubectl get) 단위에서 학습하기에 선택을 다시 묻지 않을 수 있고, 세션 단위에서도 확인 없이 진행할 수 있는 등 편의성도 뛰어납니다. 무엇보다 클로드 코드는 가장 먼저 나온 터미널 기반 인공지능 에이전트이기 때문에 사용자층이 넓어, 필요한 정보를 찾고 적용하기도 쉽습니다.
하지만 단점도 분명합니다. 비용이 발생한다는 점과 컨텍스트 윈도우가 다른 도구에 비해 상대적으로 적다는 것입니다.
물론 이 역시 실제로 사용해 보면, 컨텍스트 윈도우의 제한이 문제로 드러나는 경우는 드물었습니다. 오히려 그 때문에 문제를 나누어 해결하면서 더 빠른 결과를 보여주기도 했습니다.
특히 바이브옵스(VibOps) 관점에서 클로드 코드는 토큰을 많이 사용할 것으로 예상되는 로그 분석에 유용합니다. 단순히 전체 로그를 바로 조회하는 것이 아니라, 아래처럼 항상 --tail
옵션을 입력해 나누어 분석하려고 시도하기 때문입니다.
Prompt | analyze k8s log on aks cluster. kube-proxy pod on kube-system
결론은 이렇습니다.
다만, 이는 어디까지나 현재 시점에서 그렇다는 것입니다. 1주일 후, 아니 당장 내일도 상황은 달라질 수 있습니다. 따라서 다양한 도구를 꾸준히 써보며 개인과 회사 환경에 가장 적합한 도구를 찾아 적용하고 개선해 나가는 것이 바람직합니다.
바이브옵스를 위한 인공지능 에이전트 활용을 더 자세히 알아보고 싶은 분은 “한 걸음 앞선 개발자가 지금 꼭 알아야 할 클로드 코드” 책을 보아도 좋습니다. 저(조훈)와 정찬훈 개발자가 함께 썼고, 초급부터 중급까지 알 수 있도록 구성해 보았습니다. 저자가 진행하는 라이브 세미나와 Q&A 기회가 주어지는 챌린지도 계획하고 있으니 고려해 보시면 좋겠습니다.
작가
조훈(CNCF 앰버서더)
메가존에서 쿠버네티스와 컨테이너 인프라 Tech Evangelist, CoE(Center of Excellence) 역할을 맡고 있다. 클라우드 네이티브 컴퓨팅 재단(CNCF)의 글로벌 앰버서더, ‘IT 인프라 엔지니어 그룹’의 운영진, 오픈소스 컨트리뷰터로도 활동하고 있다. 인프런/유데미에서 앤서블 및 쿠버네티스에 관한 강의를 하고, 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』, 『우아하게 앤서블』, 『시스템/네트워크 관리자를 위한 파이썬 실무 프로그래밍』을 집필하였으며, 요즘IT와 같은 온라인 플랫폼에 글을 기고한다.
심근우
LG유플러스 CTO부문에서 대고객 비즈니스 시스템의 DevOps를 담당하는 UcubeDAX팀의 팀장으로 일하고 있다. 퍼블릭 클라우드와 프라이빗 클라우드에 걸친 쿠버네티스 클러스터를 안정적으로 운영하기 위해 노력하고 있으며, 특히 주니어 DevOps 엔지니어들의 육성에 큰 관심을 가지고 있다.
문성주
글로벌 소셜 플랫폼 기업에서 Site Reliability Engineer로 재직하며, 쿠버네티스 멀티 클러스터 관리와 데이터베이스 플랫폼 운영을 주도하고 있다. 또한 ISMS-P, GDPR, CCPA 등 글로벌 보안 규제에 부합하는 데이터 라이프사이클 파이프라인을 설계·운영한 실무 경험을 가지고 있으며, 쿠버네티스 오픈소스 프로젝트에도 기여하고 있다. 더불어 국내 주요 기업과 국가 기관의 클라우드 전환, 데이터 거버넌스 컨설팅, 보안 컴플라이언스 대응을 지원하고 있다.
이성민
미국 넷플릭스(Netflix) 사의 Data Platform Infrastructure 팀에서 사내 플랫폼 팀들과 데이터 사용자들을 어우르기 위한 가상화 및 도구들을 개발하는 일들을 하고 있다. 과거 컨테이너와 쿠버네티스에 큰 관심을 두고 ingress-nginx를 비롯한 오픈 소스에 참여했으며, 현재는 데이터 분야에 일하게 되면서 stateful 한 서비스들이 컨테이너화에서 겪는 어려움을 보다 근본적으로 해결하기 위한 많은 노력을 하고 있다.
©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.