19
楽勝なはずなのに・・・ かるーい業務アプリの無料枠奮闘記 日経Linux 安東 2012/04/13 ajn20

ajn20 GAEで進捗管理アプリ、無料枠で奮闘

Embed Size (px)

Citation preview

Page 1: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

楽勝なはずなのに・・・かるーい業務アプリの無料枠奮闘記

日経Linux 安東

2012/04/13 ajn20

Page 2: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

自己紹介

• 日経Linux所属▫ 過去は、日経コンピュータ、SYSTEMS、コミュニケーション、RFIDテクノロジーなど色々と

• 大学時代、Objective-CでOS書いてましたw

Page 3: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

開発したアプリ

• 日経Linux編集部、制作会社間の進捗管理アプリ編集部「特集1のPart1、出稿しました」

制作会社「特集1のPart1の校正出しました」

編集部「校正戻しました」・・・

▫ 校正は3~4回、往復。そのあと、校了

▫ 毎月50本くらいの記事のステータスを管理

• 原稿/校正のファイルはFTPサーバーでやり取り

• 2011年10月稼働

Page 4: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

開発の背景

• 進捗管理アプリは、Ruby on Railsベースで、オンプレミスで動いていた

• 古ーーいLinuxサーバーで稼働

• ちょくちょくフリーズする

• 手作業で再起動が必要

• じゃあ、作り直そう

Page 5: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

なぜ、Google App Engine?

• (ほぼ)落ちない!

• 勝手にシステムをメンテしてくれる▫ IaaS/VPSでハングして再起動とか嫌

• Bigtableとか、何か好きw• 実際に試してみたい(個人/記者的興味)

Page 6: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

開発の経緯

• Slim3(楽そうだったので)

• Javaは、(いまだに)よく分かりませんが、何とかなるかなぁと。。

• だいたい5日くらいで開発完了

• これまで、致命的なバグは1度もなし。

• 落ちてない(少なくとも気付いてない)

Page 7: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

負荷の見積もり

• 毎月、記事50本程度×最大10回程度進捗ステータスを更新 + メール送信

• 負荷は楽勝。普段はスカスカ

• 先月のピーク(校了日)▫ Frontend Instance Hours 12.63(無償枠28.00)▫ Datastore Writes 0.01(無償枠0.05)▫ Datastore Reads 0.01(無償枠0.05)

• コード上の最適化はほぼ何もしていない

Page 8: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

テスト稼働

• 私1人で編集するムックでやってみた

• 記事は20本程度▫ より負荷が軽い

• 2011年9~10月

Page 9: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

さて、その校了前日・・・

• 制作会社さんより電話

• 担当者さん「進捗を更新しても、メールが出ないんですが。。」

• 私「(゜Д゜)(゜Д゜)」

Page 10: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

懸念の無償枠 = メール

• 1日100「通」まで

• 実は違う。送信先アドレスの合計数。To:が3人いるメールは、3「通」とカウント

• ムックではあて先が4人。4倍でカウントされていた。

• 慌てて「Billing」に変更した。• 50ドルのボーナスでしのぐことに

Page 11: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

メールの無償枠はなぜきつい?

• スパム対策

なんだそうです(納得)

これは、旧料金体系から同じ

Page 12: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

日経Linux本誌の業務

• 校了日前日、当日に作業が集中

• 大量の校正原稿をやり取り

• メールが飛び交う

• あて先はメーリングリストの1個だけ。

• 100回やり取りしたらアウト

Page 13: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

校了日のメールの数

• 80~120通くらい

• 微妙なライン・・。

• しかし、超えた瞬間、メールが止まる

• Billingをonにしておくしかない

• 1週間 $2.10の基本料金+超過課金額$0.01

• 超過は20通くらいのメール。もったいない

• 社内で、伝票を切るのも面倒(すいません

Page 14: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

解決策1

• Mさんに聞いてみた

• 「メールを2日とかに分けて送れば大丈夫です」

• そうか、校了より前に作業をもっと早く進めればいいんだ!

• できたら、苦労しません・・・

Page 15: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

解決策2

• 管理者宛メールを使って、そこから転送

• 管理者宛メールは1日5000通まで

• 利用している(OCN?の)メーリングリストでApp Engineのメールを受けてくれない

(原因不明)

• できている人は教えてください

• 新課金体系でこの例外が残るのか不明瞭だった

Page 16: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

解決策3

• そうだ、無償インスタンスを2個並べて、メールを振り分ければいいんだ!

• 楽しくなってツイート

• 瞬時に叱られました・・

• 「それはライセンス違反です!」

by @shin1ogawa @bluerabbit777jp

Page 17: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

解決策4

• 校了日の週だけ、Billingをonに

• 先月やってみました

• Billingをoffにするとき、結構、脅されます。(最大7日かかり、それまでonにできない)

Page 18: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

あれ、これでいいの?

• 校了前▫ 2012-03-27 04:51:24 Billing Setup Started▫ 2012-03-27 06:17:03 Billing Setup Successful

• 校了後▫ 2012-04-01 07:32:42 Billing Cancel Started▫ 2012-04-01 07:32:42 Budget Reallocated▫ 2012-04-02 18:11:58 Billing Cancel Contract Started▫ 2012-04-02 20:03:21 Billing Cancel Contract Successful▫ 2012-04-02 20:03:21 Billing Cancel Successful

• $2.10は日割り?と思ったら、$0でした

Page 19: ajn20 GAEで進捗管理アプリ、無料枠で奮闘

まとめ

• Twitterなどで、積極的にコミュニケーションしましょう▫ ライセンス違反を教えてくれます(・ω・)

• 非プログラマでも、そこそこのシステムを作れる時代になりました