본문으로 건너뛰기
Pet vs Cattle: 클라우드 인프라의 철학

Pet vs Cattle: 클라우드 인프라의 철학

클라우드 네이티브 환경과 Kubernetes의 핵심 설계 사상을 이해하기 위한 **Pet(애완동물)**과 Cattle(가축) 비유에 대해 알아봅니다.


1. 핵심 개념 비교

이 비유는 서버를 어떻게 대하고 관리하느냐에 대한 철학적 차이를 나타냅니다.

구분Pet (애완동물)Cattle (가축)
정체성고유한 이름 부여 (예: Zeus, Athena)번호 부여 (예: node-01, node-02)
장애 대응아프면 수리하고 정성껏 복구함아프면 즉시 교체하고 새로 생성함
관리 방식수동 설정, 개별 관리자동화된 프로비저닝, 대량 관리
의존성서버 하나가 죽으면 서비스 중단 위험하나가 죽어도 다른 개체가 즉시 대체
비유 인프라전통적인 물리 서버, MainframeKubernetes, 클라우드 인스턴스

2. 관리 철학의 변화

    graph LR
    Pet[Pet 시대<br/>유일무이한 서버] -- "철학의 변화" --> Cattle[Cattle 시대<br/>교체 가능한 리소스]

    subgraph Pet_Style
    P1[수동 패치]
    P2[고유 IP 고수]
    P3[장기 생존]
    end

    subgraph Cattle_Style
    C1[자동 배포]
    C2[일시적 IP/이름]
    C3[언제든 소멸 가능]
    end
  

3. Kubernetes 가 Cattle 을 구현하는 방법

Kubernetes는 다음과 같은 리소스를 통해 ‘가축’ 방식의 관리를 자동화합니다.

  • Deployment: Pod가 죽으면 묻지도 따지지도 않고 새 Pod를 즉시 생성하여 개수를 유지합니다.
  • Service: Pod의 IP가 계속 바뀌어도(가축의 교체), 클라이언트는 하나의 고정된 이름으로 서비스에 접근할 수 있게 합니다.
  • Auto-scaling: 트래픽이 많아지면 가축의 수를 늘리고, 줄어들면 다시 줄입니다.

4. 요약

항목Pet (애완동물)Cattle (가축)
가치개별 개체가 중요전체 서비스 집합이 중요
복구“살려내야 한다”“새로 뽑아야 한다”
확장성수직 확장 (Scale-up)수평 확장 (Scale-out)

현대적인 클라우드 운영의 목표는 모든 인프라를 ‘가축’처럼 다루어, 장애에 유연하고 확장이 자유로운 시스템을 구축하는 것입니다.