デベロップメントオンラインゲーム開発に最適なプログラミング言語は何か?最近のゲーム開発者は、ゲームをより分かりやすく、魅力的なものにすることに注力しています。そのためには、最適なプログラミング言語を選択するという問題が生じます。すべての要件を満足する言語を選ぶのは簡単ではありませんが、JavaScriptのようなリーダに頼ることは可能です。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。app17:13バイオグラフィ大学時代はソフトウェアの正当性や停止性の証明、プログラム合成を学ぶ。帰国後、1990年代はインターネット、Javaビジネスに従事。本部長として、仮想化ビジネスを推進中。中村さん、今日はお時間頂きましてありがとうございます。最近はあまりそういった講演活動というのはちょっとご無沙汰されているように私は感じているのですけれども、実際は違ったビジネスも始められている、というようなウワサも聞いておりまして、今日はそのへんのところを可能な範囲でお聞きしたいと思っています。現在従来のJavaの事業からどんなことをされているのか、ちょっとそのへんの片鱗をお聞きしたいと思います。うちの社内でも誰でもやるようになったので、(彼らに)やってもらえればいいかな、と。その後若干個人的には4年ぐらい、会社の全体のストラテジーを決めるセクションでやっていたのですが、ここに来てSaasだとか、サービスだとかいうものがムーブメントで上がってきたので、また幹部の方からご指名がかかりまして、なにかサービスビジネスをやれ、ということで、実は今仮想化というのに取り組んでいます。仮想化というキーワードは最近非常にあちこちで聞く機会が多いのですが、具体的にビジネスとしたときにどうなのだろう?というところはみんな非常に模索をしている状況だと思うのですが、具体的には、仮想化のビジネスと言ったときに、どのようなことを現状されているのでしょうか?まず、今のプロジェクト自身は、2年ぐらい前からやり始めたわけです。きっかけは今日立ソフトでは、だいたいプロジェクトを、社員・パートナーの人を含めて1万3000人くらいで回しています。全てのプロジェクトを。ある時サーバを棚卸ししようということでやってみると、社内で1600台もサーバがありました、という話がありまして、その内約8割9割がPCサーバなので、たまたま今から2年ほど前なので、そろそろ現場も64ビット系のベースにした開発というのが入ってくるときに、このまままた64ビットのサーバを1600台買うというのは、話になりませんということがきっかけで、その時に仮想化を使ってまずは社内の開発サーバをうまく集約できないか、ということをやり始めたわけです。これが2年前の話です。非常に面白い話ですね。世の中でVMWareだとか、Xenだとかがちょっと会話になり始めたか、2年前だったらなり始める前ぐらいですよね。それから、結局私の方は社内をやっていても仕方がないので、それをお客様に提供しようということで、プランニングを半年ぐらいで、去年の今頃、ちょうど一年前に「SeucreOnline」と言うブランドを立ち上げたのです。それを今やっています。それはどこでも同じで、どうもこの業界って、モノ作りの人というのは自分の席の横にサーバを置きたがる人が多くてですね、よっぽどかわいいのかと思うのですけど、だから仮想化なんかだと遅くてダメなんじゃないか?と、あるいは、プログラムのインストール一つとっても、自分の席の横で、そこにCD-ROMをセットして、インストールしないと不安で仕方がない、コンソール使うのはイヤだ、という人が結構いるんですよね。それを取り上げるわけですから。Serverを使っているんですけど、そこでVMを作って各現場に使わせているわけです。そこの不安感が一番大きかったわけなのです。そのへんのところは現状ではかなり解消してきているということですか?だいぶ解消しました。社内(で使い始めた頃)から言うと2年経っていますので。結局仮想化のポイントというのはメモリ(の容量)なので、メモリを現場の言うとおり4GBだとか、それぞれ与えていると、あまり仮想化のメリットは無いわけです。我々の経験から言うと、実は今のウチの社内の標準モデルというのは、メモリ1GBでハードディスク10Gなのです。増やすことも出来るのですけど、まずはこれで使ってください、とやっているわけですよ。この抵抗感がすごく大きいのです。通常だったら2G(のメモリ)で、例えばハードディスクなんかそれこそデスクトップだったら500GBだとかいう感じに出来る世界があるのに、どうして1GBで10GB(の容量)なの、という話になるのですが、まずはそれで使ってくれ、と(言っています)。現実問題でやってみると、ほとんどの人が(メモリを)1GBも使っていないわけです(笑)。我々社内でも課金するわけだから、メモリが増えればそれだけたくさんの課金になるわけですけど、現実問題として1GBで済んでいます。ディスクに関してだけは、20GBにすることもあるのですけど、それはもうどちらかと言えば少数派で、もう6割7割は10GBで全然満足しています。それはサーバだからというのもあるのですけどね。この前1年間くらいやってきて、非常に面白かった話は、ある基幹系の会計システムを開発していて、それも似たような環境で仮想化をやっていて、組み合わせテストも終わって、いよいよ本番機で性能(テスト)もやらないといけないとなったときに、本番機の、しかもブレード、しかもベアで使うわけなのですが、そこに持って行ったらなんとうちのSecureOnlineという仮想化よりも倍遅かった(笑)という問題が(ありました)。うちのセンタ(での作業)の時にその人はたまたま夜走らせていたので、フルフルに使えていた、と。その後もいろいろチューニングをかけたのですけど、結局データセンタというのは、SANのストレージを置いたりしているので、かなり足回りはしっかりしているわけです。いう意味では実はかなり速いのです。その時の結論というのは、これはマジな話で本番環境に耐えるよね、という議論が出てきたぐらいなのです。それはお客さんと契約して納めることになっているから、それはそうなのですけど、現実問題としてすでにそういう問題が起きているのです。これはかなり現場にとってショックだったようですね。自分たちの価値観が間違っていた、ということなので。それくらい仮想化技術というのは今成熟してきているのです。いま実際社内で使われている仮想化のボリュームはどのような感じですか?いま社内では、サーバ中心の用途なのです。サーバ中心の用途で、やっと2年で200VMぐらいです。さっきからお話しているように、1600台あるわけです。それ以降、基本的に現場ではサーバ、ハードは買わせていないので、そうすると、償却が進んでくるからだんだん滅却していくじゃないですか。うちの場合だと3年ぐらい経つとだいたい全部入れ替わるぐらいになるのです。これから加速してくると思うのですよ。いい噂が立っているので(笑)。先ほど言った速かったっていう噂が立っているのです。サーバコンセントレーションの話ばっかりするんですね。要するにサーバって集約したらかなりコストダウンになるし、という話ばかりするのですが、実はそれ以上に現場にとって大きいのは管理・運用によるコストなので、管理によるコストはあきらかに楽なのですね。仮想化技術というのは。要するに、Cドライブがバーチャルな、ファイルみたいになっているだけだから、コピればいいわけですよ。どこかに、バックアップを取るにしたって。いちいちやれハードがどうのこうのという話はなくなるわけです。それから、結構多いのがドライバの問題で、いままでのハードであれば、やれネットワークのチップがどうだこうだとか、SCSIのメーカーがどうのこうのということで、Windows一つインストールするにしても、当然それ用のドライバを差し替えているわけじゃないですか。仮想化の場合というのはそのへんをすべてVMが吸収してくれるわけなので、下のハードがですね、日立のブレードであろうが、IBMのブレードであろうが、例えばVMWare一つ入れてしまえばその上のゲストOSでやるVMは、毎回同じドライバをつついているだけなのですよ。そのあたりの楽さ加減?というのがSEの人にとってはすごくここは楽なのでしょうね。ソフト開発ですと、例えばOSのバージョン管理とか、ミドルのバージョン(管理)とか、いろいろ絡む要素が多いと思うのですが、そのへんの管理もかなり楽になるのでしょうか?かなり楽になります。私どものパッケージをクライアント側に目を移すと、秘文だとかいうセキュリティパッケージがあるわけですけど、それは当然ながらVistaにも対応をしないといけないし、XPのメンテもまだまだやらないといけないし、もっと言うと(Windows)98までやらないといけないといけないし、NTもあったりだから、今まではそのためにハードそのものをある程度確保しておいてですね、普段はほとんど電源を入れることがない。それを仮想化で職場から無くすことができるというのが、結構大きな話になってくるわけです。あのときの環境に戻すだとか、そういったことが今までは非常にフィジカルな世界でやらないといけなかったのが、仮想化技術でもって、キーボードタイピングで前のやつが復活したりだとかというところが、徐々にこの2年やってきて、現場で気づいてきて、いったん気づいてそれで楽になってくると、離れられない、戻れない、ということになります。非常に面白い技術だと思います。今後の可能性というのでしょうか、仮想化技術についての可能性についてはどのようにお考えですか?今ですね、元々は社内及び外に対してサーバの代わりにうちのSecureOnlineという、月額レンタルのVMを使ってくれ、というやり方をやっていたのですが、例えば半年前から私どもの(グループ)に日立建機という会社があるのですが、そこで今、実はもう200人を超えて300人ぐらいの人が使ってもらっているのです。その使い方は実はサーバじゃないのです。クライアント、デスクトップ環境として使っているのです。何を言わんとしているかというと、実はその日立建機プロジェクトの200~300人という人は、日立建機のシステムを作ってもらう外部のパートナーの人が使っているのです。外部のパートナーの人が日立建機の工場に入場して作るのではなくて、いまだいたい10社ぐらいなのですが、それぞれが、それぞれの自分の会社にいながらうちのSecureOnlineの中のVMにそれぞれが入って、それで開発しています。サーバは日立建機のAIXマシンなので、日立建機のセンターにあるのです。そのAIXマシンを置いているサーバ(ルーム)と、我々のデータセンタのSecureOnlineをVPNで太い線でつないで、協力会社の人は、われわれのVMのところに、それぞれがシンクライアントで入ってきて、ここで作っているわけです。それとこっちからのサーバと(日立建機のサーバを)連携して作っているわけです。すると、一つは皆さんに集まってもらわなくてもご自身のオフィスで(開発が)できますよ、という話と、実は意外と日立建機さんからありがたいと言われているのが、全ての開発環境のバージョン、リビジョンが統一されていることなのです。開発ツールのリビジョンも統一されているし、Windowsのバージョンも統一されているし、みんなが同じ開発環境の、同じバージョンやリビジョンで作っているので、後で組み合わせしたときの、誤解だとか、良くあるじゃないですか、たまたまこちらは(バージョンやリビジョンを)上げていなくて、こちらは微妙に上げているとかいうのが全くないので、統制がとれているのです。共有してやるわけですから、来なくて言いわけです。データセンタのVMで集約してやると言うところが、実はいま一番うちのなかでホットになっています。VMWareさんが非常に喜ぶのは、サーバだとVMのライセンスが限られるのですが、クライアントに急になると人数分だけはけるものだから(笑)。いう形が今ブームになりつつありますね。逆にシンクライアントである関係で、やはりセキュアな環境が担保されるのでしょうか?ドキュメントが海を越えないわけです。我々のシンクライアントソリューションというのは、USBキーだけを渡すのです。そのUSBキーにLinuxベースのリモートデスクトッププログラムが入っているわけです。通常のパソコンというのはUSBブートが出来るやつが多いので、そのキーを挿してブートしてしまえば、ハードディスクを使わないシンクライアントになるわけです。それでうちのセンタに入ってきて皆開発をするので、そこで作ったドキュメントが海を渡らなくなっている、というところが大きいです。非常に面白い話で、ありがとうございました。機会がありましたらぜひ次の発展系のお話も伺いたいと思います。その節はまた宜しくお願いします。今日はどうもありがとうございました。ありがとうございました。