サーバー設定ツール「Chef」のデータ管理機構「Data Bag」を使う

図2 設定内容をData Bagに分離した場合

 サーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はChefの応用編として、設定のためのデータなどを一元管理できる「Data Bag」という仕組みを紹介する。

仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する

図2 Mac OS X向けのVagrant配布パッケージ。インストーラが含まれている

 アプリケーションの開発やテストを行うために仮想マシンを利用するのは近年では珍しくない。仮想マシンを利用することで、開発者ごとに個別の環境を割り当てることも容易だが、いっぽうでその分だけ開発・テスト環境を構築する作業が必要となる。今回紹介する「Vagrant」は、仮想マシンの構築と開発・テスト環境の構築をまとめて行える支援ツールだ。

「Elixir Report」をWebアプリケーション向けのクエリ/レポートツールとして活用する

app02

 帳票ツール「Elixir Report」を利用することで、GUIツールでデータベースへのクエリを作成したり、クエリ結果の編集や加工が簡単に行えるようになる。今回はWebアプリケーションからElixir Reportを利用してさまざまなデータに対しクエリを実行したり、それらを元にしたレポートを出力する方法を紹介する。

「Elixir Report」を使ってクラウド上のデータをグラフ化してみよう

sf_rep21

 最近では、Google DocsやSalesforceといったクラウドサービスを使ってさまざまなデータを管理しているケースも少なくない。今回は「Elixir Report」を使って、このようなクラウド上にあるデータを表やグラフといった形で出力する方法を紹介する。

コードを記述することなしにデータを表やグラフとして出力できる帳票ツール「Elixir Report」

er_repo09

 さまざまなデータをドキュメント化するに当たって、面倒なのがデータを表やグラフといった形に整形する作業だ。特に印刷に向けたPDFなどを作成する場合、そのジェネレータ側で図や表のレイアウトなどを細かく制御する必要がある。そこで活用したいのが、図表のレイアウトや出力機能を持つツールだ。

さまざまなログをまとめて集中管理できるログ記録/管理ツール「fluentd」

図2 fluendのアーキテクチャ。ファイルやアプリケーションなどのイベントソースから受け取ったイベントが集約され、条件に応じてさまざまな出力先に出力される

 大規模なサービスを運用する場合、それらのログ管理をどうするか、というのが1つの問題となる。複数のマシンにログが分散すると、その管理や活用が面倒になるからだ。また、クラウド環境ではサーバーのリブートによってローカルのストレージが失われる場合がある。このような場合、別のマシンにログを転送するような仕組みが求められる。今回はこういった場合に有用なログ記録・管理ツール「fluentdを紹介する。

Rubyから「さくらのクラウド」を操ろう

図1 さくらのクラウド API v1.1 ドキュメント

 さくらのクラウドでは、公開されているAPIを利用することでサーバーの作成や各種設定などを自動処理できる。今回はこのAPIをRubyを使って操作する例を紹介する。

コマンドラインツール「sacloud」でさくらのクラウドを操作する

図1 さくらのクラウドAPIを使った処理の流れ

 「さくらのクラウド」では、HTTPベースで外部からクラウドの操作を行えるAPIが提供されている。APIを利用することで、スクリプトなどで仮想サーバーの作成を自動化したり、監視・管理といった用途を行うカスタムツールを作成できる。今回はこのさくらのクラウドAPIの概要と、さくらインターネットが提供しているコマンドラインクライアント「sacloud CLI」を使ってさくらのクラウドAPIを利用する例を紹介する。