InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Adobe が Hadoop のための Puppet レシピをリリース

作者 Michael Prokop , 翻訳者 吉田 英人 投稿日 2010年7月12日

セクション
運用/インフラ,
デベロップメント,
設計/アーキテクチャ
トピック
デプロイ/データセンター ,
マネジメント ,
オープンソース
タグ
マネジメント ,
Adobe ,
MapReduce ,
DSLs

原文(投稿日:2010/07/01)へのリンク

Adobe は先日,Hadoop/HBase デプロイメントを自動化するための Puppet レシピ をコミュニティ向けにリリースした。InfoQ では PuppetLabs の創設者である Luke Kanies 氏に,その目的について詳しく聞いた。

Puppet はデータセンタの自動化を目的とするオープンソースツールであり,InfoQ でも2010年2月に一度取り上げて いる。Puppet は小中規模の企業だけでなく,GoogleDiggSun/Oracle といった大企業のインフラとしても使用されている。

Hadoop は Apache 財団のオープンソースプロジェクトである。Java で記述されていて,巨大なデータを取り扱うためのスケーラブルで分散可能なフレームワークを提供する。Google の MapReduce パラダイムに着想を得た Hadoop は,FacebookTwitter など,ペタバイト規模のデータを扱う企業で運用されている。

今回 Adobe がリリースした Puppet レシピ は,Hadoop/HBase のデプロイを自動化するためのものだ。InfoQ では Puppet の支援企業 Puppetlabs の創設者であり,プロジェクトのリーダでもある Luke Kanies 氏にインタビューした。Adobe がこの Puppet レシピをリリースしたことに関して,氏は3つの事実を強調している。

  • Adobe のような大企業が,基幹インフラに Puppet を使用していること
  • 従来型インフラと先進的インフラの両方の管理に Puppet が使用されていること
  • Puppet を利用したソリューションの共有化とコラボレーションの価値を Adobe が認めていること

オープンソースの利用を公表する大企業の存在は,オープンソースプロジェクトの従事者にだけでなく,インフラへの導入を検討している人々にとっても重要な意味を持つ。大企業におけるオープンソース利用に関して,氏の見解を聞いた。

私の経験から言えば,企業の大部分はオープンソースに満足しています。ただし私の経験は,オープンソースのサービスやサポートに積極的に対価を払っている企業や,機能しない商用ソフトウェアをオープンソースに置き換えている企業に,どうしても偏ったものになってしまいます。
5~10年前, Puppet を使用する企業の多くは,オープンソースに大きく依存することに非常に抵抗を感じていました。しかし現在では,本当に多くの人たちがオープンソースを活用しています。マーケットも確実に変化したと思います。

ビジネス的に裏付けされたオープンソース企業は,開発者と顧客どちらにとっても望ましいものだ。Puppet がどのように発展してきたのか,Luke に質問した。

Puppet の特徴的な点のひとつとして,プロジェクトとサポート会社が同時に発足したことがありますが,これは私の経験を活かしたものです。もしプロジェクトが,請求書の支払いができるほどうまく立ち行かなかったとしても,私の生活がプロジェクトの状況に頼らずに済むのであれば,何とか切り抜けることはできるだろう,という考えなのです。システム管理者指向のプロジェクトである Puppet では,開発者志向のプロジェクトほど多くの協力は期待できません。ですから,Puppet Labs によるスポンサーシップは一層重要なのです。

Hadoop が採用されるのは,大量のデータを扱う必要のある場合が普通だったが,大学での教育目的という新たな用途も見つかっている。Hadoop 用の Puppet レシピは中小規模の企業にも関心の持てるものなのだろうか。Luke の意見は次のとおりだ。

Puppet モジュールによって Hadoop は,より規模の小さな組織にもアプローチ可能になると思います。Hadoop のデプロイと管理に要するコストを正当化するためには,それによって達成される自動化が相当に高度なものでなければなりません。しかしデプロイと管理をシンプルにすることで,小規模な組織でも対応可能な程度にプロジェクトの全体コストを押さえることができるのです。

自動化は大企業においては十分達成されているものの,規模の小さい企業では管理やデプロイ設定に要する労力についての不安も多い。Luke が Puppet を導入する場合の秘訣を教えてくれる。

Puppet を使い始めるには,まずは苦痛を感じている部分の自動化から取り掛かるのがよいでしょう - 夜中に呼び出されたり,たくさんチケットを生み出したり,時間ばかり掛かって成果がないようなものから始めるのです。実際にやってみると,たいていはそれほど複雑ではありません。自動化することによって時間が自由になり,より大きく長期的な計画が可能になります。
ほとんどの Puppet ユーザが,最初は非常に小さな部分から始めています - 機械のごく一部分の管理から,というように。例えば,私たちはほとんどの場合,最初は企業の1部門や1部署といった単位でサポート契約を結んでいます。そして Puppet デプロイメント毎にグループからグループ,あるいはサーバプールからサーバプール,といった範囲で契約を拡大していくのです。
Puppet を使って Hadoop をデプロイするとき最初に必要なのが,Hadoop を用いて解決すべき問題であることは当然です。しかし私は Hadoop のためにだけ Puppet デプロイメントを構築する,というのも理にかなった選択だと思っています - Hadoop の使用を希望していて,現在 Puppet を使用していないのならば,Hadoop 以外のものを Puppet で管理しなければならない理由はありません。私はこれまでに,目的を絞った Puppet インフラ構築を行う企業の例をいくつも見てきました。最初の問題さえ解決すれば,Puppet の利用はやがて拡大していくものです。

Puppet に興味のある InfoQ 読者には Puppet Module Repository を訪れることをお奨めする。Puppet による問題解決の実例が紹介されている。他の Pappet ユーザに質問や議論をしたいなら Google Group の http://groups.google.com/group/puppet-users がいいだろう。Puppet についてより深く知りたい人のためには,先日リリースされた PuppetCamp Europe の ビデオとスライド集 がある。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。