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

加速するEdge Computing

加速するEdge Computing

JSConf JP 2021でLTさせていただいた時の資料です.

Shinobu Hayashi

November 27, 2021
Tweet

More Decks by Shinobu Hayashi

Other Decks in Technology

Transcript

  1. 加速するEdge Computing
    JSConfJP 2021
    1

    View Slide

  2. whoami
    Shinobu Hayashi (@Shinyaigeek)
    - Web Developer
    - UTokyo B4
    - work at Newspaper Company
    - 👀 : Browser, web standard, performance
    - GitHub & Twitter: @Shinyaigeek
    2

    View Slide

  3. Edge Computing 流行ってますね
    3

    View Slide

  4. Edge Computing
    4

    View Slide

  5. EdgeでFunctionを実行するPlatformも, それあ
    りきのFWも現れてきた
    5

    View Slide

  6. でもEdge Computingっ
    てそもそもなんなんだ?
    何が嬉しいんだ?
    6

    View Slide

  7. What is Edge Computing? (In Web dev)
    Edge Computing
    - IoT領域で語られることが多く, デバイス上で計算することを指す
    - 車で画像認識を行い衝突を避ける
    - Web開発の文脈では, クライアントのデバイスではないがデバイスから近い
    ネットワークのエッジ上で計算をすることを指す
    7
    Device Origin Server
    Edge Server

    View Slide

  8. What is Edge Computing? (In Web dev)
    8
    Device
    Origin Server
    Device
    HTTP Req
    HTTP Res
    HTTP Req
    HTTP Res

    View Slide

  9. What is Edge Computing? (In Web dev)
    9
    Device
    Origin Server
    Device Edge Server
    Edge Server

    View Slide

  10. Edge Computing
    blog.com
    assets.com
    - Origin ServerへのRequestの
    出しわけ
    - 認証処理
    - HTTP Req/Res の加工
    - A/B Test
    - Feature Flags
    - etc...
    10

    View Slide

  11. どこまでEdgeでやるべき?
    11

    View Slide

  12. Web Application with Edge
    Origin Server Edge Client
    Instances
    I/O Cost
    裁量
    12

    View Slide

  13. Edge で何ができるのか
    - HTTP Req/Resの加工
    - Origin ServerにHTTP Requestを届ける前に, 認証などを済ませてしま

    総じて Client ⇆ Server 間のやりとりの間に立って, ちょっとしたこと(それこそ
    middleware のような処理) ができる
    13

    View Slide

  14. Edge Computingで何をすべきでないのか
    - アプリケーション全体の状態を強く扱う処理
    - DBにアクセスしたい時など
    - 重い処理
    - 実行時間, 実行のために必要なメモリ量が多い処理
    - そもそもEdgeで重い処理をすべきでない
    - Platformによっては, デプロイするコードの容量や実行時間 , メモリが厳しい制限が課さ
    れている
    14

    View Slide

  15. と思いきや
    15

    View Slide

  16. Edge Native の可能性
    - Cloudflare Workers
    - R2
    - MySQL, PostgreSQLへの接続
    - Deno Deploy
    - PostgreSQL, DynamoDBなどへの接続
    - Web Storage API
    - SSR
    - Machine Learning
    - GraphQL Server
    一部プラットフォーム, あるいは一部の使い道では, Client に対しての HTTP
    Response の生成を完全にEdgeで完結させてしまい, serverlessのような使い方
    も可能
    16

    View Slide

  17. Edgeでやることの旨味
    - No(or few) Cold Start
    - Low Latency
    - Scallability
    - Client Deviceのマシンスペックに依存しない
    A new generation of serverless
    17

    View Slide

  18. 加速するEdge Computing
    Edge Computingはより早いWebをもたらしうる
    18
    Edge serverで全て完結するような可能性も切り開かれうる...?

    View Slide

  19. Universal JavaScript Module?
    Universal JavaScript:
    - Browser
    - Node.js
    - service worker(?)
    - Edge <- New!!
    - だけどEdgeのRuntimeのAPIは結構バラバラ...
    - compatを誰がやるのか(platform? module? plugin?)
    19

    View Slide

  20. Thank you for
    listening !!
    20

    View Slide