2017년 3월 27일 월요일

Ansible Tower 따위를 쓰는 이유





Ansible 따위를 쓰는 이유

호랭이 담배 물던 시절에는 IDC 라는 것 자체가 없었다

대부분 전산실이라는 이름을 붙여서 연구소에 끼워놓거나

좀 커도 전산실이였다

장비도 DB 몇 대  스위치 몇 개 라우터 Mux 등등 해서 수십대 미만..

그냥 창고형 전산실(?)도 부지기수

이때는 윈도우 건 unix 건 그냥 접속해서 일일이 작업하는 것이 그다지 부담스럽지도 않았고

같은 기능의 서버의 여러대 있지도 않았기에 반복작업 이랄것이 그다지 없었다
(콘솔열고 몇대 접속해서 작업하는게 무슨부담?  꺼먼화면에 뭔가 휙휙~ 지나가면 간지도 나잖아?)

현재는

같은 서비스의 웹서버만 30대

같은 서비스의 WAS만 40대

비슷비슷한 또는 마이크로서비스형태의 수많은 서버

가상화로 인한 엄청나게 많은 장비들의 구성되었고

가끔 1명당 담당서버가 300대를 넘어가는 IT기업도 있다

이런 경우  hosts 파일에 정보 하나 넣으려고

또는 수정된 APP 배포를 위해 수십대의 WEB/WAS를 재구동하기 위해

수십~수백대에 접속한다는건 말이 안되는 현실이다

하지만

이미 이러한 문제는 쉘 스크립트 + SSH 로 해결하고 있었고

돈 많은 곳에서는 Automation Solution을 도입(만)하기도 하였으나

전자는 회사내에 스크립트 장인(?)이 있어야 하고 (가끔 잘못 돌려서 잣 되는 경우도....)

후자는 옛다 쳐먹어라!

할 만큼 돈이 많이 든다 (가끔 솔루션이 맛이 가서 아무것도 못하는 경우도...)

그래서 OSS 쪽에서 만들어진 자동화도구들 중에 최근 많이들 관심가지는 것이 Ansible
(책임감있는 앤서블.. 앤~씨불 아님...ㅋㅋ)

특히나 PaaS(퍼블릭가상화)에 대한 기대치가 높아지면서

PaaS환경내에서 사용자 작업없이 자동화되는 부분에서 높은 필요성이 대두 되었고

PaaS 솔루션인 RedHat OpenSift의 경우 내부적인 설치, 관리, 배포 등에서 사용되고 있다
(사용자가 하는게 아니라 솔루션 내부에 built-in)



그럼 Ansible Tower는 뭔데?

앞서 말한 OSS(Open Source Software)인 Ansible은 말그대로 뼈대만 제공한다.

설치하면 명령어 몇 개가 포함된 패키지와 관련된 파이선이라는 언어가 설치 되는데....

설치야 한다치고 까만 화면에 뭘 해야 할 지 알 수가 없다. ㅜ.ㅜ

그걸 극복하고 에드혹(?)명령어를 오타없이 날리고  플레이북(?)을 만들 능력이 된다해도

실제 기업에 적용하여 사용하려면  문제발생시 통보와 결과에 대한 관리 ,

작업자 마다 수행할 작업이 다르고

혹시모를 실수를 방지 하기 위해 권한 및 그룹 관리를 해야 하는데

이건 OSS Ansible에서는 할 수 없는 것이고  필요하다면

뭇 OSS의 미덕이 그러하듯 다 너님이 개발해서 써야한다

그런데.... Ansible 하나 쓰겠다고  수십명의 개발자(억단위  프로젝트가 된다)를 쓸수도 없고

결국 뚝딱뚝딱 개발해낼 능력자가 없는 대부분의 회사에서는

기업의 크기가 어떠하든 서버의 댓수가 얼마이든

잘 하는 사람이

잘 아는 서비스에

잘 아는 서버를 대상으로

완벽하게 컨트롤 가능한 환경에서 일부 쓰일 뿐이다

그래서

순수 "오픈소스" 가 아닌 "오픈소스 비지니스"(오픈소스로 돈벌기)영역에서는

뼈대 수준인 Ansible에 살을 붙여서

GUI 콘솔, 워크플로우, 인증환경, 그룹 및 사용자관리, 작업결과 관리, 모니터링 등의

실 업무를 위한 기능을 추가하여 기업제품으로 제공하고

그 제품이름이 Ansible Tower가 되시겠다.  (레드햇 제공)




그렇다고 사람들이 생각하듯 이거 사면 자동화가 다 되는건가? 하는 생각은 버려야 한다.

이 제품을 쓰기 위해서는 Ansible에 대한 이해가 필요하고

실제 운영자는 Ansible AdHoc과 Playbook을 만드는 수준의 기술이 필요하다

이 제품은 Ansible을 운영할 줄 아는 사용자가

Enterprise에서 실제 확장 적용하여 사용할 수 있게끔 만들어주는 솔루션이다.

HP OPS군같이 GUI에서 클릭클릭 해서 뭔가 하려는 생각은 버려야 한다
(알다시피 이 비싼 제품들도 고난이도 작업은 어짜피 스크립트로 해결한다..)

이것 저것 떠나서

- 우리는 300대 서버에 대해서 과거 10년간 사용하던 shell script로 잘 운영하고 있고
- 이걸 관리하는 사람들도 큰 불편없고
- 이걸 쓰는 사람들도 스크립트에 불만이 없다면
- 또는 jenkins씨에 SSH 플러그인 먹여서 잘 쓰고는 있다면......

그냥 그대로 사시라.... 이거 사서 설치한다고 세상이 변하지 않는다 (혁신은 개나 주자고!)


각설하고 OSS로 개발된 SW를 개선하여 메뉴얼과 기술을 판매하여 수익을 생산하는....



이러한 비지니스형태는 단지 Ansible에 국한 된 것이 아니라 대부분의 오픈소스가 취하는 비지니스형태이다

다만 한국에서는 아직 이런 비지니스의 개념보다 "공짜" 라는 생각만 하는 사람이 많다보니

오픈소스 하는사람을 무슨 봉이 김선달 보듯이 하는 경향이 있지만

나는 이야기 해주고 싶다

다운로드 받아서 쓸꺼면 그냥 잘 쓰시면 되구요...  안말려요

하다가 몰라서 물어 볼꺼믄 돈을 내라니깐???  나도 먹고 살아야죠?  같이 삽시다 웅?


.이상

댓글 2개:

  1. ㅋㅋㅋ 글 잼나네요.
    게시글 참고해서 '앤서블 타워' 설치했네요. 감사용~

    답글삭제
  2. 앤서블 타워 설치중에 이글을 보고 웃었습니다 ㅎㅎ

    답글삭제

본 블로그의 댓글은 검토후 등록됩니다.