Slide 1

Slide 1 text

サーバサイドレンダリング for Google App Engine @k2wanko

Slide 2

Slide 2 text

コキチーズ @k2wanko - GCPとFirebaseが好きな人 - LINEのセキュリティエンジニア - 最近はPUBGとSplatoonで遊んでる

Slide 3

Slide 3 text

Firebaseのユーザーグループやってます。 https://firebase.asia

Slide 4

Slide 4 text

※Vue.jsでサーバサイドレンダリングを した話です。

Slide 5

Slide 5 text

GAE/GoでSSR

Slide 6

Slide 6 text

https://qiita.com/koki_cheese/items/13426921f0b5861725e5

Slide 7

Slide 7 text

GAE/Goの上でJSランタイムを動かして やった

Slide 8

Slide 8 text

GAE/GoでSSR - gojaと言うGoで作られたECMAScript 5.1を実行できるJSランタイム - Pure GoなのでGAEでも動かせる! - PromiseもsetTimeoutもないのでAPIを色々用意する必要がある! - 色々webpackで魔術をする必要がある! - ライブラリが想定しているNode.jsの環境に近づける必要がある!!! 結論: つらい!!

Slide 9

Slide 9 text

Cloud FunctionsでSSR

Slide 10

Slide 10 text

https://qiita.com/koki_cheese/items/64f429ac764983525dcc

Slide 11

Slide 11 text

Cloud FunctionsでSSR - Node.jsでサーバサイドレンダリングするからもう何も怖くない! - バージョン管理などまだない部分が色々ある 結論: Firebase Hostingで使うならこれでい いんじゃない?

Slide 12

Slide 12 text

GAE/Node.jsでSSR

Slide 13

Slide 13 text

https://cloudplatform.googleblog.com/2018/06/Now-you-can-deploy-your-Node-js- app-to-App-Engine-standard-environment.html

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

GAE/Node.jsでSSR - 念願のGAE/Node.jsが来た (beta) - バージョン管理がしやすい!トラフィックの切り分けなど - ファイアーウォールがある!IP制限とかできる 結論:Webサービスがメインなら こっち使おう

Slide 16

Slide 16 text

ただし、 - Memcachedが今現在ないのでインメモリでキャッシュするしかない - User APIもない - Search APIとか諸々色々ない

Slide 17

Slide 17 text

SSRの注意

Slide 18

Slide 18 text

SSRの注意 - SSRだひゃっほーい と思っていきなり移行してはいけない - CDNの設定をきちんと見て 特定のユーザーにしか見せてはいけない 情報がキャッシュされていないかなど注意が必要 最近の事例: 「LINE」タイムラインにおけるシステム不具合に関するお知らせ https://linecorp.com/ja/security/article/169

Slide 19

Slide 19 text

SSRは用法用量守って楽しく使いましょう

Slide 20

Slide 20 text

Thank you @k2wanko

Slide 21

Slide 21 text

参考 - https://cloud.google.com/appengine/docs/standard/nodejs/quickstart - https://vuejs.org/v2/guide/ssr.html - https://github.com/dop251/goja - https://github.com/k2wanko/appengine-go-ssr-example - https://github.com/k2wanko/gae-gcf-vue-ssr-example - https://github.com/k2wanko/appengine-node-ssr-example