1. Ansible 이란?

Ansible is simple automation language. Provisioning & Configuration management tool.

The Language of DevOps. 그래서 DevOps 언어라고도 합니다. 

특정 OS에 구애 받지 않고요, 빠름빠름~하다는 장점덕에 요즘 핫한 자동화 도구들 중 하나랍니다. 핫한데에는 이유가 있죠.

장점들에 대해서는 다음번에 알아보도록 할게용^^

광범위한 범위의 자동화를 위해 나온 Tool 이라고 하고요, 다른 자동화 도구에 비해 심플하게 접근할 수 있도록 playbook을 제공합니다.

이 playbook 하나로 이 서비스가 어떻게 흘러가는지 모두가 알 수 있죠.

 

Ansible도 커뮤니티 기술(오픈소스소프트웨어(OSS) 기반의 자동화 도구 (GPL))이기 때문에 계속 발전중이랍니다.

구글링해서 다른 사람들이 만들어 둔 playbook들을 참고하고 분석해서 내것으로 만들면 되는거죠!

상용으로는 Ansible Tower라고 하는 웹기반 엔진도 지원하고 있습니다. (Red Hat - Enterprise Framework)

 

2. Playbook 이란?

playbook 이란 play들의 모음을 얘기해요. 각 playbook은 하나 이상의 play들을 갖고 있습니다.

play는 여러 호스트들에 정의된 ‘role’과 ‘task’를 매핑하는 역할을 합니다. (여기서 task는 ansible의 모듈의 호출을 의미해요.)

미리 정의된 YAML 파일을 Include할 수 있기 때문에 role을 편하게 관리할 수 있답니다. :)

관리하는 playbook들은 버전화가 가능하답니다.

 

3. YAML ?

Human Readable하다는 YAML이 무얼까요? 다음은 위키백과에서 발췌했습니다.

YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 
2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다.

 

YAML 이라..이름이 좀 독특하죠? 어떻게 탄생된 이름인지 살펴볼게요.^^

 “또 다른 마크업 언어 (Yet Another Markup Language)” -> "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)”  로 변천되어 왔다고 해요.

YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 이름을 바꾸었다고 하네용..ㅎㅎ

 

 

간단하게 앤서블 알아봤습니다! 오늘은 끝 -