2012/03/31

herokuデビューしました


Android版「ぐぐっと!急上昇ワード Ver.1.0.0」のリリースと同時に、サーバサイドがherokuへと切り替わり、herokuデビューをしました。

2010/10/07のポスト「ぐぐっと!急上昇ワード Ver.0.6.0」 にもあるとおり、これまでサーバサイド側はGoogle App Engineを使ってきた「ぐぐっと!急上昇ワード」ですが、プログラムをsinatraで書き直し、herokuで提供することにしました。
さらに今回サーバサイド側に機能追加を実施し、これまでのデータの加工および端末へのレスポンスに加え、過去のランキングデータを閲覧できるようになっています。

別にherokuに乗り換えたのはApp Engineが嫌いになった訳ではなく、機能追加を検討するにあたり、当初シンプルであったアプリもアップデートを重ね機能を追加しすぎた感があるので、これ以上アプリ側を複雑にしたくなかったというのがあり、Webアプリケーションとして用意したものと連携するようにした方が良いとの判断に至り、それならば、以前から興味のあったsinatraを使いたいなということで、公開サーバとしてVPSとherokuを検討した結果、herokuになったという訳です。

・iPhone/Android向けということでスマートフォン向けサイトになっています
・アプリからは上記右画面の最新ランキングへ誘導されるようになっています
・またこの機会に独自ドメインを取得しました。http://gugutto.com/
・それにしてもiPhoneもAndroidもバージョン間でブラウザの機能差がありすぎですねw

すぐに公開できるAndroid版が先行してherokuに切り替わっていて公開後半月程たちましたが、パフォーマンス的には問題なく稼働しているようです。(厳密にはApp Engineへのアクセスもまだまだあります。iPhone版とかアップデートしていないユーザのリクエストとか)
※追記:4/2にiPhone版もアップデートされました

開発の方はsinatraもherokuもネットで情報をかき集めてはつなぎ合わせ、トライアンドエラーを繰り返すことによって公開まで辿り着くことができました。herokuも既に古くて使えない情報があったり、Railsではスンナリできるらしいことが、sinatra(というか素のRack?)では方法が違ったりといったハマリポイントが多く、今回も色々と勉強をさせていただいた感じです。

sinatraは気に入ったので別のアプリもつくりたいと思ってます。第1候補もApp Engineでつくったコレなんですが…
それよりも「ぐぐっと!」にランキングのグラフを付けるほうが先だなぁ…

今回herokuを使ってみて、今まで当たり前だと思っていたApp Engineの管理コンソールの出来の良さを感じることができました。あれはすごいです。herokuにも欲しいです。有料でもかまいません。$5以下であればw
あとShared Databaseが5MB無料の次がいきなり20GB/$15になるのではなくて、5〜6GBで$5とかの設定が欲しいなと思いました。このあたりがネックになって、開発環境として無料でherokuを使い、本番はAWSやVPSを利用する人が多いのではないかと思いました。(今のままだとherokuさんにお金落ちないですよね。それともお金払ってくれるユーザさんからたくさんもらう方向なんでしょうか?)
ということに気付きながらも公開してしまった以上、今のところDBが5MBを超えたら課金予定です。そして広告費で賄える限りはherokuを使ってみるつもりです。

これで多少なりとも「heroku使ったことがある」「sinatra使ったことがある」「rubyでWebアプリ書いたことがある」と言えるようになったかなw