2011年に注目したいツール – ThoughtWorks Technology Radar

感想おまちしてます!

Screen shot 2011-03-20 at 11.50.49 AM

ThougheWorksTechnology Radar2011年版の適当翻訳。今回は2011年に注目すべきツールの話。

レーダーは以下の領域に分かれる。

  • Hold:注意をしはじめるレベル。
  • Assess:将来的にどう影響をおよぼすか知るため、価値を探し始めるレベル。
  • Trial:将来性を感じるためどのように利用するかを調べることが重要で、動向を追跡べきレベル
  • Adopt:試用期間を終え、利用方法などがパターン化され、採用に至るレベル

新しく登場したものは三角。既知のものは丸で表されている。

*

最近のデータセンターでは、クラウドの登場と共にたくさんのサーバ機器を扱うようになり、その規模も大規模にならざるを得ない。これらを手作業で構築、設定するのは賢い選択ではなくなってきた。

Infrastructure as codeは、バージョンコントロールに登録された設定スクリプトやファイルを使って、構築や設定を自動化するツールのことを指し、これは、ソースコード(スクリプトを指す)を使ってインフラを構築していく形になる。もはや、ソースコードは、アプリケーションやシステムの一部分だけでなく、インフラ面にも進出していくことになるだろう。有名なツールとしてはChefPuppetがある。Chefは「Opscode(運用のためのコード)」Puppetは「データセンター自動化ソリューション」という位置づけになる。二つのツールは、テキストベースのDSL(ドメイン固有言語)を使って自動化を推進する。これにより、矛盾がなく、繰り返し使え、手作業を減らし、特に環境ごとの差分解消に役立てることができる。

以下、その他、ツール面で新しく登場した技術

  • Vagrant (http://vagrantup.com/) – Vagrantは使いやすいバージョンコントロール記述子を使って、分散した仮想環境をシンプルに構築するツール。環境の差分を取り除き、トラブルによる時間の浪費を防ぐことができる。
  • Deltacloud (http://incubator.apache.org/deltacloud) – Deltacloudはクラウドが持っている共通のタスク(インスタンス作成、起動、停止など)に対するメタAPIを提供する。DeltacloudはRESTfulなインターフェースによって、クラウドごとが定義しているAPIを抽象化する。メタクラウドAPIのDeltacloud、DMTF標準へ申請。シトリックスもOpen Cloudでクラウドの相互運用を目指す via Publickeyの記事も参考にになるはず。
  • API Management – APIを提供することによってビジネスを広げていくことが可能だが、認証、認可、トラフィック管理、キャッシング、トラッキングやレポーティングといった部分は、すべてのAPIを通して必要となる機能だ。いくつかのサービスが、API Managementというこの機能に注目し、サービスとして提供を始めている。有名なところでは、MasheryApigeeが挙げられる。これらのサービスは、既存の管理ツールの代替として有効活用できるだろう。Masheryについては、時代読み (Mashery.com) via 100SHIKIや、MasheryのAPIマネジメント・システム、ビジネスをスタート via TechCrunchも参考に。Apigeeについては、WebアプリのAPI呼び出しを監視するApigeeはAPI用のGoogle Analyticsを目指す via TechCrunchに、分かりやすい説明記事がある。
  • WCF HTTP (http://msdn.microsoft.com/ja-jp/library/bb412172.aspx) – まだ早いかもしれないが、急速に開発が進んでいるMicrosoftのWCF HTTPにも注目したい。これは、HTTPをサポートしたテストしやすい、機能がきれいにわかれたAPIである。これは、Codeplex(OSS Project Hosting Service)で開発されている。Windows Communication Foundation概説 via @itに細かい解説が書かれている。
  • Splunk (http://www.splunk.com/) – アプリケーションログは、手助けになる場合もあれば、手強い敵となる場合もある。本番のエラー調査に役立つが、AWKやsedなどをつかって問題点を特定するツールを作る必要があるからだ。Splunkは、エレガントに、すばやくログを解析する。しかも、IISやLog4j、syslogといった一般的なログフォーマットに対応し、拡張性にも優れている。Splunkは、静的にもリアルタイムにもIndexをつくることが可能で、カスタムレポートも作成できる。Splunkのパワーは説明しきれない部分があるので、ぜひ一度使ってみてほしい。

これ以外で、聞いたことのない技術でAdoptに近いレイヤのもの。

  • Mercurial – gitはかわいいのだけれど、Enterpriseレベルで利用するにはインフラ面が弱い気がしている。Subversionも大規模になってくると分散できるような機能を使うことは可能だが、それほどパワフルではない。そもそも、ソース管理システムは、小さなチーム単位で環境が用意出来ればいいのではないかと最近考えるようになった。裏で、JIRAのFishEye(ソース検索)やReviewBoard(オンラインレビューツール)といった補助的なツールを入れるのが正解のように感じている。そんな中、Mercurialはまだ調べていないが、Next Subversionになるツールになってくれれば。
  • Next Gen Test ToolrspecCucumber
  • Message Buses Without Smarts – 謎。
  • Apache Camel – http://camel.apache.org/

Chef、Puppet、Vagrantといった運用に特化したツールが多く取り上げられているのが印象的。どんどん自動化にシフトしているが、これからはそうせざるを得ない状況になってくるため、ツールの調査にとりかかる重要性を感じた。特に、Splunkが気になる。NTTデータも提供しているみたいなので実績もつまれているということか。