"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"
앤서블Ansible이 뭔가?
IT 인프라 자동화 도구로 사용자가 수작업으로 진행하는 환경 설정, 애플리케이션 배포 등을 코드 기반으로 작성하여 여러 환경에서 동일하게 적용될 수 있도록 돕는 오픈소스.
개발을 한 마이클이 기존 자동화 작업을 조금 더 쉽게 자동화 할 수 있지 않을까? 라는 생각에서 시작했다고 한다.
특징 3가지
NO! 에이전트
기존 자동화 도구인 퍼펫이나 셰프는 별도의 에이전트를 설치하고 이를 통해 자동화를 하는데, 이 때 복잡한 추가 작업이나 운영체제 버전에 따른 패키지, 모듈 설치 등 작업이 발생한다. 앤서블은 에이전트 설치 없이 SSH로 접속하여 쉽게 대상서버를 관리한다.
멱등성
동일한 연산을 여러 번 적용해도 결과가 달라지지 않는 성질. 시스템을 원하는 상태로 표현하여 유지하도록 설계되어, 동일한 운영 작업을 여러 번 실행해도 결과가 같다.
쉬운 사용법 + 다양한 모듈
자동화 절차가 쉬운 편이다. 에디터와 YAML 문법만 있다면 쉽게 작성할 수 있다. 추가로 퍼블릭 클라우드 관련 모듈, 컬렉션 등등이 있고. 플레이북을 통한 예제 참고도 잘 되어 있다.
다른 인프라 자동화 도구와는 어떻게 다른가?
나는 많이 들어본 자동화 도구로 테라폼, 젠킨스가 있다. 그리고 공평하게 셋 다 안써봤기 때문에 어떻게 다르고 어떤 장단점이 있는지 찾아보았다.
3줄 요약
- Ansible은 구성 관리 및 애플리케이션 배포에 적합
- Terraform은 클라우드 인프라 프로비저닝에 최적화
- Jenkins는 CI/CD 파이프라인 및 빌드 자동화에 적합
→ 실제 환경에서 도구들을 조합하여 사용하면 더 효율적인 결과를 얻을 수 있을 것 같다. Terraform으로 인프라를 프로비저닝하고, Ansible로 애플리케이션과 설정을 배포하며, Jenkins로 전체 CI/CD 파이프라인을 관리하는… (이럴거면 하나로 통합해주는 툴도 있을 것 같다는 느낌도 있다.)
Ansible
특징: Agent-less 구성 관리 및 자동화 도구, YAML을 사용하여 "Playbooks" 작성
장점: 에이전트 설치가 필요하지 않음, 다양한 모듈로 광범위한 시스템 및 서비스를 지원, 편안한 러닝 커브
단점: 상태 관리가 Terraform만큼 강력하지 않음, 큰 환경에서 복잡한 구성을 관리할 때 제약이 있을 수 있음
쓰기 좋은 케이스: 애플리케이션 배포, 시스템 구성 관리, 단순한 인프라 프로비저닝
Terraform
특징: 인프라 상태를 관리하고 추적하는 강력한 기능
장점: 다양한 클라우드 제공자 및 서비스 지원, 코드로서의 인프라에 대한 강력한 상태 관리 및 버전 관리, 모듈화 및 재사용 가능한 코드
단점: 초기에 힘든 러닝커브. 주로 인프라 프로비저닝에 중점을 둠 (애플리케이션 배포나 구성 관리는 다른 도구와 결합 필요)
쓰기 좋은 케이스: 클라우드 인프라 프로비저닝 및 관리, 멀티 클라우드 환경의 인프라 관리
Jenkins
특징: CI/CD 파이프라인 자동화 도구, 플러그인 기반의 확장성
장점: 많은 플러그인과 커뮤니티 지원, 다양한 소스 코드 관리 시스템과 통합 가능, 유연한 파이프라인 구성 가능
단점: UI가 조금 구식, 대규모의 Jenkins 환경을 관리하는 것은 복잡할 수 있음
쓰기 좋은 케이스: CI/CD 파이프라인 자동화, 빌드 및 테스트 자동화, 다양한 DevOps 도구와의 통합
이 책의 장점
저자는 레드햇 컨설턴트로 있으면서 경험, 전문성이 있기 때문에 이론적 지식에 실무적인 인사이트까지 제공을 하고 있다.
앤서블의 세팅, 자동화, 템플릿 등등을 직관적이고 코드 기반을 알려주는 책이다. 플레이북 설계, 실행, 롤, ChatGPT를 활용한(?!) 앤서블 활용법까지도 보여준다. 기본 개념부터 시작해서 실무 예제에서 나오는 문제와 해결법을 학습할 수 있기 때문에 처음 해보는 사람부터 이미 어느정도 알고 있는 사람까지도 충분히 커버할 수 있는 정보가 담겨있다. 그리고 그 점이 이 책의 가장 큰 장점이라고 생각한다. 자연스럽게 실제 스킬을 이해해볼 수 있다.
후기
인프라 자동화는 필수적인 기술이 되어가고 있다. 이 책은 그런 니즈를 효율적으로 해결할 수 있는 얇은 편의 책이다. 꼭 앤서블이 아닐 순 있지만 오픈소스이고 좋게 입문할 수 있어서, 그리고 책을 리뷰하게 되면서 배울 수 있어서 너무 좋았다.
'Book' 카테고리의 다른 글
책 리뷰 '프로덕트' (0) | 2023.12.25 |
---|---|
책 리뷰 '데이터 드리븐 리포트' (2) | 2023.11.26 |
책 리뷰 '크리에이티브 프로그래머' (0) | 2023.09.24 |
책 리뷰 '육각형 개발자' (0) | 2023.08.27 |
책 리뷰 '더 나은 웹개발을 위한 가이드' (0) | 2023.07.23 |