2011.07.04
Google App Engine を始めよう
ブログを「Google App Engine」(GAE)で構築してみました。
GAEの良い点は2つ。
・無料!(およそ1日1万PVまで無料)
・サーバ側の知識がなくてもOK!
ですので、非常に手を出しやすいクラウド環境と言えます。
使える言語は JAVA と Python だけなのがちょっと残念ですが、勉強がてらPythonでブログを動かしてみました。
まずは PythonとGAEについて学習
ブログを動かす前に、PythonとGAE上でのアプリ構築の仕方を以下のサイトで学習しました。
・Python入門
最初に、Pythonとはどういう言語なのか?を理解するのにちょうどいいです。
・スタート ガイド: Python – Google App Engine
Googleオフィシャルのチュートリアル。GAEで簡単にWEBアプリが作れるというのを実感できます。
・Webコピペ屋
基本的なCRUD(作成・読み出し・更新・削除)の実装、GAE特有のデータベース「Datastore」の使い方を、丁寧に解説しているので非常に役に立ちました。
また、入門書として「初めてのPython 第3版」というオライリー本を読みました。かなり深いところまで解説した入門書なので分厚いですが、一通り眺めておくと、後々、役に立ちそうです。
GAEでブログを動かそう
GAE で動作するブログシステムはいくつかあります。(参考:GAE上で動くブログエンジンまとめ)
その中でも見た目と機能がシンプルで、かつソースコードも見やすそうな「Bloggart」を利用しました。
Bloggartのインストール、といってもそれほど面倒なことはなく、config.py(設定ファイル)を適宜編集してあげればOKです。
インストールについては、下記のブログを参考にしました。
・プログラマの実態: Bloggart を動かしてみる
・Bloggartのインストールから初期設定まで – The Windup Nano on GAE
画像のアップロードについて
Bloggartには、画像のアップロード機能がありません。ですが、GAEで画像などの容量の大きなファイルを扱うために Blobstore という機能がありますので、これを利用してアップロード機能を追加しました。
・Google App Engine で Blobstore を使ってみる – present
問題なのは、Blobstore は課金を有効にしないとGAE上で使用できないところです。(ローカルの開発環境であればBlobstoreも使用できます)
ですが、課金を有効にした上で、無料使用に収まる程度に押さえておけば問題ないだろうということで、僕は1日あたりの予算を0.1$に設定しました。
Bloggartのソースコードを読む
GAEでは、データの転送量やCPUの使用時間によって使用料金が決まってきます。ですので、負荷をかけない効率的なソースコードがすることが大切です。
また、Datastoreに都度アクセスするよりもキャッシュ(Memcache)を利用した方が負荷が減ります。BloggartでもMemcacheを利用して、負荷を減らしているので、自分でアプリを制作する際にも参考になります。
