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

Serverlessの今とこれから / Everything will be Serverless

Serverlessの今とこれから / Everything will be Serverless

JAWS Festa Sapporo 2019
https://jft2019.jaws-ug.jp/session/544/

Masashi Terui

November 02, 2019
Tweet

More Decks by Masashi Terui

Other Decks in Technology

Transcript

  1. Serverlessの
    今とこれから
    Everything will be Serverless

    View Slide

  2. Masashi TERUI
    Cloud Architect/Developer
    札幌在住兼業リモートワーカー
    Serverlessconf 2016,2017,2018 Speaker
    ServerlessDays 2019 Co-Chair
    AWS Premier Partner
    https://www.serverworks.co.jp
    01. Serverworks 02.
    Serverless, DevOps etc
    https://willy.works/
    Freelancer

    View Slide

  3. Serverless 年表
    駆け足で振り返る
    S3, Kinesis Data Streams, DynamoDBの
    イベントにトリガーする小さなコードを実行
    AWS Lambda 発表
    2014.11
    REST APIのBackendとして
    Lambdaが使えるようになる
    API Gateway 発表
    2015.7

    View Slide

  4. 新しいパラダイムの予感を感じさせつつも
    「Serverlessで大規模システムなんて…」
    「主流になることはない」
    Serverlessconf 2016
    2016.9
    メジャーで実践的なフレームワークが登場
    SLS v1.0, AWS SAM
    2016.11
    スタートアップや先進的なWeb, Mobile系での採用例
    大規模システムの設計手法
    運用監視(Observability)
    Serverlessconf 2017,8
    2017.11, 2018.9

    View Slide

  5. Serverless全面推しの年
    Custom Runtime, Improved VPC NW
    API Gateway WebSocket etc…
    re:Invent 2018
    2018.12
    大企業、大規模システム採用例
    過去最高のエンゲージメント・熱量
    ServerlessDays 2019
    2019.10
    そして 現在

    View Slide

  6. かつてIaaSが主流になった時と
    同じ流れをたどっている

    View Slide

  7. そこには コミュニティの力 が

    View Slide

  8. 議論されてきたトピック
    世界中のコミュニティによって答えはもう出ている
    設計
    • マイクロサービス
    • イベントドリブン
    • データモデリング
    開発
    • デプロイ
    • テスト手法
    • CI/CD
    運用
    • モニタリング
    • ログ管理
    • 分散トレーシング

    View Slide

  9. 議論されてきたトピック
    世界中のコミュニティによって答えはもう出ている
    設計
    • マイクロサービス
    • イベントドリブン
    • データモデリング
    開発
    • デプロイ
    • テスト手法
    • CI/CD
    運用
    • モニタリング
    • ログ管理
    • 分散トレーシング

    View Slide

  10. 議論されてきたトピック
    世界中のコミュニティによって答えはもう出ている
    設計
    • マイクロサービス
    • イベントドリブン
    • データモデリング
    開発
    • デプロイ
    • テスト手法
    • CI/CD
    運用
    • モニタリング
    • ログ管理
    • 分散トレーシング

    View Slide

  11. そして クラウドの進化
    新サービス、アップデートの嵐

    View Slide

  12. そして、現在

    View Slide

  13. グローバル展開の
    コネクテッドカーシステム
    数百のマイクロサービス
    設計・開発手法
    Slide非公開
    数百万台の接続を想定した
    大規模IoTプラットフォーム
    大容量DynamoDB
    コスト最適化
    Slide公開有
    AIBOを始めとした
    多くのサ−バレスシステムの
    分散トレーシングおよび
    ログ統合管理
    Slide公開予定?
    TOYOTA DAIKIN SONY
    大企業が先進的な大規模システムを
    自社開発する時の1st Choiceに

    View Slide

  14. 小さな飲食店の情シスが
    圧倒的業務改善して
    イケてるスタートアップに進化
    サーバを売るほど持つISPだって
    本気でサーバレスで開発してる

    View Slide

  15. Lambdaがメイン
    Containerが補完
    Modern
    Serverlessの今

    View Slide

  16. EC2, RDSからではなく
    まずServerlessから
    自社開発を前提として
    まずServerlessでできないか考える

    できないことはほとんどないw
    大規模になる時にスペシャリストの支援

    View Slide

  17. Serverlessのスペシャリストは
    AWSのスペシャリストか?
    答えはNO
    インフラを意識しなくなり
    アプリケーションの価値が全てになる
    アプリケーションを理解し
    適切にサービスを組み合わせる力が必要
    API GatewayやDynamoDBは
    立ち上げればすぐ使える
    その中にどのようなAPIを組むか
    どのようにデータを入れるかが重要
    これらに現状近い位置にいるのは
    AWSエンジニアではなく
    アプリケーションエンジニア

    View Slide

  18. Serverlessの
    流れは止まらない
    誰もが最小のコストで最大の成果を求める
    だから運用は減らしたいし
    自前で作らずにサービスを使う
    柔軟にスケールするシステムを求め
    より組織的にスケールする設計・開発方式を探す

    View Slide

  19. “王者はコードで全てを作り出す人から
    サービスの組み合わせを知り最小限の
    コードだけを書く人になる”
    個人的にはちょっとだけ異論があって
    適切な組み合わせと繋ぎ方を理解するのは
    アプリケーションの作り方を知る人だろうと
    思ってる
    https://medium.com/@PaulDJohnston/cloud-2-0-code-is-no-longer-king-serverless-has-dethroned-it-c6dc955db9d5

    View Slide

  20. “未来は必ずサーバーレスになります
    それはもうサーバーレスと呼ばれてないかもしれないけど”
    https://yoshidashingo.hatenablog.com/entry/sdays2019

    View Slide

  21. Template
    Lorem Ipsum simply
    Template
    Lorem Ipsum simply
    もっと広がるServerless
    Serverless = FaaSではない
    VPC Cold Start
    ペナルティの改善
    Custom Runtime
    実行環境の自由化
    現実的なRDB利用
    フレームワーク持ち込み
    あとはNAT Gateway無しで外部通信させて!!

    View Slide

  22. “全部はFaaSにはならないけど大抵の人が思ってるより多くのものは
    FaaS(とNoSQL)でいけるよってことは主張していきたい”
    https://twitter.com/marcy_terui/status/989390567174950913

    View Slide

  23. Lorem Ipsum is
    simply du
    Lorem Ipsum is
    simply du
    Long Runningな
    Batch処理
    処理中のStateと中間データ(の場所)を
    State Machine Dataに乗せれば分割できる
    そもそも、そのBatchの粒度は適切なのか?
    Kinesis Data Streamsベースで
    Short Batch化できるかもよ??
    時間と量でバッファできるようになったからやりやすくなった



    View Slide

  24. NoSQLでも
    整合性と検索性は
    両立できる
    更新対象のアイテムを集約する
    条件付き書き込みを利用した楽観的ロック
    ACIDトランザクションもサポートされた
    読み込みは都合の良いデータを非同期に生成

    View Slide

  25. Async/Event Drivenな設計がClient Sideまで
    最高!!
    GraphQL
    Mutate/Subscribe
    AppSync
    From Polling to Push
    API Gateway
    WebSocket

    View Slide

  26. 正直、現状でも
    機械学習の学習処理やHPCのような
    超リソース集約的なもの
    あるいはRTB, 証券取引のような
    超低レイテンシが求められるもの
    それ以外はほぼServerlessでイケる
    この辺はRescaleのようなHPC SaaSや
    G○PのCloud Machine Leaningが
    出てたりするわけで、結局Serverlessになる

    View Slide

  27. 黎明期 成長期 現在 未来
    イマココ
    まずServerlessから考える
    大体イケる
    全てがServerlessに
    まとめ
    過去・現在・未来
    さらに範囲が広がる
    Practiceの確立
    課題がなくなっていき
    メリットが際立つ
    期待と懐疑の混在
    「部分的には使える」
    「主流にはならない」

    View Slide

  28. Everything will be
    Serverless

    View Slide

  29. https://fukuoka.serverlessdays.io/

    View Slide