Skip to content
Joshua Jung edited this page Jun 2, 2014 · 3 revisions

소개

자동화(Automation)

클라우드는 컴퓨터 자원과 네트워크 자원, 그리고 소프트웨어를 통합한다. 따라서 자동화가 중요하다. 이 문서는 자동화를 다룬다.

클라우드와 자동화

클라우드는 연산 자원을 추상화했다. 클라우드 서비스 제공자는 사용자에게 물리적인 하드웨어와 네트워크를 제공하는 대신에 추상화된 소프트웨어(VM)을 제공한다.

이전에 사용자는 물리적인 하드웨어에 대한 직접적인 접근 권한을 가지고 있었으며, 기본적으로 운영체제의 모든 설정을 도맡아서 관리했다. 이른바 호스팅 서비스다. 호스팅 측은 시스템과 네트워크 인프라가 갖추어지면, (방문하기 귀찮아하는 사용자를 위해서) 최소한의 운영체제의 설치를 도와주거나 문제가 생겼을 때 시스템을 재시작 해주는 게 전부였다.

하지만 클라우드가 도입되면서, 하드웨어와 네트워크가 사용자로부터 분리되었다. 이제 사용자는 하드웨어와 네트워크를 관리할 필요가 없어졌다. 서비스 제공자가 모든 하드웨어와 네트워크의 설정을 담당해야 하는 상황에 이르렀다.

수백/수천 대의 하드웨어와 네트워크를 발로 뛰어다니면서 관리할 수는 없는 법, 운영체제 설치와 네트워크 설정을 자동화해야 할 필요성이 생겨났다. 물론 클라우드 이전에도 자동화 전략을 세우긴 했지만 공개된 형태로 이루어지진 않았다. 지금은 공개된 영역에서 클라우드 시스템을 자동화하기 위한 논의가 이루어지고 있다.

빅데이터와 클라우드

클라우드와 빅데이터는 함께 발전한다. 가장 밑에 IaaS가 있을 것이고 이 위에서 SaaSPaaS가 올라갈 것이고, 이위에 빅데이터 솔루션과 데이터들이 올라갈 것이다. 클라우드 위에서 작동하는 빅데이터는 서비스의 오버헤드를 제거하고 설정과 제어를 중앙에서 관리할 수 있게 해서 빠르게 서비스를 전개하도록 도와줄 것이다.

자동화 툴이라는 것은 개발자의 개인의 의지와 역량에 종속되고, 많은 시간을 들여서 제대로 작동하는 자동화툴을 유지하는 것도 상당한 일이였기 때문에, 그 상황에서만 쓸 수 있는 경우가 대부분이었다.

다행히 지금은 표준화되고, 잘 유지/보수 되는 툴들이 있다. chefpuppet, cfengine, Bcfg2 등이 대표적인 자동화 툴들이다. 그 중 pubbpet와 chef가 자동화 분야를 이끄는 것으로 보인다. 여기서는 chef를 다룬다.