Ansible을 왜 쓰는가?

왜 하필 Ansible

배포, 관리 자동화 툴의 4대천왕이라 불리우는 Puppet, Chef, Salt와 비교하여 어떠한 장점이 있는지 알아보자.

 PuppetChefSaltAnsible
개발사Puppet LabsOpscodeSaltStackAnsibleWorks
등장2005년 8월2009년 1월2011년 3월2012년 3월
개발언어RubyRuby,ErlangPythonPython
도입고객Google,Ebay,Disney..Facebook,Ancestry.com..Linkedin,HP Cloud..Evernotes, Rackspace..
정보량매우많음매우많음적음보통
사용률매우많음매우많음적음매우많음
코드베이스Puppet ForgeChef SupermarketSalt-Formula(Git)Ansible Galaxy
Web UIPuppet EnterpriseChef ManageSaltStack EnterpriseAnsible Tower
정의파일독자 DSL,내장 루비독자DSL (루비베이스)YAML 독자DSL (Python 베이스)YAML
agent설치필요필요필요or불필요(선택)불필요
간편도어려움어려움어려움아주쉬움

Puppet은 최초로 등장한 구성관리 툴이기때문에 많은 고객과 정보가 있지만, 최초로 등장했기때문에 기술적 복잡도가 높다. Chef의 경우 세계적 기업인 Facebook을 고객으로 두고 있기 때문에 빠르게 성장할 수 있었다. 그러나 여전히 복잡도가 높다. Salt는 정보량도 많이 없고 발전속도도 느리다. 아무래도 Puppet과 Chef의 Agent를 따라가다보니 성장이 더딘 것으로 판단된다.

Ansible은 Agent가 필요없기 때문에 관리에 필요한 프로세스 없이 독자적으로 실행할 수 있다.

이 기술적인 차이로 정보량이 급증하게 된다. 그리고 Agent가 없기때문에 기술적 복잡도도 낮다.

YAML 정의파일은 Puppet이나 Chef의 정의파일보다 매우 쉽고 간단하다.

그래서 Ansible은 크게 성장하게 된다.

Reference

인프런 조훈님 강의 - 처음부터 설치하며 배우는 Ansible



© 2022. by minkuk

Powered by minkuk