Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5 years with Google App Engine

Yosuke
June 08, 2016

5 years with Google App Engine

appengine ja night #33のLTでの発表

Yosuke

June 08, 2016
Tweet

More Decks by Yosuke

Other Decks in Technology

Transcript

  1. Who am I ? Yosuke Suzuki ( @yosukep ) Python

    Engineer @ Nikkei Inc. Private work: Go / ReactNative / Pebble
  2. GAE in nikkei.com 日経電子版でのGAE利用 • 2011~ • Small application backends

    ◦ スマホアプリのバックエンドとか小さめのサービスのAPI とかで利用 ◦ ただし、1日100万リクエスト以上をさばいているのもある • Internal tools ◦ 社内ツール用に利用、Slackへの通知
  3. Serverless? サーバーレスって??? • Without servers, we cannot do anything サーバーなかったら何もできないのでは

    • "Serverless" is a buzzword? • What important is that we can get servers in a second when we need them ◦ 重要なのは必要なときに必要なサーバーをすぐに調達できる こと ◦ GAE scales out in a second! ◦ スケールアウトが自在だからコスパも高い
  4. Scale out くどいですがスケールアウトがすごい • It takes a minute to start

    up a VM instance VMだと1分はかかりますよね ◦ GAE/Python or GAE/Go scales out in a second ニュースサイトは、朝や昼にアクセスが集中するが勝手に対応してくれる 3 instance ~ 15 instances, automatically managed
  5. Versions == Blue-Green Deployment • Easy to check new features

    on production environment • Rollback in seconds? これは割と時間かかるときも • 同じこととを他社クラウドで実装しようとしたらけっこう手間 かかった
  6. TaskQue ≒ Lambda + SQS • Easy and scalable batch

    system 勝手にリトライしてくれて、決めた範囲で 適当にスケールアウトしてくれる • SQSだと値だけを積む感じだけど、処理と値を一緒に登録できる • Lambdaもいいけど、TaskQueでだいぶ前からやってたこと
  7. Other features • Easy admin authentication ◦ 簡単なツールを作るときにすごい便利 ◦ API書いてJSでCRUD作るとか

    • Dynamic image transforming ◦ =s320-c って付けると長辺320の正方形で返す - url: /admin/.* script: _go_app login: admin secure: always app.yamlにこれ書くだけ https://lh3.googleusercontent. com/X3c0jAiFsXSWaXNEVXNvrnTfxx0M9Ib1lEA5bqdcLBO1 f8PEbpOyCRqDKtxVs5PjcfvFPIsfb8OaulkC4g=s320-c
  8. Conclusions • GAE has almost features we need to operate

    servers efficiently ◦ GAEにはDevOpsで語られるような機能はほとんどある ▪ CircleCIとか適当なCIサービス連携も簡単 ◦ しかも、何年も前から ◦ 時代が追いついてきた
  9. Need improvement • Latency ◦ 東京からだと往復で最低で 300msec 追加される ◦ 東京リージョンまだ?

    • Python3 ◦ 来ない? Flexibleだけ? • Datastore is fantastic but… ◦ ありもののFW/アプリがそのまま動かない ◦ クエリできるKVSだと思っておくのが無難