Juju와 Puppet / Chef의 차이점은 무엇입니까?


80

Juju 와 Puppet / Chef의 주요 차이점에 대해 타사에 문의했습니다 . 타사는 Juju에 너무 익숙하지 않아 말할 수 없습니다. 그들은 단순히 다른 사람들이 많은 추진력을 가지고 있다고 말했고 그들의 리드를 극복하기는 어려울 것입니다.

Juju에 가장 가까운 사람들이이 소프트웨어의 장점을 강조하고 구성 관리 분야에서 Puppet / Chef를 능가하는 이유는 무엇입니까?

답변:


48

마크, 이것은 좋은 질문이며 누군가가 주주에 대해 나에게 물었을 때 내가 처음으로 물었던 질문이었습니다. 큰 차이점은 다음과 같습니다.

  • Juju는 서비스를 캡슐화합니다. 매력은 서비스가 다른 서비스와 구성 데이터를 노출하거나 소비하는 데 필요한 모든 방법을 정의합니다. 참은 참 매력의 사업입니다. 쉘 스크립트에서 솔로 모드의 Chef까지 모든 도구를 사용할 수 있습니다.

  • Juju 오케스트레이션 프로비저닝-Juju는 사용 가능한 리소스를 추적하고 필요에 따라 추가하거나 제거 할 수 있습니다. 현재 이러한 리소스는 AWS EC2 머신, HP Cloud와 같은 OpenStack 클라우드, Microsoft Azure, Joyent, MAAS를 통한 베어 메탈 머신 및 LXC / KVM 로컬 제공자입니다.

  • Juju는 쉽게 공유 할 수있게합니다. 누구나 Juju Charm Store에 매력을 더할 수 있습니다 . 이러한 매력은 Juju 커뮤니티에 의해 심사 및 검토됩니다.

사람들이 웹에서 비교 한 다른 비교는 다음과 같습니다.


1
Puppet은 리소스 설명, VM 프로비저닝모듈 공유 도 처리합니다. Juju가 어떻게 다르게 또는 더 잘 수행하는지 또는 다른 문제를 해결하는지 설명 할 수 있습니까?
poolie

해당 답변 당시 퍼펫 클라우드 제공 업체를 알지 못했습니다. 꼭두각시 모듈은 내가 마지막으로 확인했을 때 이름이 정해지지 않았으므로,이를 사용하기 위해 꼭두각시 모듈의 코드를 수정해야하는 공유 문제가 있습니다.
SpamapS

puppet에는 네임 스페이스가 있습니다 . Puppet을 많이 사용하지는 않았지만 두 모듈이 실제로 동일한 논리적 인 것을 관리하려고 할 때 문제가 대부분 발생한다는 것을 이해합니다. Juju가이를 막을 수있는 체계적인 방법이 있습니까?
poolie

퍼펫의 네임 스페이스는 최신 독립형 퍼펫 모듈을보다 쉽게 ​​공유 할 수 있도록 최근 변경되었습니다. 과거에는 두 모듈간에 통신하기 위해 동등한 전역 변수가 필요했습니다. Juju는 인스턴스 구성과 모양 또는 형태를 다루지 않으며 오케스트레이션을위한 촉진자이므로 두 파일이 하나의 파일을 차지하는 것을 막지 않습니다.
SpamapS

1
안녕하세요 @SpamapS, 이것은 두 번째 요점 (일명 Juju 오케스트라 프로비저닝)에 관한 것입니다. 꼭두각시에서는 "require", "notify"등을 사용하여 관계를 정의 할 수 있습니다.이 구성을 단순히 오케스트레이션 프로비저닝에 사용할 수 없습니까? 아니면 Juju는 다른 수준의 오케스트레이션 의미를 제공합니까?
Denis Weerasiri

33

(면책 조항-저는 Puppet의 설립자이자 Puppet Labs의 CEO입니다.)

