
즉, 코드에 의해서 우리가 원하는 환경을 구축하는 것
클라우드 상관없이, 다중 클라우드, 다중 환경 관리 가능 도구
자체적으로 사용하는 DSL(Domain Specific Language) 언어 사용함
인프라의 구성을 원하는 형태로 유지하기 위해 사용하는 오케스트레이션 도구
스크립트로, 시스템 상태 변경 및 유지 가능
프로비저닝 도구로서, 사용자 서버에 대한 액세스 관리, 소프트웨어 설치 도구로 사용 가능
인프라 구축 용도로 사용
기존에 구성되어 있는 서버 정보 변경/설정 을 원하는 형태로 바꾸는데 특화된 IaC
구성관리 도구라고도 한다
시스템 교체 작업도 되지만, 문제점 발생 시 해결 및 대응하는 과정을 스크립트화해서 작업하곤 한다
구축된 서버를 관리하는 용도로 사용하는 서비스 느낌이 강함

문제 생기면, 관리자가 직접 새로운 서버 증설함

Ansible에 서버 관리할 수 있도록 지정
어떤 서버가 문제 생기면, 기록 되어 있는 정보에 의해 자동으로 서버를 증설함

기존에는 에이전트에 의해 서로간의 통신을 어떻게 할지 정해주곤 했는데,
엔서블 사용시, 서버와 클라이언트간 에이전트 필요 X
-> Python 네트워크 모듈로 서버와 통신하고 있어서
이전 실습에서, 이미 실행 중인 도커 컨테이너를 Jenkins 빌드 과정에서 진행하면 오류가 났다 -> 기존 컨테이너를 중지하거나, 여러번 실행해도 지속으로 그 작업이 반응 할 수 있도록 해야 한다
Ansible의 역할은, 기존 도커에서 가동된 컨테이너를 중지 후 다시 기동하거나, 다시 이미지를 빌드하거나 하는 과정에서 즉, Deployment 관리를 해주는 용도로 Ansible 도입해서 사용하고자 하는 것



윈도우즈에 Ansible서버 설치는 어렵다. 도커에 ansible 설치해서 사용하면 된다
(아니면 가상화도구 virtualbox 사용해도 된다)
다른 상태로 구성된 운영체제여도, Ansible에 있는 파이썬 네트워크 모듈과 각 운영체제에 파이썬 네트워크 모듈 있다면, 통신하는데 문제 없다.
(Python 상태에서 SSH)
