PR
連載 :
  インタビュー

Serverspec誕生からインフラCIの今後までを開発者に聞いてみた

2014年11月11日(火)
鈴木 教之(Think IT編集部)
Serverspec開発者の宮下氏とTISの池田氏による対談形式のインタビューです。

Serverspecはエンタープライズでも使えるのか?

池田:いろいろなケースを教えていただいたのですが、SIerである私たちが担当しているようなエンタープライズ領域で使用するうえで注意したほうがいいところってあったりしますか。

宮下:僕はもともとSIerにいたんですけれども、もうWeb業界に来てから長いので疎いんです。。ただ、エンタープライズになると、やっぱりWindows対応は結構強く求められるのかなと思っています。

池田:確かにそうですね。WinRMでつないで、Power Shellコマンドを実行できるようにはなっているんですよね。基本的なテストとかであればすでに実践的に使える状況でしょうか。

宮下:割とカバーはしていると思います。実は僕はまったくノータッチでPull Requestが来たものを取り込んでいるだけなんです。実際に最近ツイートされていた方で、Windowsで納品用のサーバーのテストをやっているというツイートしていた方もいらっしゃいます。あと、いわゆるプロプライエタリなソフトウェアだと、そこのテストは難しいですよね、実際にその製品の中身がまったくわからないので。

池田:製品特有のテストだとなかなか難しそうではあります。Serverspecで対応しているのは、基本的にオープンなもの、よくあるパターンのものですね。例えばあるアプリケーションのテスト用のモジュールを取り込んでください、といったリクエストが来た場合はどうされるんでしょうか。

宮下:あんまり特殊だと多分取り込まないですね。恐らく別のGemにしても普通に動くと思います。ですので、本体に入れることはあまりしないと思います。ただ、拡張はしやすくしているつもりなので、そこは自由にできるのではないでしょうか。

池田:エンタープライズな視点だと、どうしても報告というのが求められます。一番気になるところは、本当にServerspecのテスト結果が正しいのか、というのは結構お客さんから言われそうな気がするんです。

宮下:言われます、それ。

池田:今だとどうしてもエクセルのファイルでテスト結果を残して、それをお客様に説明しに行くみたいなのがよくあるんですけれども、そのあたりって何か良い方法はないでしょうか。

宮下:実際にそういうケースのプルリクエストが来たことがあります。Serverspecのテストは失敗したときだけ実行したコマンドを出しているのですが、成功したときにも出したいという方がいました。僕は必要がないので、そのリクエストをリジェクトしたんですけれども。ただ、ベースになっているRSpecが、カスタムフォーマッターを作れるんですね。なので、そういうのをやりたい人は自分でフォーマッターを作ってくださいというそういうスタンスです。

エクセルとかで出したい場合もRubyのGemもあると思うので、そういうのを使ってフォーマッターを自作してもらえればいいかなと思っています。

池田:SIerとしてはレポーティング機能を提供できるようになるとちょっと実用に近づくかなという感じです。

宮下:僕自身は必要ないんで作りはしないんですけれども、要望しているところは結構あると思います。そういうのを作って公開とかされると、割と喜ぶ人もいるんじゃないでしょうか。

池田:Serverspec自体が柔軟な作りで、カスタマイズ性が確保されているので、自分たちがやりたいテストを自由に書けるかもしれないとは思っています。エンタープライズ領域での可能性はあるかなという気がしています。

でもやはりどうしてもネックになるのは、お客さんとの間のやりとりで、そこが一番心配なところです。それを受け入れてくれるようなお客さんであればすぐにでも使っていただけるんじゃないかなと。お客さんも一緒に巻き込んで、納得していただいてちゃんと理解していただいた上で導入を進める。そういうやりとりをちょっと変えていくというところが、重要なのかなと感じているところです。

 

池田:先ほどおっしゃっていたように、Serverspecが価値を発揮できるところは、たくさんのマシンがあってそれに自動構築して、それをちゃんとテストしていくというところになりますよね。

宮下:そうですね、例えばマシンが少なくてもChefとかを使う意義がある場合もあるじゃないですか。個人的にはあまりマシンの台数とかは関係ないかなと思っているんですけれども。

池田:Chefは結構最初にコードを書くのに時間がかかったりして、少ない台数を管理するシステムに導入しようとすると、コスト的に見合うかどうかという問題がありますよね。

運用になると安定思考というか、作ったらいじらないみたいなのがあったりします。そういう場面だとChefとかは使いづらい気はします。ただ当然全部自動化しておくと、後々何かあったときに便利な面もあって、そこをなかなか説明できないのですが。。

宮下:確かに難しいですよね。

Serverspec導入の障壁になるのは

池田:ChefとかよりもServerspecのほうが導入コストがすごく低いというのが個人的な印象です。

宮下:確かに、実際Chefの導入とか相談されたら、まずServerspecの導入から勧める、と知人が言っていました。現状の手動やシェルスクリプトなどの構築手順をテストするコードをServerspecで書いて、そのテストが通るようにChefでコードを書いていく。

池田:まさにTDDで進める感じですね。ちょっとずつ進めるには、そういう方向性のほうがやりやすいのかもしれないですね。

宮下:特にServerspecはまずやってみるというところをかなり意識しているつもりです。

池田:確かにそうですよね。Serverspecは、最初に初期化したときもうすぐに使える状態でパッと出てきてくれるので、そのあたりはすごい参考になりました。

著者
鈴木 教之(Think IT編集部)
株式会社インプレス Think IT編集グループ 編集長

Think ITの編集長兼JapanContainerDaysオーガナイザー。2007年に新卒第一期としてインプレスグループに入社して以来、調査報告書や(紙|電子)書籍、Webなどさまざまなメディアに編集者として携わる。Think ITの企画や編集、サイト運営に取り組みながらimpress top gearシリーズなどのプログラミング書も手がけている。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています