1장. 소개
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
IT 업계에서 일하는 것은 흥미로운 시대입니다. 우리는 더 이상 하나의 컴퓨터에 프로그램을 설치하고 하루를 끝내는 방식으로 고객에게 소프트웨어를 제공하지 않습니다. 대신 우리 모두는 점차 Cloud 엔지니어로 변모하고 있습니다.
이제 우리는 분산된 컴퓨팅 리소스 세트에서 실행되고 서로 다른 네트워킹 프로토콜을 통해 통신하는 서비스를 함께 묶어 소프트웨어 애플리케이션을 배포합니다. 일반적인 애플리케이션에는 웹 서버, 애플리케이션 서버, 메모리 기반 캐싱 시스템, 작업 대기열, 메시지 대기열, SQL 데이터베이스, NoSQL 데이터스토어, 로드 밸런서가 포함될 수 있습니다.
또한 IT 전문가는 장애가 발생했을 때(실제로 장애가 발생하겠지만) 소프트웨어 시스템이 원활하게 처리할 수 있도록 적절한 이중화 장치를 마련해야 합니다. 그런 다음 로깅, 모니터링, 분석과 같이 배포 및 유지 관리해야 하는 보조 서비스와 가상 머신 인스턴스 관리를 위한 서비스형 인프라(IaaS) 엔드포인트와 같이 상호 작용해야 하는 타사 서비스도 있습니다.1
필요한 서버를 가동하고, 각 서버에 로그인하고, 패키지를 설치하고, 구성 파일을 편집하는 등 이러한 서비스를 수동으로 연결할 수 있지만 번거로운 작업입니다. 이러한 작업을 수동으로 수행하려면 시간이 많이 걸리고 오류가 발생하기 쉬우며, 특히 3~4번째부터는 지루하기 짝이 없습니다. 그리고 OpenStack Cloud를 구축하는 것과 같은 더 복잡한 작업의 경우 수작업으로 하는 것은 미친 짓입니다. 더 나은 방법이 있을 것입니다.
이 글을 읽고 계신다면 이미 구성 관리에 대한 아이디어에 매료되어 Ansible을 구성 관리 도구로 채택하는 것을 고려하고 계실 것입니다. 코드를 프로덕션 환경에 배포하는 개발자이든, 더 나은 자동화 방법을 찾고 있는 시스템 관리자이든, Ansible이 문제에 대한 훌륭한 솔루션이라는 것을 알게 될 것입니다.
버전에 대한 참고 사항
이 책의 예제 코드는 여러 버전의 Ansible에 대해 테스트되었습니다. 이 글을 쓰는 시점의 최신 버전은 Ansible 5.9.0이며, Ansible Tower에는 가장 최근 릴리스인 2.9.27 버전이 포함되어 있습니다. Ansible 2.8은 2021년 4월 13일에 2.8.20이 릴리스되면서 수명이 종료되었습니다. 앞으로 더욱 발전할 Ansible을 기대하세요.
수년 동안 Ansible 커뮤니티는 역할 및 모듈을 만드는 데 매우 활발하게 활동해 왔으며, 수천 개의 모듈과 20,000개 이상의 역할이 있을 정도로 활발하게 활동하고 있습니다. 이 정도 규모의 프로젝트를 관리하는 데 어려움이 있었기 때문에 제작자는 Ansible 콘텐츠를 세 부분으로 재구성했습니다:
-
Ansible 팀이 만든핵심 구성 요소
-
레드햇의 비즈니스 파트너가 만든인증 콘텐츠
-
전 세계 수천 명의 애호가가 만든커뮤니티 콘텐츠