configuration management tool ControlTier 소개 및 Fully Automated Provisioning

문태준의 이미지

http://kldp.org/node/106520 에서 논의하는 것과 관련된 주제입니다. 이번에 다른 사람들과 함께 진행하는 세미나때문에 자료를 보다가 유용한 내용이 있어서 정리를 해 보았습니다.

ㅇ iClassify
iClassify 는 자료를 찾기가 힘드네요. 해당 프로그램을 만들었던 회사의 홈페이지는 다음과 같은데 www.opscode.com 라는 회사로 변경이 되었다고 합니다.
자동화된 툴을 제작하고 서비스하는 회사입니다. http://www.hjksolutions.com/
이 회사에서 만든 Chef 라는 프로그램이 있으며 아래에서 정보를 볼 수 있습니다.
http://wiki.opscode.com/display/chef/Home

ㅇ ControlTier
Building an Automated Infrastructure 에서 단어만 나온 controltier 자료를 검색하여 보았습니다.
http://open.controltier.org/

이 사이트에서 오픈소스를 이용하여 완전 자동화된 프로비저닝을 구현하는 정보는 아래 url을 참고하면 됩니다.
puppet 과 controltier 를 어떻게 통합하여 사용을 할 것인지 내용도 설명하고 있습니다.
For more information on fully automated provisioning and the open source toolchain, see this whitepaper
http://blog.controltier.com/2009/04/new-whitepaper-achieving-fully.html

이 프로그램 상당히 참고할 만한 것들이 많군요.
controltier 의 위키페이지는 아래와 같으며 What is ControlTier? 를 보면 전체적인 소개가 있습니다.
http://sourceforge.net/apps/mediawiki/controltier/index.php?title=Main_Page

controltier 프로그램은 네가지 기능을 제공합니다.
- Jobcenter : 운영작업을 위한 컨트롤센터. WEB UI 및 CLI 가능
- Workbench : CMDB (Configuration Management Database), Reposigory, Automation designer
- Reportcenter : controltier 에서 일어나는 모든 활동을 중앙에서 볼 수 있는 레포팅 인프라
- WebDAV : 배포 프로그램의 중앙 저장소로 웹 표준 프로토콜인 WebDAV 사용

그러면 controltier 는 puppet 이나 cfengine 같은 툴과 무엇이 다른 것일까요? 소개페이지에서 그 답을 찾을 수 있습니다.
http://sourceforge.net/apps/mediawiki/controltier/index.php?title=What_is_ControlTier#What.27s_different_about_ControlTier.3F

puppet 은 시스템 레벨의 설정을 관리하기 위한 유용한 툴이지만 controltier 는 다량의 서버에 애플리케이션 배포, 상태 제어, 작업요청을 할 수가 있는 툴입니다.

ControlTier, Capistrano, Func 는 Command Dispatching Frameworks 로서 비슷하지만 ControlTier 의 장점은 자동화된 라이브러리, 웹 기반의 툴을 제공한다는 것입니다.
또한 중요한 것이 Capistrano 나 Func 에서 제공하지 않는 에러 처리 및 중앙화된 로그처리가 있습니다. Capistrano 나 Func 를 저도 써보지 않았고 Func는 처음 보는 툴이지만 에러 처리 및 중앙화된 로그처리는 운영업무에서 중요한 부분입니다.
Capistrano 는 ruby 로 만들어진 툴이고 ControlTier 는 Java 로 만들어진 툴인데 사용하는 사람이 자바를 알 필요가 없습니다. 자신이 좋아하는 언어를 편하게 사용하면 된다고 하는데 이건 ControlTier 프로그램을 직접 확인하지 않아서 모르겠네요. ControlTier 는 프레임워크를 제공하면 운영자가 자신이 원하는 언어나 스크립트를 이용해도 된다는 의미인 듯 한데요.

자기가 만든 스크립트를 이용할 것이냐 아니면 ControlTier 를 이용할 것이냐에 대해서 ControlTier 에서 말하는 것은 At it's core, ControlTier is a framework.

ControlTier 서버 프로그램은 Java 로 되어 있는데 Client 툴도 Java 라 되어 있는지는 확인을 안 했습니다. Java로 되어있다면 jvm을 깔아야하는 이슈가 있지요.
원격실행은 SSH를 이용하는데 윈도우에서도 이용을 할 경우 Cygwin 을 이용할 것을 추천하고 있으며 윈도우즈용 OpenSSH를 이용할 수도 있습니다.

사용자 권한관리는 LDAP을 이용할 수가 있습니다.

CLI 기반 클라이언트 툴에서는 원하는 호스트에 대하여 특정 명령을 쉘스크립나 원하는 언어 형태로 전달할 수도 있고 사전에 정의해놓은 그룹에 따라 적용할 수도 있네요.

ㅇWeb Ops 2.0: Achieving Fully Automated Provisioning
http://blog.controltier.com/2009/04/new-whitepaper-achieving-fully.html
ith our friends at Reductive Labs, we've just finished a whitepaper called "Web Ops 2.0: Achieving Fully Automated Provisioning"(pdf).
http://www.controltier.com/datasheets/FullyAutomatedProvisioning_Whitepaper.pdf
ControlTier 사이트에서 소개하고 있는 자료인데 위에 나온 pdf 자료는 좀 더 큰 관점에서 완전 자동화된 프로비저닝을 설명하고 있습니다.

주요 내용을 소개하겠습니다.

What is Fully Automated Provisioning? 완전 자동화된 프로비저닝은 무엇인가?

1. bare-metal 상태에서 바로 비즈니스 서비스를 준비할 수 있는 상태
SM의 수작업이 아니라 OS설치하고 바로 서비스 투입이 가능하게. OS설치자동화까지 하면 OS설치하면서 특정 프로파일을 바로 적용 가능함

2. No direct management of individual boxes
직접 개별 서버에 접속하여 작업하지 않습니다.

3. Be able to revert to a "previously known good" state at any time
언제든지 문제가 생겼을 경우 롤백할 수 있습니다.

4. It’s easier to re-provision than it is to repair
고치는 것보다는 다시 프로비저닝하는 것이 편리합니다.

5. Anyone on your team with minimal domain specific knowledge can deploy or update
지식이 적은 사람도 관리가 가능할 수 있습니다.

이 문서에서는 Application Service Deployment 로 ControlTier 를 사용합니다. (사용가능한 다른 툴 Capistrano)
System Configuration 으로는 Puppet 을 사용합니다. (사용가능한 다룬 툴로는 cfengine, Chef, SmartFrog, BCFG)
Cloud or VM Image Launch 로는 Xen, OpenVZ, VMware,AWS 등을 이용합니다.
OS install 에서는 kickstart, Jumpstart(Solaris), Cobbler, OpenQRM 등을 이용합니다.

위에서는 OS install -> System Configuration -> Application Service Deployment 순서로 진행을 하며 조직에 따라 레이어가 달라질 수 있습니다.

System Config 에서 puppet 모듈소스는 서브버전에 두고 자동으로 RPM 패키지를 만들어 puppet 저장소에 둡니다. RPM 패키지를 수동으로 제작하는 것이 아니라 이것도 자동화된 툴을 이용하는 것입니다.
Application 패키지도 RPM 포맷으로 만들어지며 (yum, rpm 이용) application configuration 은 전개할 때(설치할 때) 템플릿에서 자동으로 셋업이 되도록 구성되어 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.