Iaas, Provisioning tool – Chef, Ansible, Puppet, Rex, Provy, Fabric

서버 프로비저닝 툴

최근 컨테이너(도커)와 Serverless 사용으로 서버 프로비저닝은 중요도가 좀 떨어지긴 했는데
PC, 로컬서버, 개별인스턴스 초기구성할 때 아쉬운 경우가 종종있다.

예전엔 chef가 대세였는데…
그냥 관련 기술 자체에 대한 관심이 죽은건지 이 회사가 폐쇄적인 정책으로 변해서 그런건지 커뮤니티에서 언급이 상당히 줄었다.

Chef

https://github.com/chef/chef
rails 베이스
성능도 강력하고 지원되는 것도 많은데
도구가 너무 난잡하게 이것저것 많다.
chefck chefsolo chefzero chefclient chefserver, berks… 개념정의나 각 모듈의 영역이 명확하지 않아서 헷갈린다.
억지로 찾아서 쓰면 쓰는데… 커뮤니티가 상당히 죽은 것 같다.
(무리한 유료화, 컨테이너 이후 비주류 기술로전락..등)
2017년 이후 각종 커뮤니티에서 언급조차 거의 안되고 있다.

Puppet

https://github.com/puppetlabs/puppet
python 베이스
chef랑 비슷한 것 같은데 그래도 상황이 좀 낫지 않나 싶다.

Ansible

https://github.com/ansible/ansible
설정 베이스
배우기 쉬워서 쉽게 접근해서 쓰는 것 같다.

Saltstack

https://github.com/saltstack/salt
이게 제일 많이 쓰이는 것 아닌가 싶다.
새로 하려면 이걸로

Fabric

http://www.fabfile.org/
툴이라기보다는 python ssh 라이브러리.
이걸 베이스로 개발된 툴들이 좀 있는 것 같다.

Rex

https://github.com/RexOps/Rex
오픈소스.
perl 기반 툴
perl까지 해야되나…

## Provy
http://heynemann.github.io/provy/
오픈소스.
파이썬 기반

Tiamet

Python기반 클라우드 프로비저닝 툴
https://github.com/HardBoiledSmith/tiamat
https://github.com/HardBoiledSmith/johanna

Infrastructor

http://infrastructor.io/
groovy 베이스
안써봤지만 괜찮을 것 같다.
dsl형태도 제공되고

# ~
뭘 쓸지 아직 결론을 내진 못했는데..
조금이라도 써본 chef
익숙한 groovy, python 베이스 툴을 쓰게될 것 같다.

#~ 그냥 손으로 할까
인프라쪽은 본업도 아닌데 너무 많이 시간을 잡아먹는다.