楽勝なはずなのに・・・ かるーい業務アプリの無料枠奮闘記 日経Linux 安東 2012/04/13 ajn20
楽勝なはずなのに・・・かるーい業務アプリの無料枠奮闘記
日経Linux 安東
2012/04/13 ajn20
自己紹介
• 日経Linux所属▫ 過去は、日経コンピュータ、SYSTEMS、コミュニケーション、RFIDテクノロジーなど色々と
• 大学時代、Objective-CでOS書いてましたw
開発したアプリ
• 日経Linux編集部、制作会社間の進捗管理アプリ編集部「特集1のPart1、出稿しました」
制作会社「特集1のPart1の校正出しました」
編集部「校正戻しました」・・・
▫ 校正は3~4回、往復。そのあと、校了
▫ 毎月50本くらいの記事のステータスを管理
• 原稿/校正のファイルはFTPサーバーでやり取り
• 2011年10月稼働
開発の背景
• 進捗管理アプリは、Ruby on Railsベースで、オンプレミスで動いていた
• 古ーーいLinuxサーバーで稼働
• ちょくちょくフリーズする
• 手作業で再起動が必要
• じゃあ、作り直そう
なぜ、Google App Engine?
• (ほぼ)落ちない!
• 勝手にシステムをメンテしてくれる▫ IaaS/VPSでハングして再起動とか嫌
• Bigtableとか、何か好きw• 実際に試してみたい(個人/記者的興味)
開発の経緯
• Slim3(楽そうだったので)
• Javaは、(いまだに)よく分かりませんが、何とかなるかなぁと。。
• だいたい5日くらいで開発完了
• これまで、致命的なバグは1度もなし。
• 落ちてない(少なくとも気付いてない)
負荷の見積もり
• 毎月、記事50本程度×最大10回程度進捗ステータスを更新 + メール送信
• 負荷は楽勝。普段はスカスカ
• 先月のピーク(校了日)▫ Frontend Instance Hours 12.63(無償枠28.00)▫ Datastore Writes 0.01(無償枠0.05)▫ Datastore Reads 0.01(無償枠0.05)
• コード上の最適化はほぼ何もしていない
テスト稼働
• 私1人で編集するムックでやってみた
• 記事は20本程度▫ より負荷が軽い
• 2011年9~10月
さて、その校了前日・・・
• 制作会社さんより電話
• 担当者さん「進捗を更新しても、メールが出ないんですが。。」
• 私「(゜Д゜)(゜Д゜)」
懸念の無償枠 = メール
• 1日100「通」まで
• 実は違う。送信先アドレスの合計数。To:が3人いるメールは、3「通」とカウント
• ムックではあて先が4人。4倍でカウントされていた。
• 慌てて「Billing」に変更した。• 50ドルのボーナスでしのぐことに
メールの無償枠はなぜきつい?
• スパム対策
なんだそうです(納得)
これは、旧料金体系から同じ
日経Linux本誌の業務
• 校了日前日、当日に作業が集中
• 大量の校正原稿をやり取り
• メールが飛び交う
• あて先はメーリングリストの1個だけ。
• 100回やり取りしたらアウト
校了日のメールの数
• 80~120通くらい
• 微妙なライン・・。
• しかし、超えた瞬間、メールが止まる
• Billingをonにしておくしかない
• 1週間 $2.10の基本料金+超過課金額$0.01
• 超過は20通くらいのメール。もったいない
• 社内で、伝票を切るのも面倒(すいません
解決策1
• Mさんに聞いてみた
• 「メールを2日とかに分けて送れば大丈夫です」
• そうか、校了より前に作業をもっと早く進めればいいんだ!
• できたら、苦労しません・・・
解決策2
• 管理者宛メールを使って、そこから転送
• 管理者宛メールは1日5000通まで
• 利用している(OCN?の)メーリングリストでApp Engineのメールを受けてくれない
(原因不明)
• できている人は教えてください
• 新課金体系でこの例外が残るのか不明瞭だった
解決策3
• そうだ、無償インスタンスを2個並べて、メールを振り分ければいいんだ!
• 楽しくなってツイート
• 瞬時に叱られました・・
• 「それはライセンス違反です!」
by @shin1ogawa @bluerabbit777jp
解決策4
• 校了日の週だけ、Billingをonに
• 先月やってみました
• Billingをoffにするとき、結構、脅されます。(最大7日かかり、それまでonにできない)
あれ、これでいいの?
• 校了前▫ 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でした
まとめ
• Twitterなどで、積極的にコミュニケーションしましょう▫ ライセンス違反を教えてくれます(・ω・)
• 非プログラマでも、そこそこのシステムを作れる時代になりました