GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Abel Avram , 翻訳者 編集部N 投稿日 2009年10月12日
Ciscoは、 “箱の中で考える” 開発コンテストの勝者を発表した。問題は、CiscoのISR用のAXPアプリケーションを作ることであった。
Ciscoの “箱の中で考える” 開発コンテストは、1年前に始まり、参加者を招いて Ciscoのサービス統合型ルータ (ISR)に組み込むことができるCisco アプリケーションプラットフォーム (AXP) 用のアプリケーションを作らせた。 コンテンストの第1フェーズには、75カ国から総数が900人を超える100チーム以上が提案書を提出し、最終候補として8チームが選ばれた。各最終候補チームは、実装し、8人の専門家で構成する審査委員会に提出した。これらの専門家は、Cisco、Forrester Research、Linux Foundation、 Yankee Group そしてMWD Advisors から来ている。審査委員会は、3チームを入賞者として選んだ。
第1位: スペインのDavid Perez氏が率いたチームMADnetworkは、ビルディング オートメーション サービスのアプリケーション(BAS)で50000ドルを勝ち取った。ブランチ事務所や雑居ビルを考慮して作成し、BASは、ビジネスがビルの運営を遠隔から監視し、管理するのを助ける。
第2位: インドのRajesh Kotagiri氏が率いたチームEnhancersは、Local Advertising Mesh Network Platform(ローカル広告網ネットワークプラットフォーム,LAMP)アプリケーションで30000ドルを勝ち取った。LAMPにより、AXP上にホストできる分散された広告サービスのプラットフォームを作れる。このプラットフォームは、当初小売りへの展開を狙ったISRに組み込まれる。例えば、小売店は、様々な場所でLCDユニットに広告を表示できる。このソリューションにより、広告投資の一部を既存のネットワークインフラに振り向けることにより、潜在する新しい収入の流れを開発することができる。
第3位: ドイツのBernhard Beckmann氏が率いたチームBugsBernieは、統合型監視システムにより20000ドルの賞金を獲得した。このアプリケーションにより、オフィス時間帯以外では、インターネット電話は、オフィス内の音声信号を監視するように作動する。異常な音声信号パターンが検知される(設定可能な閾値を超える)とアプリケーションは、外部のセキュリティサービスやデバイス(携帯電話、コンピュータ、ビデオ監視システムなど)に通知する。電話システムへの妨害行為も検知する。
チームは、各チームに1つのISRと1つのAXPモジュール提供するシュミレーション実験室にアクセスできた。チームは、バーチャルマシンが、基本的にAXPハードウェアをエミュレートするAXP Virtual Bladeも使うことができた。AXPモジュールは、ハードウェアモジュールで、ISRルータに接続されていて、電気もそれから供給されている、そしてそのネットワークインターフェースにアクセスしている。このモジュールは、Celeron か Pentiumプロセッサを持っていて、セキュリティ強化と管理の容易性を向上させ、カーネル2.6.xにCiscoが手を加えた特別なLinuxを走らせている。AXPモジュールの現行の3タイプは、以下のハードウェア仕様となっている。
| サービス モジュール | CPU | RAM | 記憶装置 |
| AIM-102 | 300-Mhz Intel Celeron | 256 MB | 1-GB フラッシュ |
| NME-302 | 1.0-GHz Intel Pentium | 512 MB | 80-GB ハードディスク |
| NME-522 | 1.4-GHz Intel Pentium | 2 GB | 160-GB ハードディスク |
Ciscoの技術マーケティングエンジニアであるAnurag Gurtu [AG]氏とCiscoのNetwork Systems and Solutions Marketing(ネットワークシステムとソリューションマーケティング)チームのシニアマネージャであるShashi Kiran [SK]氏からAXPについて聞いた。
AG: 開発者は、CiscoのISR(インターフェースを含んで)からデータを収集できるアプリケーションを書くことができ、おもしろいアプリケーションを考え出せます。AXPは、非常に多くのAPIを提供していて、APIは、例えば、IOS API、イベントトリガAPI、シリアルAPIなどが、ISR内に統合されています。AXP上で走るアプリケーションは、なんでもできます。例えば、ISRの設定、ISRからのデータやイベント通知の収集、ISRに接続されているシリアルデバイスの管理などができます。読み取り、書き込みの両方ができます、要は、可能性は無限です。AXPは、アプリケーションとネットワークドメインに集中するコンピュータプラットフォームを提供しているのです。
SK: AXPは、ルータに統合されたサーバだ、と考えてください。ブランチオフィスが直面している主要な問題点は、ITのリソースがブランチでは不足していることです。サーバベースのアプリケーションをルータに持ってくることにより、ブランチのIT装置を統合し、ルータがコミュニケーションインフラと結びついた時に、アプリケーションがより簡単にネットワークに対応しやすいようになり、更に重要なのは、余計な力をかけずに、あるいは追加の保守契約を必要とせずに、確実に遠隔からの管理を容易するのを助けています。
モジュール上のアプリケーションは、中央のアプリケーションとコミュニケーションできるように、あるいは中央のアプリケーションと通信できない場合には、単独で機能するモードにフェイルオーバするように、設計することがでます。ルータ上にホストされると、ネットワークインフラの一部としてさらなる強みを発揮します。すなわちアプリケーションは、WANに最適化する能力、より強固なセキュリティ統合、あるいはより効率的なネットワーク統合を利用できます。ISRは、同じルータという装置上に違ったサービスをもたらすのです。
実際、AXPでは、サードパーティのプロバイダや顧客でさえ、色々なやり方でISRを高機能化するアプリケーションを書くことができる。なぜ顧客がそのようなことをやりたいと思うか尋ねた。
AG: 顧客は、ルーティング、スウィッチング、コール管理、ビデオによる監視などを含んだあらゆることをするために、ルータを買っていますが、この “ワンボックス ブランチソリューション”に唯一ないのがアプリケーションです。これがAXPで解決されました。今や、顧客は、ルータを手に入れただけでなく、ルータ内にアプリケーションの真の可能性を増すような、ネットワーク対応のアプリケーションを走らせる環境が手に入る、新しい市場機会をAXPにより掴むことができるのです。
SK: 顧客の要求は、変わります。ISRは、真のブランチオフィスの問題点を解決します。すなわち、ネットワークやITインフラを最適化し、管理をもっと容易にし、所有コストを下げます。AXPにより、顧客は、更に柔軟性を手にしますので、自分たちのビジネス要求にもっと合った、ソフトウェア、サービス、すなわちアプリケーションを導入できます。これらのアプリケーションは、サーバベースでもスタンドアロンでもいいのです。もちろん、顧客は、ルータを買えば、ISRが提供する多くのサービスの中から自分のビジネス要求に合うように、ルーティング、統合されたスウィッチング、(Ciscoの)ユニファイドコミュニケーションズ、携帯性、WANへの最適化など他のすべてのサービスも手にすることになります。700万台以上のルータが売られましたが、ISRは、今日、業界で最も豊富なサービスを提供しています。
我々は、最終候補の8チームの1つにインタビュした。ブラジルのLeonardo Goncalves氏, Rogerio Augusto氏, とAlexandre Rodrigues氏によるチーム Jin Jin は、IPベースのメディアサービス向けのマネージメントプラットフォームを作った。
"IP Based Media Service (IMS、IPベースのメディアサービス)アプリケーション向けのマネージメントプラットフォーム"とは、何ですか?
パフォーマンスの高い環境で、大規模なIMSベースのアプリケーションをサポートおよび管理するためのソフトウェアインフラです。一言で言うと、IMSベースのアプリケーションを実装すれば誰でもこのプラットフォームを利用でき、このサポートをAXP内部に作りこんだのがミソです。
このアプリケーションで何をやり遂げたかったのですか?
AXPをパフォーマンスの高いIMSベースのアプリケーション用の実行環境に変えたいのです。JavaやOsgiのようなよく知られた技術を使って、フレームワークを作り、Telecom operators(電気通信会社)とそのパートナ達の両方に単純さをもたらしました。電気通信会社は、このインフラを使って管理や更新を行い、そしてAXP上に新しいビジネスを創造することができます。一方、パートナは、要望に応じて、アプリケーションをデプロイしたり、取り除いたりすることにより、更なる収益を生み出せます。我々はRaaS (サービスとしてのル-タ)という概念を作りました、電気通信会社とそのパートナ達は、また従来のサービスも前面に出し、使用します、そしてAXPが、(IMSアーキテクチャのコンポーネントを通して)通話状態を維持する調停役となります。
あなた方の計画は成功しましたか? 実装は、ちゃんと動いてますか、そして意図した通りのことを実行してますか?
ええ。IMSアーキテクチャのコンポーネントとしてSIPプロトコルを実装しました。また、すばらしい挑戦だったのですが、AXPの内部にOsgiといっしょにJiniと Javaspacesを詰め込みました。またデモアプリケーション(チャットサービスやAmazon.com の統合)を作り、分散したセッションで(この場合、AXPむき出しのサービスにより、チャットを使ったり、amazon.comのサイトをブラウジングする)ユーザの活動の履歴をとるという考えの検証を行いました。これらのすべてが、ISR内で動いているのです。デモは、RIAを使って作られ、AXP内にデプロイされたサービスを使います。
このコンテストでCiscoで経験したことは、どうでしたか? 学んだ教訓は,何ですか? 一番好きなもの/嫌いなものは何でしたか?
我々は、非常に多くのことを学びました。AXPのようなおもしろい技術で仕事をするのは、楽しい挑戦です。Ciscoが提供した実験室は、非常に好きですが、しばしば接続が中断する問題がありました。Ciscoの製品での経験が全くなかったので、どのように自分たちのプロジェクトを設定し、デプロイするのかを理解するのに時間がかかってしまいました。我々の提案は、たくさんのオープンソース プロジェクトを使っていて、それらのバグに出くわしてしまい、PC上ではうまく動くのに、ISRでは、突然動かなくなる、ということなどがあり、考えて、ISR内でうまく動くように設定しなければなりませんでした。
時間の使い方も問題でした。チームメイトがブラジルの違う場所に住んでいて、仕事もあります。スケジュール管理は、簡単なことではなかったです。いかに一緒に仕事をするかを学び、計画に遅れないようにしなければなりませんでした。
世界の先進エンジニアが集結 - QCon TOKYO 2012 早期割引実施中!
【豆蔵】大好評のため、Jenkins講座を追加開催致します!Jenkins作者の川口氏が講師です。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信