Chef 쓰지마! 절대로!

프로비저닝 툴

chef, puppet, ansible, saltstack …

을 쓰는 이유

편하기 위해서 – 환경을 코드로 관리하기 위해서

여기서 여러OS를 지원해야 하는 이슈가 있는지는 잘 모르겠다. 한 회사에서 사용하는 OS는 굉장히 제한적이라서 사실 여러OS 제공은 오픈소스 차원의 문제로 넘어가지 않을까?

여러개의 서버를 관리 해 주는 기능도 유효하지만.. 이게 매니징 서버를 꼭 거쳐야만 한다면 좀 불편함이 생긴다.

Chef는 왜 악한가

프로비저닝 툴은 보통 여러OS 여러버전에 대한 설정을 커뮤니티에 공유하고 사용하는게 장점인데… chef는 화력이 너무 분산된달까?

한명한명이 자기 설정을 자기만의 방법으로 supermarket.chef.io에 납품을 해놨다.

docker, vagrant 같은 경우는 official 이미지가 존재한다. 커뮤니티의 화력은 이쪽으로 집중되서 오류가 수정되고 개선된다. 자기만의 이미지를 만들기도 하지만 그래도 표준은 저쪽이다.. official에서 커스터마이징을 해서 쓴다.

Ruby 언어의 문제 

ruby 언어는 자유롭다.
설정도 하는사람에 따라 너무 다양하게 나온다.
버전 호환성
Gem, OS, Chef 뭔가 버전 충돌이 나는데…
chef의 복잡성은 bundle가지고 해결할 수준을 넘어선 것 같다.

~

이래저래 경쟁에서 밀린 기술이라 커뮤니티도 죽고
ansible이나 saltstack이 주류로 자리잡은 것 같다.

그나마도 클라우드랑 컨테이너 때문에 찬밥이지만… 조금은 나은 처지인 것 같다.