나는 juju를 몹시 잘 모른다 . 그러나 내가 말할 수있는 것에서, 그들은 약간 다른 층에 앉아있다. Puppet은 머신 자체의 동작과 기능을 관리하는 데 주력하는 반면, juju는 주로 머신 세트에 대해 이야기하고 머신이 Puppet 또는 쉘 스크립트와 같은 외부 도구에 대해 특정 방식으로 동작하도록하는 방법에 대해 이야기합니다.

Puppet의 전략은 처음부터 최고의 스택을 구축하는 반면, juju는 스택의 특정 레이어로 보이고 다른 레이어는 다른 도구에 남겨 둡니다. 따라서 Puppet으로 전체 문제를 해결할 수는 있지만 (때로는 원하는 것보다 조금 더 많은 작업이 필요하지만) juju를 다른 도구와 통합하여 많은 작업을 수행해야합니다.

실제로 juju 는 그래프 등이 없어도 Amazon 의 온 프레미스 CloudFormation 버전처럼 보입니다 . 따라서 Puppet 등과 함께 사용할 수 있지만 대체 할 수는 없습니다.


6
punting이 올바른 단어인지 확실하지 않습니다. 패키지가 autotools / scons / setup.py에 소프트웨어를 빌드하는 것을 말하는 것과 같습니다. 패키지가 모든 빌드의 모든 단계를 수행하려고하면 패키지가 없습니다!
SpamapS

9

다음은 Juju가 다른 자동화 도구와 어떻게 어울리는 지에 대한 또 다른 내용입니다.

저는 Ubuntu와 Juju의 회사 인 Canonical의 클라우드 전략을 책임지고 있습니다. Juju는 Puppet 또는 Chef의 경쟁자가 아닙니다. Juju는 Puppet 또는 Chef를 설치할 수 있으며 Juju의 서비스 캡슐화 인 Charm 내에서 기존 Puppet 모듈 또는 Chef 영수증을 호출 할 수 있습니다.

그래서 Juju는 무엇입니까? Juju를 사용하면 IT 스택 / 서비스 / 애플리케이션을 즉시 배포, 통합 및 확장 할 수 있습니다. 어려움없이 즉각적인 IT 혜택을 누리십시오. 명령 행 또는 GUI를 통해

따라서 Juju는 클라우드 (웹 / 앱 / DB 서버, Hadoop, MongoDB 등)를 기반으로하는 클라우드 (Juju는 Canonical의 기본 OpenStack 설치 프로그램 임)를 구축 할 수 있기 때문에 PaaS에 가깝고 Devops 도구에 더 가깝습니다. 놀랍게도 Juju를 사용하면 응용 프로그램을 배포하고 즉시 통합 할 수 있습니다 (Wordpress와 MySQL 간의 추가 관계는 Wordpress 테이블과 MySQL 내부의 데이터를 자동으로 설정합니다).

또한 앱 서버 (java, php, node.js, scala 등)는 버전 제어와 함께 작동 할 수 있으므로 앱의 자동 배포 및 확장이 가능합니다. 따라서 PaaS와 달리 특정 소프트웨어 스택에 국한되지 않고 즉각적인 배포, 통합 및 확장 이점을 얻을 수 있습니다. 소프트웨어 서비스를 제한 또는 제한없이 즉시 배포, 통합 및 확장 할 수있는 유연한 PaaS 또는 FlexiPaaS라고 생각하십시오.

출처 -경고 : 로그인이 필요합니다.


3

가장 간단한 용어로 juju는 서비스 검색, 키 값 저장소 및 구성 관리를 캡슐화합니다. 꼭두각시 / 주방 등은 순수한 구성 관리입니다.

Juju는 이벤트 기반이며 중앙 "부트 스트랩 노드"를 사용하여 이벤트를 추적하고 조정합니다. 꼭두각시와 요리사는 이벤트 기반으로 표시 될 수 있지만 일반적으로 일정에 따라 관련 작업을 실행하고 있습니다.

Afaik, 분산 또는 에이전트없는 상태에서 juju를 실행할 수 없으며 대부분의 구성 관리 시스템에서 가능합니다.

대부분의 꼭두각시 등은 도메인 특정 언어 인 반면, juju는 언어가 아닌 시스템입니다.

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