BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Tier 3がCloud Foundryで.NET Frameworkをサポート

Tier 3がCloud Foundryで.NET Frameworkをサポート

原文(投稿日:2011/12/13)へのリンク

クラウドサービスプロバイダのTier 3VMwareのCloud Foundryの.NET版であるIron Foundryを発表した。Iron Foundryは多くの.NET開発者にWindows Azure以外の選択肢を与え、人気が高まっているCloud Foundryプラットフォームに導く。

Cloud Foundryが人気があるのは、Java、Ruby on Rails、Node.jsというような多様なプラットフォームをサポートしているからだ。しかし今まで、多くの.NET開発者は作成したWebアプリケーションをCloud Foundryに配置出来なかった。Tier 3のIron FoundryはソースコードがGitHubで入手できる。Iron Foundryは.NET開発者がIron Foundryのプロバイダが提供する環境や自社内のIron Foundryにアプリケーションを配置するのに必要なツールやフレームワークなどを含むコンポーネントを提供する。このコンポーネントにはCloud Foundryの.NET版のコードや、MicrosoftのIISを利用できるアップグレードされたDroplet Execution Agent (DEA)、Visual Studioのアドインとしても使えるCloud Foundry Explorerツールを含む。Iron Foundryを使う開発者はMongoDBやRedis、MySQLのようなCloud Foundryが提供するのと同じサービスが利用できる。また、Microsoft SQL Server用の新しいアプリケーションサービスも利用できる。

Tier 3はこの.NET版をメインのCloud Foundryのブランチと同期させ続けることを約束し、コミュニティフォーラムや無償のテスト環境を提供することで開発者を支援するつもりだ。このリリースについて詳細を知るために、InfoQはTier 3へ行き技術チームに話を聞いた。

InfoQ: Iron Foundryはなぜ生まれたのですか。.NETコミュニティの中でIron Foundryがどんなことを達成すると期待していますか。

Tier 3: 開発の動機はふたつです。ひとつは私たちはCloud Foundryを信頼しているものの、.NETベースの開発環境としてCloud Foundry上で.NETを使いたかったのです。これは私たちの顧客にとっても重要なことです。クラウドサービスを簡単に利用できるようになるからです。私たちの顧客にはミッションクリティカルなシステムを.NETベースで構築している企業が多いです。顧客がクラウドを使えるようにするため、私たちはCloud Foundryの.NET版に提供しました。Tier 3はCloud Foundryのメインのブランチとこの.NET版を同期させ続けます。WindowsバージョンのCloud Foundry ExplorerとCloud Foundry向けのVisual Studioのプラグインも同様です。

ふたつ目の動機は強力なオープンソースプロジェクトを提供することでコミュニティに貢献したいという思いです。.NET開発者がファイアーウォールの内外で使えるPaaSソリューションを選択できるようにしたいのです。Iron Foundryには長期に渡りコミットします。私たちのエンジニアは積極的にIronFoundry.orgのコミュニティフォーラムに関わり、コミュニティを成長させようとしっかりとしたサポート情報を提供しています。また普及を促進するため、IronFoundry.orgの“try it now”機能を通じて1人の開発者が90日間使える一組のウェブとデータベースのインスタンスで構成される完全なテスト環境を提供します。

InfoQ:Iron Foundryに配置したASP.NETのウェブアプリケーションとWindows Azureに配置したASP.NETウェブアプリケーションの 主要な違い(開発/配置/管理)は何ですか。

Tier 3: 両方とも素晴らしいPaaSプラットフォームで共に市場を獲得すると思いますが、私たちにとっては選択肢の豊富さと相互運用性に違いがあります。

開発者にとって、Cloud Foundryを利用する利点はアプリケーションを動かす場所が広がるという分かりやすい利点だけではありません。Azureの場合は、.NETに従わなければならず、その結果、ツールのプラットフォームに特有のものになります。しかし、Cloud Foundryの場合、ツールはプラットフォームと強く結びついてはいません。フレームワークがカスタマイズされているだけだからです。Iron FoundryはCloud Foundryプラス.NETです。なので、開発者は標準的なツールでアクセスできます。例えば、開発者はMySQLのバックエンド向けの.NETのコードを書けますし、Redisのような名前-値のペアのデータストア向けのコードも書けます。

