Google App Engineによる業務システム開発の可能性

2013年11月19日

最近、オフショア開発の仕事で、Google App Engine (GAE) によるシステム開発の仕事を請けております。
1年近くやってきた感想を述べさせて頂きます。


「メリット」

1) Gmail, Googleカレンダー, Gmailタスク, Google Drive, Officeシートなどへの連携が簡単にできることはすごく便利。
朝、会社に来た時に、必ずと言えるほど皆がGmailやGoogleカレンダーにログインするので、シームレスに業務システムが起動されます。業務システムで起きているイベントなどもGmailやGoogleカレンダーに流せば、ほぼ見逃されなく、非常に使い勝手が良い業務システムを設計することができます。

2)サーバの導入、運営の手間はほぼゼロ。
AmazonのEC2クラウドなどを使う場合、サーバは自分たちで設定し、システムをインストールしないといけないに対して、
Google App Engineでは、サーバの全てをGoogleが面倒を見てくれるので、導入した後は、お客様側にはネットワーク管理者、サーバ管理者は不要です。

3)Javaという、20年ほどの実績を持ち、そしてこれからも信用されるだろうの言語で開発できるため、
今作ってるものは、10年後でも使えるという安心感があります。
(Googleは10年以内に絶対潰れないという安心感もお客様に説明しやすいです。)


「デメリット」

1)Googleが用意してくれたサーバ側のAPIなどは、ほぼブラックボックスです。それらのAPIを呼び出して、思うように性能が出ない場合は、どちらに問題があるかの解析は、本当に頭を抱えます。
実際、「GoogleのAPIの問題だ!」と諦めたこともしばしばあります。

2)比較的に新しいプラットフォームで、サードパーティのモジュールや再利用できるオープンソースも少なく、ほぼ毎回スクラッチから開発すると同じで、開発効率がやや悪いです。