2008年 7月 11日 金曜日 |
Project Carolineを試す, その1 - cashを使う English Translation: (Yahoo!) / (Google) Project CarolineはPlatform APIを使って、システムの構成をダイナミックに変更することができるホスティング型のプラットホームで、PaaS (Platform as a Service)等と言われるようなサービスです。概要は、Computerworldの記事で紹介されていますのでそれをご参照ください。
具体的な使い方の前に、少しProject Carolineの概要と仕組みをおさらいしておきましょう。Sun Labs Open Houseでのプレゼンテーション資料が公開されていますのでそれをベースに。 ![]() 以下意訳ですが、プロジェクトCarolineというのは、
![]() 上図は、Project Carolineで扱う資源(ファイルシステムや、ネットワーク、データベース、コンピュータ)を、あなたのコードによって動的に作れますよ〜。ということを示した図。ロードバランシングの設定も、プログラマチックに描くことができます。 ![]() もう少し具体的に見ていきましょう。上図は、現在Project Carolineで提供されている資源を大まかにまとめたものです。LB(ロードバランサ)や、NAT、VPN、DNS、VLANなどネットワークの資源。Processesというのが、実際にアプリケーションを実行するための資源です。現在はJava、Perl、Pythonがサポートされています。File systemsは、アプリケーションが使用するデータを格納したり、ログを出力するために利用する領域。Databasesは文字通りアプリケーションが利用するデータベースで、具体的にはPostgreSQLのインスタンスです。MySQLも将来的にはサポートするそうです。 ![]() リソースが、とか、プログラマチックに!と言われても少しピンとこないので、もう少し具体的なコードを見ることにしましょう。Project CarolineにはPlatform APIというCarolineのリソースを制御するためのAPI群が提供されています。上図では、ネットワーク環境を作るためのAPIを例示しています。createNetwork("ネットワーク名", ほしいIPアドレス数, コンフィギュレーション)という、たった一行だけのコードでIPアドレスを取得したり、他にもファイルシステムを作るAPIを使えばファイルシステムの領域を確保することも可能です。さて、概要が何となく分かってきたところで、実際に触ってみてもう少し理解を深めてみることにします。 Project Carolineでは、Carolineの環境を利用するために、NetBeansのプラグインや、antのプラグインなど、いくつかのツールが提供されています。今回は、その中でも対話的にProject Carolineを使うことができるcashというツールを使うことにします。cashは、現金ではなく、Caroline Shellですね。ちなみに、岡崎が使っているのは社内の開発環境グリッドのため、それに伴い公開されているProject Carolineのツールとはバージョン等が、微妙に違ったりしますが、ご容赦ください。 cashは、JRubyで実装されたシェルで、irbにPlatform APIを呼びやすくしたり、認証機能の追加など若干Caroline用に拡張したようなシェルです。JRuby 1.0.xの(まだJRuby 1.1.xでは動作せず(?)) gemを使ってインストールすると、cashというコマンドライン・ツールがインストールされます。 cashを使うには、まずGridのURLと、ユーザIDを取得しておきます。ユーザIDを取得するにはまず、Project CarolineページのUser accountを作成し、その上でさらに、Grid用のアカウントを取得するようにリクエストを出します。 ![]() 無事アカウントが取得できれば、あとはcashの引数でそれらを指定します。 $ cash -gridURL https://grid.projectcaroline.net -gridCustomerID hogehoge毎回いれるのが面倒なら、$HOME/.carolineというファイルに、 customerID = hogehoge password = hogehoge gridURL = https://grid.projectcaroline.netという感じで設定しておけば自動的に読み込んで接続してくれます。接続できたら早速、リソースをいじってみましょう。 $ cash 001:0 $ net = create_network "HogeHogeNetwork", 4 => #<Java::ComSunCarolineInternalPlatformimpl::NetworkImpl:0x5e7bf966 @java_object=com.sun.caroline.internal.platformimpl.NetworkImpl@709a11c0:https://dev.caroline.east.sun.com as:okazaki:5fa12555-ab56-4d7a-81cc-8e64ba73f978:okazaki@:HogeHogeNetwork> 002:0 $ fs = create_base_file_system "HogeHogeFileSystem", BaseFileSystemConfiguration.new => #<Java::ComSunCarolineInternalPlatformimpl::BaseFileSystemImpl:0x1dce910e @java_object=com.sun.caroline.internal.platformimpl.BaseFileSystemImpl@5a9fbed8:https://dev.caroline.east.sun.com as:okazaki:275c713e-ffbb-4a2e-ade1-f2570eead8b3:okazaki@:HogeHogeFileSystem>ネットワークと、ファイルシステムを作ってみました。ちなみに、メソッドやクラス名はTABキーで補完が聞きます。 003:0 $ net.delete => nil 004:0 $ fs.destroy => nil要らなくなったら削除。ちょっと、エントリが長くなりましたので続きはまた来週。 Project Carolineをためす, その0 English Translation: (Yahoo!) / (Google) Project Carolineを最初に聞いたのは去年のJavaOneの頃だったと思います。今年は、たとえばRailsConf 2008のプレゼンをみてもAmazon EC2のようなクラウド・コンピューティング環境にいかに、アプリケーションを適用させるかということが話題になっています。これでは話題に乗り遅れてしまう、と、危機感を感じてきたので、(自分にとって)手近なクラウド・コンピューティング環境であるProject Carolineを試すことにしました。 ![]() Project CarolineはまだSun Labsにおける研究プロジェクトで、商用サービスという段階ではないのですが、Sunパートナー向けには実証実験等の目的のためにサービスが公開されています。Project Carolineをやっているプロジェクトメンバーにアカウントください!ってメールしてみたところ、どうやらSun社員向けにProject Carolineの開発環境を評価用に使わせてもらえるとのこと。早速、今日はアカウントを申請してみました。まだ、使ってみての感想までの段階まではいきませんが、とりあえずほぼ準備が完了しました。続きはまた。 意味深なエントリー「カサブランカ」 English Translation: (Yahoo!) / (Google)
先々週5月17日に出た元エントリーCasablancaの日本語訳エントリーが出ています。まあ、邦訳されてももともと意味深なので、わかりやすくなったとは言えませんが :) 写真右側、また元エントリーを書いているJeff BonwickはZFSのアーキテクトで、Sunのフェローです。写真左側はおなじみLinusです。あんまり日本では話題になっていないような、気がするのですが、こういう意味深な段階ではニュースにもならないんですかねえ。いま執筆時点ではこの元エントリーに対して67個の憶測を含んだコメントがついています。 OpenSolaris 2008.05リリース記念セミナー, その2 English Translation: (Yahoo!) / (Google) この前の記事の続きです。ようやく写真が全部アップロードできました。なお、すでに知ってるよ〜という方も多いかと思いますが当日の資料はOpenSolarisの日本語ポータルよりダウンロードできますのでご興味のある方はそちらから資料をゲットしてみてください。
Solaris on Eee PCからSecondLifeを起動するというデモンストレーション。どうさ速度はけっこうキビシい感じ・・・。
SecondLifeで会話を試みるあかぴん先生。
続いて佐藤さんによるSolaris 10かNevadaかどっちを使うか!?というお話。
最後はQ&Aタイム。なんと、沖縄など遠くからこのためにお越しいただいた方も!
片付けも終わり、打ち上げ会場へ。
打ち上げ会場。
カンパーイ!カメラ談義で盛り上がったり、パッケージ管理についての熱い議論があったり、傍観しているだけでもそうとう楽しい打ち上げでした。 Mac OS X 10.4.11でSony GPS-CS1Kを使えるようにする English Translation: (Yahoo!) / (Google) 愛用のGPSロガーSony GPS-CS1K。以前書いたMac OS XをLeopard(10.5.2)からTiger(10.4.11)へダウングレードした理由の一つにこのデバイスがLeopardでは使えないことがあります。GPS-CS1は通常のUSB Massストレージデバイスなのですが、どうもMac OS Xのドライバとの相性が悪いらしく、利用できるOSのバージョンがMac OS X 10.4.9〜10.4.10のIntel Mac (および10.4.8のMac Pro)でしか利用可能な実績がありません。これに困っている人は多いようで、ググルと山ほど似たような症状を抱えた人のブログが引っかかります。
これは海外でも同様で、いろんなフォーラムやブログで日本と同様に困った困ったとの記事がヒットします。その中でも最もメジャーなワークアラウンドがSony GPS-CS1 for Mac (macgpscs1.blogspot.com)というサイトのワークアラウンドです。結構強引な方法なので当然サポート外な方法なんですが、サポート外でも何でもとりあえず使えるならと祈る気持ちで・・。今回の問題はGPS-CS1をハンドルすべきIOUSBMassStorageClass.kextというドライバのバージョンにあります。いろいろ情報をまとめてみると次のような感じです。IOUSBMassStorageClass.kextはMac OS Xのオープンソース部分Darwinに含まれているのでそれぞれソースコードを参照することができます。
ソースコードのdiffをとったりしてみましたが、どうも設定で回避できるような感じでもなく、どこかの分岐ブロックで機嫌が悪くなってしまっているようです。USBドライバどころかカーネルエクステンション自体、デバッグどころかビルドしたことさえないので、ちょっとこの先は手が出せそうにありません。仕方なく、先ほどのmacgpscs1.blogspot.comに紹介されていた手法でワークアラウンドを試しました。
OpenSolaris 2008.05リリース記念セミナー English Translation: (Yahoo!) / (Google) 先週の金曜日はOpenSolaris 2008.05 リリース記念セミナーに参加してきました。写真がまだflickrにあがりきっていないようですが、どうやら家でアップロードのバッチ処理がこけているようです・・。うむ・・。
さて、今回は神宮前のオフィスでの開催でした。実は神宮前オフィスへ行くのは今回がはじめて。それほど道は複雑ではないとはいえ、やや歩くのですごく迷子になりやすい自分としては行くだけでまずドキドキです (^^ゞ
実はセミナーの前に今回このセミナーだけのために来日されたSunのチーフオープンソースオフィサーSimon Phippsさんと社内メンバーと意見交換をしたりしました。 ![]() せっせと会場の準備。三つ部屋がつながるので結構広いですね。
たくさんの方にご来場いただきました。
大曽根さんの格好がぱっと見遠くからでは誰だかわかりませんでした・・・。
OpenSolarisのセミナーではビールが出て、乾杯から始まり、なごやかなムードで進められます。いつものOpenSolarisセミナーでは一人のスピーカーが2時間程度はなす、という流れですが今回はSunからは特別ゲストのSimonさんをはじめ、大曽根さん、長谷川さん、OpenNSUG/OpenSolaris User Groupからは太田さん、佐藤さんと豪華スピーカー陣でした。
最初はSimonさんから。オープンソースについて一番良く聞かれること。「オープンソースでどうやって儲けているのか?」についてお話をいただきました。
ホワイトボードを使って従来のビジネスモデルと、オープンソースを使った場合のビジネスモデルの違いを説明していただきました。おそらくこの辺りはSDC等で詳しくレポートが出てくると思いますので、省略しておきます。
次は大曽根さん。帽子の横かぶりがまたいい感じです。
続いて長谷川さん。
OpenSolarisをEee PCで使う!に続きます。写真のアップロード・プログラムがこけているので続きはまた後ほど・・。 FileBenchというのがあるのだそうです English Translation: (Yahoo!) / (Google) FileBench: FS パフォーマンス測定のための新時代ツール (Eric Kustarz's Weblog)より。
FileBenchというファイルシステムのためのベンチマークツールがOpenSolarisに入るそうです。岡崎はSun Java CAPSやGlassFishなど導入をしていただくために提案をしたり、技術的な質問に回答するのが主な仕事としています。これらの活動の中にはたびたびベンチマークやサイジング作業を必要とする提案や質問が含まれます。
あるJava EEアプリケーションのサイジングを考えた場合、最も簡単に手に入るサイジングの基礎情報はCPU性能とワークロードの関係を示したものです。たとえばSPECjAppServer 2004のようなスタンダードベンチマークは、ある特定のベンチマーク結果に対してサーバのノード数、CPU数(コア数, チップ数)が主に比較されるようなテーブルにまとめられています。ここで注目しておくところは、SPECjAppServer 2004ベンチマークではJ2EEアプリケーションサーバとデータベースサーバを含めたシステム全体としてのワークロードをベンチマークしますが、評価の主体がJ2EEアプリケーションサーバノード側にあることです。
J2EEアプリケーションサーバ側はJ2EEサーバノード数、インスタンス数、CPUの情報などがリストされていますが、DBサーバ側はノード数のみです。別に意図的に隠している訳ではなくて、単に見栄え上の問題だと思いますが、弊社を含め各社がSPECjAppServerのようなベンチマーク結果について言及する場合、やはりJ2EEサーバ側を取り上げて比較する傾向にあります。さて、少し前置きが長くなりましたが、ポイントはJava EEアプリケーションのワークロードについてCPU性能による影響が支配的だろう、というイメージを意図的ではないにせよ植え付けられていることです。
SPECjAppServer 2004のアプリケーションは現実のアプリケーションをモデルに作成されたアプリケーションとなっていますが、現実に使われるアプリケーションの要件とは少し違う点もいくつかあります。たとえば、近年セキュリティや内部統制の観点から様々な情報を監査証跡のためにログとして保存しておかなければならないという要件があげられます。このログはデータベースに保存される場合もありますが、ファイルシステム上のファイルとして保存される場合もあります。どこに保存されるにせよ、今まではあまり意識しなかった大量のシーケンシャル書き込みが発生するわけです。
このような状況もあって、最近はあらかじめ想定されたシステム構成で、CPUの性能に対してファイルシステムの性能(ディスクやキャッシュ、OSのファイルシステム全体で)が不足していると感じることが増えています。最近のCPUはマルチコア化、マルチスレッド化によって倍々ゲームで飛躍的に性能を伸ばしていますが、そのような倍々ゲームのような進歩はすくなくともローエンドなストレージではあまり実現されていません。たとえば10年前にSun Enterprise 10000のような64CPU搭載可能な大型サーバのワークロードは、CPUの性能だけで比較した場合、Sun SPARC Enterprise T2000やSun SPARC Enterprise T5120のような小型サーバによって置き換えることができます。
Sun Enterprise 10000のような大型サーバが導入されていた頃は、それに見合う十分強力なストレージが導入されることがほとんどでしたが、Sun SPARC Enterprise T2000やT5120のような小型のサーバを導入される場合には、初期の要件でストレージに対する要件が明らかでない限り、小型のサーバに見合う大きさのストレージか、場合によっては内蔵ハードディスクのみでシステムが構成されます。当然、ストレージの性能も10年前と比べれば飛躍的に向上していますのですべてのケースで性能が不足している訳ではありませんが、それは事前によくサイジングをした結果というよりは運良く不足がみられないと言っても言い過ぎではないと思います。
ですので、冒頭にとりあげたFileBenchのように自由にワークロードをデザインできるベンチマークツールは非常に強力なツールになります。またもちろん、ツールだけではなくアプリケーションがどのように振る舞うか、あるいは、その場合のファイルシステム利用の傾向を収集し、それぞれに対するベンチマーク結果を集積していくことが正確なサイジング作業には不可欠と言えるでしょう。 OpenSolaris 2008.05をParallels on Macに入れてみた English Translation: (Yahoo!) / (Google) JavaOneでリリースが発表されたOpenSolaris 2008.05ですが、VirtualBoxやVMware上にインストールされた例はすでにたくさんあるので、手元にあるParallels for Macに入れてみました。
UbuntuのようにLiveCDでブートします(おそらく、しばらくはOpenSolarisの説明をするとき「Ubuntuのように」がよく利用されるようになるでしょう)。ロゴがかっこいいですね〜。背景も、NetBeansの壁紙みたいに幻想的な感じです。
ブートすると最初にキーボードのタイプを聞いてきます。贅沢を言えばもう少しここはグラフィカルになってほしいですね。UbuntuだとグラフィカルUIがあって、しかもタイピングを試せます。とりあえず手元のキーボードはUSキーボードなのでそのまま続行します。一般的な日本語キーボードを使われている方は18番ですね。17番と紛らわしいですが、17番はSunのType 6キーボードのことです。
次はデスクトップで使用する言語です。これもUbuntuだとGUIで選べて、しかも現地語で表示されます。次回以降のリリースに期待ですね。今回は日本語を使いたいので7を選択します。
この二つの選択をすると、あとはX11が起動し、グラフィカルインタフェースで作業ができます。
左側にアイコンがいくつか並んでいて、OpenSolarisをインストールするというのがあるので、これをクリックしてインストールを始めます。ここはSolaris 10を手元のLaptop PCやデスクトップPCにインストールされたことのある方であれば、劇的な違いを感じられるところだと思います。
ようこそ。
使用するディスクのパーティションを決めます。
次にタイムゾーンを設定します。地図から選べるのでずいぶん楽ですね。
次に使用するロケールを設定します。ここはコマンドラインで聞いてきたやつを再利用してほしいところですね(どちらかというと、コマンドラインで聞いてくれるのがなくなればそれでいいですが)。
次は管理者(root)のパスワードと、一般ユーザアカウントの作成です。
最後に設定の確認です。問題なければインストールを始めましょう。
このようなプログレスバーがでてインストールが進みます。すいません、途中で目を離したのでどれぐらいで終わったかわかりませんでした・・・。
完了したらリブートします。
リブートしたらログイン画面が出ます。はい、無事にインストールできました。昔と比べてこういうのって、全然手こずらなくなりましたよね。いいことなんですが少し寂しい気も・・。 春の MySQL 祭り 2008 English Translation: (Yahoo!) / (Google)
来月のはじめ、4/9(水)に「春の MySQL 祭り 2008」というイベントをウェスティンホテル東京で開催するそうです。参加は無料ですが、事前登録制となっていますので締め切りまでにご応募ください。 MySQLは、Sunと統合がどうなっていくのか、という意味でももちろん興味がありますが前々からオープンソースなデータベースはかなり興味がありました。データベースはコモディティ化しないそうですから、コモディティー化しない分野でのオープンソースの活躍は興味津々。 最近、ずっとイルカの写真が手元に無いかさがしているんですが、今回はずいぶん昔の写真を見つけました。2000年2月の、まだSunに入る前、どころか、学生の頃でSunの就職試験を受ける前の頃の写真です。場所はニュージーランドのアカロアだと思います。 Solaris 8/07がダウンロード可能に English Translation: (Yahoo!) / (Google) いつも情報が早い気になるもの: Solaris 10 8/07 が download 可能になりました。によれば、Solaris 8/07 (いわゆるアップデート4)がダウンロード可能になったようです。
そして早速Solaris 8/07 x64版をVMware Fusionにのせてみたところです。(VMware FusionはCore 2 Duoだと64ビット版が使えるのがいいですね。)
ブートローダ。
64bitで起動。
ブラウザとメーラはそれぞれFirefoxとThunderbirdが標準になっています。 UltraSPARC T2が発表されました English Translation: (Yahoo!) / (Google) &ot
日本時間の本日(8/8) 午前2時頃からのWebcastでSunの新しいプロセッサAppleによる新iMacなどの発表などとも重なって購読しているブログの話題はほぼiMacとUltraSPARC T2で埋め尽くされました。
またUltraSPARC T2はOpenSPARC T2としてオープンソース化され、すでにマニュアルなども公開されています。スレッド数がUltraSPARC T1の倍(8スレッド/コア x 8コア = 64スレッド)、浮動小数点計算も各コアごとに(UltraSPARC T1は1つの演算機を8コアで共有)、暗号化処理、10Gbネットワークインタフェース、PCI Expressなどなど。 数年前まではどのCPUが一番早いのか?というような話題もとても興味があって、Intel, AMD, IBM PowerPC, hp PA-RISC, Sun UltraSPARCなどいろいろ調べていたものですが、最近は正直なところパフォーマンスとかあんまり気にならなくなっていましたが、今回のUltraSPARC T2がマニア心をくすぐるのはやはり暗号化プロセッサや10Gbネットワーク、PCI Expressなどが統合されたSystem on a Chipだということです。UltraSPARC T2が載ったサーバがどんな風になるのかわくわくします。 UltraSPARC T2のWebキャスト English Translation: (Yahoo!) / (Google)
米国時間8月7日10時(Pacific Time)、日本時間で言うと8月8日の午前2時頃からUltraSPARC T2に関するWebキャストをするそうです。もうこの予告ページだけでカッチョイイです。ドキドキします。ちなみにWebキャストを聞くにはRealPlayer 10が必要なので今のうちにインストールしておきましょう。Solaris(x86/SPARC)用のRealPlayer 10もあります。 先月の会津大学 Solarisインストールフェスタ, その1 写真で振り返る English Translation: (Yahoo!) / (Google) 先月末に会津大学で行われましたSolarisインストールフェスタのレポートです。今回はOpenSolarisエバンジェリストグループだけではなく、Javaエバンジェリストグループからも参加ということで、予告しておりました通り「気になる真夏の Java トレンド 3 つのレシピ」というタイトルでJavaセミナーも金曜、土曜と2回にわたって実施させていただきました。
初めて東北新幹線に乗りました。
会津のマスコット「あかべえ」
インストールフェスタ1日目は残念ながら雨でした。
学内には往年の名機が展示されています。
学内のあちこちには案内が表示されています。
こちらがJavaセミナーとSolaris Install festaが行われていた会場です。
こちらは学食。活気がありますね。
カレーを食べました。
学内施設を案内していただいたのですが、Sunのマシンがずらり!壮観です。
こちらはサーバルーム。
芝生が広々としかれており、ライトアップもきれいでした。
二日目(6/30土)はうってかわっての晴天です。
こちらはJavaセミナー終了後の粗品争奪戦です。クリスタルDuke大人気。
こちらはSolaris Install festaの様子。岡崎も後ろの方でSolaris Express Developer EditionをParallels on MacBook Proにインストールしてみましたが問題なくインストールできました。
こちらは駅近くのパソコンショップ。こちらにもインストールフェスタの案内が掲げられていました。 OpenSolaris インストールフェスタを会津大で開催 English Translation: (Yahoo!) / (Google) 来週末ですが、会津大学にてOpenSolarisインストールフェスタが行われます。もうslashdot.jpにも出ていますね。
今回はSolaris/OpenSolarisだけではなく、Javaネタも少しあって、岡崎と片貝さんも参加させていただき、Javaのセッションを持たせていただく予定になっております。タイトルはそろそろ夏ということで、夏らしい感じにしてみました。
Java ES 5リリース English Translation: (Yahoo!) / (Google) 待ちに待ったJava Enterprise System Release 5が満を持してリリースとなり、ダウンロードして使えるようになりました。Java Enterprise SystemはSunのミドルウエア群を組み合わせてパッケージ化し、その構成するコンポーネント間での互換性や相互運用性をしっかりと検証した組み合わせとして提供されるものです。 ちなみに、Sun Java Enterprise Systemという名前は長過ぎるので、Java ES(ジャバイーエス)と略します。よくJES(ジェス)と略される場合がありますが、これはNGなのでご注意を (同様に、Java EEをJEEと略すのもNGなのだそうです) さて、今回のリリースからバージョン番号がJava ES 2005Q4のようなリリース時期を示していたものから、Java ES R5というようにリリース番号で表現されるようになり、リリース時期の表記ではなくなりました。個人的には2005Q4とかはプレゼンとかに書くには長いし、リリース時期なんてだいたい覚えていないので今回の変更はうれしい変更です。 Java ES R5で個人的に注目しているところは次のようなところでしょうか。
|
Today's Page Hits: 848 |