また、Cloud Foundryには特有の相互運用性と拡張性があるので、NoSQLのようなAzureでは提供していないサービスにもアクセスできます。もちろん、オープンソースで大きな組織がコミュニティを支えてくれますので、この点のエコシステムも生まれるはずです。さらに、開発者は独自のPaaSを走らせることができます。なので、外部の運用環境のPaaSを利用する前に、テスト環境や品質保証環境、ステージング環境を持つことができます。

運用チームにとっての根本的な違いは、Cloud Foundryがオープンソースなので、Cloud Foundryをサポートするサービスプロバイダを使うという選択肢とプライベートなPaaSとしてサービスを構築すること独自のクラウド上でCloud Foundryを動かすという選択肢があるということです。これは運用チームに多大な選択の自由を与え、必要なスペックのプラットフォームを選択できるようになります。企業ならセキュリティやコンプライアンス、可用性やロケーションなどの必要性を満たすプラットフォームを選べます。

Cloud Foundryの最大の利点のひとつはアプリケーションにインスタンスを追加できることです。これはIron Foundryの利点でもあります。Cloud Foundryではインスタンスを追加するだけでアプリケーションが新しいノードに配置されます。また、Iron FoundryはAzureのようにIDEからの"クリックデプロイ"と同じ簡単な配置方法を提供します。ふたつの仕組みは両方ともよくできてきます。私が知っている限り、AzureではService Definition.csdefにすべてが定義してあるので、インスタンスの数やサイズを変更したらアプリケーションを再配置しなければならないはずです。

InfoQ: Iron FoundryにSQL Serverサービスを追加することで、"伝統的"なやり方を支持しました。一方でCloud FoundryはRedisとMongoDBを提供します。SQL Serverサービスを追加したのはMicrosoft関連の技術で開発をする開発者を引き入れるための重要な一歩だったのでしょうか。

Tier 3: .NETのエコシステムでは.NETとSQLはパンとバターみたいな関係です。SQL serverのサポートなしのIron Foundryはありえないと思っていました。Cloud Foundryが成長すれば、.NETをサポートするためにデータベースサービスとしてSQL serverをサポートしなければならないと思っています。

InfoQ: Cloud Foundryの環境で.NETアプリケーションを動かすための最大の障害は何でしたか。

Tier 3: 最初の障害はWindows Serverを動かしてすべての操作がLinux環境から移植できることを確かめることでした。次に、これが最大の障害だったと思いますが、ツールです。.NETの開発者がCloud Foundryへのアプリケーションの配置や構成に使えるリソースは限られていました。これを解決するためにWindows版のCloud Foundry ExplorerとVisual Studioのアドインを作ったのです。

InfoQ: Cloud FoundryとIron Foundryではアーキテクチャに違いはありますか。それとも単純に既存のアーキテクチャを拡張し、Windowsベースのアプリケーションコンテナを"プラグイン"しただけですか。

Tier 3: いくつかの小さな変更がありましたが、Cloud Foundryの美点はとても拡張性の高いシステムでほとんど問題なく他のサービスやアプリケーションを追加できることです。最大の問題は上述したとおり、WindowsとIISを有効にすることでした。

Iron FoundryはCloud Foundryのコードから分岐し、クラウドコントローラとNATSを追加して.NETウェブアプリを認識するようにしました。IISを使えるようにするためにWindows上のRubyでDEAを作りました。次はこのRuby+Windowsの実装をC#で置き換えるつもりです。この実装が分岐されれば、問題なくRuby on Railsのアプリを動作させることができます。私たちが正式にサポートするからです。また、VMCを.NETへ移植しましたがまだベータ版です。重要な項目は移植を終えていますが、まだ100%ではないからです。

この記事に星をつける

おすすめ度
スタイル

BT