Google App Engineを始めてみた
しばらく前に Google App Engine (GAE) Standard環境でruby 2.5が使えるようになったということで,GAEを始めてみました。 以前から,GAEのFlexible環境ではrubyが使えていたのですが,こちらはお高いので手が出ていなかったんですよね。Standardであれば無料枠があるので,個人的に使う分くらいなら大丈夫。 ただ,データベースでRDBが使いたいとかなると,Cloud SQLとかを使うことになって,これまたお高いので,無料枠のある Cloud Datastore (FirestoreのDatastoreモード) を使う必要があります。 Datastoreは,RDBではなくKVS (Key Value Store)タイプのデータベースですが,インデックスさえ用意しておけば,複合検索や並べかえも可能なので,まあ,Webアプリのデータベースとしては使いやすいと思います。 というわけで,作ってみたのはお小遣い帳。そんなのスマホアプリでもなんでもあると思うのですが,それはそれ。自分の使い勝手に合わせて作れるということで。 家計簿ほど細かい用途は入れるつもりがなくて,いつ・どこで・いくら・どの方法で支払ったのかだけ把握できればOK。今だと,「どの方法」が結構重要で,クレジットカードや電子マネーも複数持っていたりするので。 もちろん,外出先で使う場合,スマホから記録できることも想定しています。 まず,フレームワークはいつも使っている Sinatra を。 で,ログイン方法としては,Googleアカウントを使いたかったので,rubyでは定番の OmniAuth を使って,GoogleのOAuth2で。 あとは,履歴の入力と履歴の確認。 とりあえず,GAEを触ってみた感想としては,特にGAEに特化した何かを組み込む必要がないので,普通に作ったSinatraアプリケーションがそのまま動くのがいい感じ。ベンダーロックインされないですし。なので,デバッグも楽で,普通に端末上で動くところまで持っていけばOK。 ただ,アプリケーションインスタンスが無料枠を越えるといきなり料金が高くなりそうなので,スケールさせる場合は気をつけないと。(個人で使っている分には大丈夫そうですが)