アーガマにのり遅れない/ブライト艦長に修正されないためのnewCloudApp()応募ガイド
Interopでクラウドコンピューティングコンペティションの結果発表が昨日行われた。
我々もお声がけいただいていたのだが調整がつかず、多用で幕張にも行けず、
東工大首藤先生他が用意してくださっていたUSTを最後数分だけ見ることができた。
クラウドでもグローバルに競える技術レベルに引き上げてゆきたいというビジョンは
まったくもってその通り、深く共感できるところである。
今回残念ながらInteropのコンペに間に合わなかったという方は、
【急募】第一次アーガマ隊選抜。プログラミングコンテストnewCloudApp()開催
の投稿にてご案内させていただいたマイクロソフト主催のクラウドアプリコンペティション
であるnewCloudApp()にも是非参加いただきたい。日本語の案内ページも
MSDN内に掲載している。なお、応募の際に言語(C#とかでなくEnglish)が問題になる
といった方がもしいれば、我々の方で適宜サポートさせていただくこともできるので、
気兼ねなくご相談いただきたい。
kkadcsp@microsoft.com
(↑@を小文字に、Azure Developer Challenge 事務局:技術支援窓口ではない点注意)
また、「Hadoopやmemcachedじゃないからわからない、C#とか書いたことないし」
という方、非常にもったいない。立場上微妙だが、あえて身も蓋もないことを言って
しまうと、技術の本質は商用サービスのAzureといえど大して変わらないのである。
クリエイティビティの高い方なら、筆を選ぶこともないだろう。
ただ、newCloudApp()の話をしたときに、よくお聞きするのが
「あまりにも自由度が高すぎて何を作ったらよいかわからない」という反応だ。
そこで、こんな感じのものはいかがだろうか、という私の思いつきを列挙してみたい。
()カッコ内は難易度
■気軽なガジェットアプリ(★★)
iPhoneアプリやFacebookあるいはWindowsガジェットのような、ちょっとしたアプリを
実装し、そのサーバー処理系をクラウド側に配置する。小難しいことなく、IISの
代わりにAzureを使えば良いだけのWebアプリなので敷居は低い。クラウドっぽさの
演出が難しいが、そこまで気にすることもないだろう、お気軽に。
■マイクロソフトテクノロジ徹底活用(★★★)
ゴマすり高下駄ポイントがあるわけではないのだが、せっかくなので様々なMS技術を
組み込んでみるという、機能からコンセプトを膨らませるアプローチも悪くない。
例えば、UIやデータアクセス、Syncを支える.NET RIA ServicesやLive Frameworkの
あたりから、どう使おうかと考えてみるのもおもしろい。作り方によってはMS社員が
作成するデモのように見えてしまう恐れもあるにはあるが、さじ加減次第だろう。
誤解しないでいただきたいが、newCloudApp()では、必ずしもマイクロソフト
テクノロジに固執する必要はない。PHP部門をあえて設置しいているのがその証拠だ。
■ASP.NETアプリの移行(★★)
すでに過去作成したASP.NETアプリがあれば、Azureへの移行は比較的簡単だ。
ストレージ、永続化の問題をどう解決するかが腕の見せ所である。
今回はクラウド上のRDBMSであるSQL Data Servicesを使えないので、Key Valueと
QueueとBLOBストレージをうまく使い分ける必要がある。
■ビジネスで活用できそうなロジック(★★★★★)
BI/帳票系、MRPや大規模計算系のアプリを作ったことのある方がもしいれば、
ここでアピールしておくのも悪くない。なぜなら、今後基幹系の業務システムの中で
クラウドと相性の良い一部のサブシステムを外出ししようという機運が高まっており、
お仕事増が見込めるためである。
■クラウドっぽい?MapReduce的なの実装(★★★★★)
関数型言語F# for Azureのサイトを参考にしていただきたい。Webクローラーや
画像のサムネイル作成などのサンプルがすでに掲載されている。
■Amazonなどのユーティリティアプリを参考に(★★★)
商用サービス開始時期で先行しているAmazon Web Serviceの周辺には、すでにEC2や
S3の利便性を高めるための、ちょっとした便利アプリが提供され始めている。
Azureも似たようなものなので、Rightscaleのような管理系のツールやJungle Disk
のようなストレージアクセスあたりはわかりやすい。Azure上のストレージを、
どうにかしてExplorerからマウントできたりすれば、確かに便利だろう。
■CodePlexのソースをちょっと変更してみる(★)
Visual Studio支援ツールが自動作成してくれるテンプレートで Hello Azureまで
労せずたどり着けるとはいえ、それでもゼロスクラッチで書くのはちょっと…という方は、
CodePlexにアクセスしてAzure関連のプロジェクトを探し、そのソースを自分なりな
味付けでちょっと変更してみる、というアプローチでもよいだろう。
オープンソース的なアプローチに慣れている方はなじみやすいかもしれない。
■ラボマニュアルのソースをちょっと変更してみる(☆)
もっと簡単に、最初の一歩をガイドして!という方は、トレーニングキットの
ラボマニュアルを参考に、サンプルコードを少しずつ加筆しながら、
ステップバイステップで学習することができる。その学習結果の成果物で
応募していただいても構わない。現段階で英語版しかない点はご容赦いただきたい。
■マッシュアップ(★★★)
Web系の方は、クラウド時代の開発はサービスの組み合わせで…という理念を
お持ちの方もいらっしゃるだろう。例えば、Virtual Earth改め、マイクロソフトの
空間情報サービスであるBing EarthをSilverlightコントロールでアクセスしている
アプリケーションをAzureに配置したWorld Tourなども参考になるだろう。
どうだろうか?何らかみなさんのイマジネーションを膨らませるお役に立てれば幸いだ。
そしてもうひとつ、newCloudApp()のお話しをした際に、特にスーツ組のみなさんから
よくいただくご意見に「あまり組織の中で目立ったことをするのはどうも…」といった
いかにも日本人的な反応がある。組織の不文律的に、わからない話ではない。
開発者、プログラマーの例ではないのだが、来週15日月曜日にオープンソリューション
研究会の講演でご一緒する「クラウドの衝撃」で一躍ベストセラー作家となった
NRI城田氏も、もともとはクラウドの専門家だったわけではなく、NRIのキレ者技術者
として、クラウドに限らずさまざまな現場プロジェクトでご活躍されていたと聞く。
それが一転、「クラウドの衝撃」ヒット後は、NRI社内の人からクラウドの話を
是非聞かせて欲しいという依頼が殺到し、NRIがクラウド戦略を推進する上で
欠かせない存在となっている。オルタナブロガー仲間の林氏も「クラウド・ビジネス入門」を
執筆された経緯は同じようなものだったと聞く。
自分でやりたい仕事を選んでできる環境を作るためには、まわりがそう動かざるを
得ない空気感を作ることが重要だ。経験や伝統、それにひも付いたスキルがモノを
いう分野では難しいが、今ならまだ誰にでも第一人者になれるチャンスがある。
個人でご活躍されている開発者、クリエイターの方々はもちろんのこと、
企業内個人の方々の応募も大歓迎だ。
私もナイショで応募してみたいと思ったのだが、現場を離れて久しくどうにも手が動かない。
ちなみに、アイディアは下記。おもしろそう、と思った方がいれば是非実装
してみていただきたい。
---
TF/IDFによる文書からのキーワード抽出アプリ。タグ付け、分類に応用が可能。
WebRole側の実装:
- ファイルのアップロードインタフェース(WebだけにしてURLにしてよい)
- 解析状況、結果の表示UI
WorkerRole側の実装:
- WebRoleとのインタフェース
- 文書からのテキスト抽出
- 日本語分かち書き(面倒だったら英語のみ対応にする)
- コーパス、ストップワードの作成(管理UIはなくてもよい)
- TF/IDFによるキーワード抽出ロジック
- 処理状況ログ出力
---
「あぁ…。オレももうロートルか…」
「こいつに、いつまで乗れる事やら…」(サウス・バニング大尉)