“cattle not pets”의 정의는 무엇입니까?


47

최근 몇 년 동안, 특히 Docker 컨테이너 및 가상 시스템에 적용 할 때 "소를 애완 동물이 아닌 것처럼 서버를 처리"라는 용어가 확산되었습니다.

애완 동물 대 소

실제로 무엇을 의미합니까?


1
긴 설명을 여기에 라인을 따라 각 "모델"의 프로 / 죄수와.
Tensibai

답변:


52

랜디 비아스 는이 용어가 빌 스케일 베이커가 "스케일 업"과 "스케일 아웃"아키텍처 전략을 설명 할 때 비유를 사용한 2011 년이나 2012 년에 시작되었다는 용어 의 역사기록합니다 . Bias는이를 클라우드 아키텍처 패턴에 대한 프레젠테이션에 채택했습니다.

우리는 서버를 애완 동물처럼 취급합니다 (예 : 메일 서버 Bob). 밥이 쓰러지면 모두 갑판에 있습니다. CEO는 자신의 이메일을받을 수 없으며 세상의 종말입니다. 새로운 방식으로 서버는 무리의 소처럼 번호가 매겨집니다. 예를 들어, www001 ~ www100입니다. 한 대의 서버가 다운되면 서버는 회수되어 총에 맞고 교체됩니다.

바이어스는 애완 동물을 다음과 같이 계속 정의합니다.

절대 다운 할 수없는 필수 시스템 또는 고유 시스템으로 취급되는 서버 또는 서버 쌍. 일반적으로 이들은 수동으로 구축, 관리 및 "수유"됩니다. 메인 프레임, 독방 서버, HA로드 밸런서 / 방화벽 (액티브 / 액티브 또는 액티브 / 패시브), 마스터 / 슬레이브 (액티브 / 패시브)로 설계된 데이터베이스 시스템 등이 그 예입니다.

그리고 소

자동화 된 도구를 사용하여 구축되고 하나, 둘 또는 세 개의 서버를 대체 할 수없는 고장을 위해 설계된 두 개 이상의 서버로 구성된 어레이. 일반적으로 장애 발생시 어레이에서 장애가 발생한 서버를 다시 시작하거나 3 중 복제 또는 삭제 코딩과 같은 전략을 통해 데이터를 복제함으로써 "고장 주변 라우팅"의 속성을 나타내므로 사람의 개입이 필요하지 않습니다. 예로는 웹 서버 어레이, Cassandra 클러스터와 같은 다중 마스터 데이터 저장소, 클러스터에 결합 된 여러 랙 랙,로드 밸런싱 및 다중 마스터 등이 있습니다.

기본적으로 Bias와 Baker가 전달하고자하는 것은 이름과 감정적 인 첨부 파일 이있는 "Unique Snowflakes" 에서 서버를 처리하는 방식 에서 서버에 문제가있는 경우 대체품을 만드는 모델로 전환해야한다는 것입니다. 문제가있는 서버를 파괴하십시오.

마지막으로, 규제 된 환경에서는 서버를 뒤로 가져 와서 촬영하는 것이 최적이 아닐 수도 있습니다. 이러한 경우, 예를 들어 docker pause컨테이너를 고정하기 위해 서버를 "동결"시키는 것이 종종 유리합니다 . 그런 다음 인시던트 또는 문제 관리 프로세스의 일부로 근본 원인 분석 을 수행하는 데 사용할 수 있습니다 .


16

Richards의 대답에 덧붙이려면 일반적으로 서버 유실의 영향을 고려할 때 유추가 도움이됩니다.

개별 인프라를 잃어버린 것에 대해 약간의 고통을 느끼면 애완 동물로 간주하십시오 (반 패턴 읽기).

함대 중 하나가 작동을 멈 추면 운영에 실제로 영향을 미치지 않을 것이라는 사실을 알고 편안하게 느낄 수 있다면 소에 대한 이야기입니다.

서버를 단순히 분류하기 위해 유추를 사용하는 경향이 종종 있습니다. 즉 "워크로드 노드는 소이지만로드 밸런서는 애완 동물입니다."그러나 그 함정에 빠지는 것은 정확히 문제입니다. 현대의 컴퓨팅 환경 (예 : 클라우드, 상품 하드웨어 등)에는 애완 동물을위한 장소가 없습니다. 모든 서버가 가축으로 간주되고 쉽게 교체 할 수 있다면 혼돈 원숭이와 같은 것을보고 시작할 수 있습니다. 인프라가 진정으로 탄력적임을 보장합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.