Chef、アプリケーションを実行環境ごとパッケージングする「Habitat」をオープンソースで公開。仮想マシンやベアメタル、Dockerなどのインフラに依存せず実行可能に
Chefはオープンソースの新プロジェクト「Habitat」を公開しました。
一般的にアプリケーションを実行するには、そのアプリケーションを実行するための実行系やライブラリ、環境変数といった、いわゆる実行環境を整えることが必要です。そして実行環境はアプリケーションの外側にあり、OSやインフラとして整備しておく必要がありました。
例えばアプリケーションをビルドし、テストし、デプロイし、運用していく場合、その環境それぞれでアプリケーションの実行環境を整備する必要があるわけです。
Habitatをひとことで説明するならば、アプリケーションを実行環境ごとパッケージすることで、インフラ側で実行環境を整備する手間を省き、どのインフラでも簡単に実行できるようにしたものと言えます。
ChefのCTOで共同創業者のAdam Jacob氏は「Habitatでは、アプリケーションに必要なものはすべてアプリケーションと一緒になっている」と説明しています。「Build Deploy Manageを通してアプリケーションはどう振る舞うべきかを考えた。その答えがHabitatだ」(Adam Jacob氏)
Chefが提供している構成自動化ツールの「Chef」は基本的に、アプリケーションの実行環境としてのインフラをソフトウェアによって自動的かつ柔軟に構成するツールでした。
このインフラ側の自動化ツールを提供してきたChefが、実行環境をアプリケーションをパッケージにすることで、インフラ側の整備を大幅に省略できるHabitatを発表するというのは、ある意味で逆転の発想というか、問題を逆方向から解いたものだと言えるのではないでしょうか。
ChefではHabitatによって実現される機能を「Application Automation」と呼んでいますが、これはこれまでChefが提供してきた機能である「Datacenter Automation」と対になると考えると腑に落ちます。
Habitatはほぼすべての64ビットLinuxで稼働し、またプロプライエタリなソフトウェアのサポートも容易だとのこと。
ただしHabitatがどこまで普及するかは未知数です。従来のLinuxの延長線上にある概念や機能としてとらえやすかったDockerと違い、ドキュメントやチュートリアルを見る限り、Habitatには独自の仕組みや手順、考え方を理解しなければならない分、煩雑かつ複雑に見えます。
またHabitatが登場する以前から、DockerやPaaSなどによってこの分野の問題解決が模索されています。Habitatを真剣に必要とするニーズがどれだけあるのかが、今後の普及の鍵を握るのではないでしょうか。
あわせて読みたい
遅延しているJava EEの前進を訴える「Java EE Guardians」、日本Javaユーザグループが支援を発表
≪前の記事
Kubernetesとは何かを分かりやすく紹介する「よい子のためのKubernetes絵本」動画が公開