感想
- 運営の方からお願いのあったフォーマットで
- ①今日1番良かったセッションと良かったポイント
- 毎日放送の野球中継の話が1番良かった
- ユーザとして身近な内容なのでそそられたし、技術面の話も選定の流れなど面白かった
- 土曜朝からで眠気もあったがこれだけは最後まで聴き入ってた
- 他には生成AI関連はこれまで接点がなかったから知識が増えてよかった
- ②自分のプロジェクトで今度TRYしてみよっかなと思ったサーバーレスな施策・機能・打ち手
- 今の仕事はサーバーレスやパブリッククラウドとはかけ離れているので難しい、、
- ③ServerlessDays運営への感想・フィードバック
- 会場が広くてどの席でもゆったり見れたのが良かった
- セッションが詰め込みまくりな割に休憩は確保されてたので慌ただしさもなかった
- 昼休憩のまとまった枠はなかったけど見ながら食べればいいので全然違和感なかった
社内でのサーバーレスアプリケーション開発を、プラットフォームエンジニアリングを整備して迅速化・安定化させる取り組み
- 若槻龍太さん(クラスメソッド株式会社)
クラスメソッドのサーバーレス
- 2017年にサーバーレス開発部ができた
- 2019年から技術軸からプラットフォーム軸に組織が変わった
- 各チームでサーバーレスをデフォルトで採用されてた
- 各開発チームの中で技術選定されるように
- 言語やIaC周りそれぞれで選定されるように
- 社内のプラクティスが活かされない
- 2023年から技術軸に加えて横串チームができた
- 社内で使われてる技術をベースにテンプレート化
AWS Lambdaを支える技術
- Kensuke Shimokawaさん(Amazon Web Services Japan G.K.)
Lambdaの裏側
- Isolation
- Lambdaは小さいサーバでいい
- 昔はT2インスタンス上で動いてた
- 今はFirecrackerで効率良くなった
- Utilization
- オンプレはover/under requestが起きてしまう
- オートスケールすれば多少は
- Lambdaならもっと最適化
- 平準化させるよりできるだけサーバに寄せて効率的にしたい
- スケールさせなきゃいけなくなったときのために統計情報からいい感じにしてる
- 最近は機械学習も使って
- Performance
- Lambdaへのインプットはパラメータとコード
- zipは最大250MB
- コンテナイメージなら最大10GB
- 10GBを毎回プルして展開すると遅い
- handlerでアクセスするのは5%程度
- いろんな箇所でキャッシュを持っている
- イメージをchunkに分けて管理
- Lambdaへのインプットはパラメータとコード
- Cell-based Architecture
- LoadBalancer/Compute/StorageのかたまりをCellとしてスケールさせる
- Shuffle Sharding
- 負荷分散でPoison Pillが起きると結果的に全台壊れてしまう
- Cell-based ShardingしてるとPoison Pillが入ったCellが落ちるだけで済む
- 同じテナントに紐づいてると影響受けてしまう
- Shuffle ShardingだとCellに入る組み合わせがシャッフルされる
- Poison Pillの影響を受けても部分的で済む
- 組み合わせが増えるほど影響が小さくなる
- Lambdaは利用者が膨大なのでとても小さくできる
実践!サーバーレス RAG 構築:Firestore ベクトル検索と VertexAI LLM 活用
- 頼兼孝幸さん(グーグル・クラウド・ジャパン合同会社)
- https://speakerdeck.com/googlecloudjapan/shi-jian-sabaresu-rag-gou-zhu-firestore-bekutorujian-suo-to-vertexai-llm-huo-yong-09c16995-b605-49e5-8bd3-da1a87a99ec1
サーバーレスでRAG
- RAG(検索拡張生成)
- LLM(大規模言語モデル)の質を向上させるための技術
- 信頼できる専門性も理解した最新かつ正確なデータをもとにした回答をさせるために必要
- RAGの有無での違い
- 「メニューを教えて」っていった時にRAGをしてないとお店を言ってくれないと分からない
- RAGをしてるとお店の情報がわかるので答えられる
- RAGをするには
- データを登録しておく
- それをAPIで参照する
- Cloud Run
- VertexAI
- AI関連の幅広いサービス
- Firestore
- サーバーレスなデータベース
- スケーラブルなドキュメントDB
- keyに対していろんな情報が紐づく
- 従量課金
- クライアントとのリアルタイム同期可能
- RAGの例
- 登録
- CloudStorageにファイルアップ
- イベント駆動でCloudRunに情報をpost
- CloudRunがchunkに分割してファイルを取得しベクトルデータをFirestoreへ登録
- 取得
- 情報が必要になったらCloudRunからFirestoreにベクトル検索する
- 取得結果を踏まえてにgeminiなどLLMに生成リクエスト
- コンテキストを含んだ生成結果を返せる
- 登録
- 結果の分析
- 生成結果を生成AIに評価させる
- 評価のしかたを詳細に指定することで結果のフォーマットを使いやすくできる
- 継続的に評価させて改善をしていくといい
- 生成結果を生成AIに評価させる
サーバーレスAPIのパフォーマンステストとアプリの未来
サーバーレスでAPIを作る
- サーバーレスでAPIを作る場合の課題
- レイテンシーの増加
- コールドスタート
- カスタマイズの制限
- レイテンシーの増加
- Postmanのパフォーマンステスト
- シナリオを指定したユーザ数でAPIアクセステストができる
- これを使うとコールドスタートの様子もテストできる
WebAssembly を使ったサーバレス開発の基礎と実践
- 澤田径さん(Fastly)
WebAssembly
- スタックベースの仮想マシン用バイナリ命令フォーマット
- wasmランタイムに読み込ませると動く
- wasmランタイムはブラウザに入っている
- ブラウザ以外でも使えるようになってきている
- 2012年頃からある
- 2016年主要なブラウザが実験的なサポート開始
- 2019年W3C勧告
- Wasi(WebAssemblySystemInterface)
- システムの各種リソースへのインターフェース定義(FileSystem,Networkなど)
- Wasmtime
- WebAssemblyのランタイムの1つ
- BytecodeAlliance製
- FastlyのOSSもこれに合流
WebAssemblyとサーバーレス
- Fastly Compute
- Fastly上でWasmバイナリを実行できる
- グローバルな100拠点二配置
- 起動は数十msなのでコールドスタートとか考えなくていい
IT初心者が挑戦!TVの新しい演出のアジャイル開発
- 松本卓紘さん(毎日放送) / PingCAP
スポーツ中継とサーバーレス
- スポーツ中継ではリアルタイムの映像だけでなく事前に用意した過去素材も使う
- 事前に用意した素材しか出せない
- 特定の場面が出た時に表示したくなる過去の場面がある
- 特定場面をすぐに検索できるWebシステムを作った
- 打者や結果など入れて検索できる
- それをダウンロードしてすぐに放送に載せられる
- 生成AIで場面を特定する
- ラジオの実況を文字起こししてそこからある程度の場所を特定
- システムの構築
- 調べ始めてみると
- DB意外とお金かかる
- 使ってない間もサーバ料金かかる
- とは言ってもデータ上げる人は忙しいから起動し続けたい
- TiDBに出会った
- 社内のいろんなシステムがTiDBに
- 最大月8万かかってたのが1000円以内になった
- AppRunnerをたまたま知って同僚が作ったDockerイメージあげたら動いた
- いろんなサーバーレスコンポーネントを組み合わせていろんなのを作っていった
- 調べ始めてみると
- テレビとIT
- 開発が必要と決まるのがぎりぎり
- 先の話は本当にやるか分からないのでぎりぎりまで動けない
- アジャイルで高速に開発できる環境が向いている
- サバーレスなどマネージドサービスでスピード感ある開発
- ChatGPTなどの活用でも追い風
サーバーレスで構築するBreaking Down LIVE
- 秋葉祐人さん(BACKSTAGE) / PingCAP
格闘技中継とサーバーレス
- Breaking Down LIVE
- 格闘技の配信サービス
- もともとの構成
- Amplify
- Cloud Firestore
- Cloud Functions
- Firestoreで実装考慮不足でホットスポット発生しシステム止まってしまった
- システムリプレース
- 負荷予測が難しい
- フロントはNextをVercel上で
- バックエンドはCloud RunをTypescriptで
- 高いスケーリング
- 従量制課金
- Cloud Runでの課題
- 急激なスパイクで追いつかない
- レイテンシ5秒悪化する
- コンテナ起動に時間がかかる
- Container Startup LatencyのP99が9秒
- 不要な依存の削除などで改善
- 急激なスパイクで追いつかない
- データベースの選定
SPHERE-1 EYE衛星を使用したライブ動画ストリーミング及びライブ操作
- 肴倉孝直さん(ソニーグループ)
衛星を使ったライブストリーミング
- 宇宙を身近にする
- 衛生から写真を撮る
- ライブ動画ストリーミングもできる
- 通信できるタイミングは1日多くて4回で1回最大10分程度
- サーバーレスでの実現
- 衛星から送られてきたデータを取り出してストリーミングで送る処理
- GSaaSが地上局から動画を取得して自前の処理を入れてMediaServicesに渡してCDNで配信
- 衛星と通信する間は起動しておく必要がある
- EvendBridgeでFargateをスケジュール実行
Momentoが考える開発者の未来
- 中川誠一さん/加藤裕士さん(Momento)
Moment
- Moment
- Moment Cache
- サーバーレスキャッシュサービス
- Moment Topic
- pub-subサービス
生成 AI による新しい UI/UX 〜 サーバーレスで実現する Generative UI の世界〜
- Daisuke Awajiさん(Amazon Web Services Japan G.K.)
Generative UI
- Generative UI
- htmlなどを生成してUIを作ること
- 対話的なIFでのサイト制作
- Lambda経由でBedrockを叩く
- Bedrock叩く時にhtmlを生成してほしいといった内容を差し込む
- Lambda Response Streamingでhtmlをstreamで返せる
- NextをLambda上で
- 構造化されたテキストをUIに
- 自律的なAIがUIを描画する
- 断片的なコードを生成するだけでなく何をどこに作ってどう連携するかなどまでやってもらう
- ローカルにファイルを書き出したりする必要がある
- 断片的なコードを生成するだけでなく何をどこに作ってどう連携するかなどまでやってもらう
- RAGを応用した制作
静的サイトのCI/CDでも侮るなかれ!Docs as Codeに沿ったセキュアな開発プロセスの実践
- 松尾 優成さん(みずほリサーチ&テクノロジーズ株式会社)
- https://speakerdeck.com/mhrtech/secure-docsascode-cicd-for-static-sites
Docs as Code
- コーディングと同様のツールでドキュメントを作成する手法
- mdだと軽量だし差分管理もしやすい
- 生産性品質の向上につながる
- SSGでページ化してる
- MkDocsを使ってる
- 検索機能が入ってる
- AWSリソースとドキュメントを同じリポジトリで管理してる
- cskの設定なども含んでる
- 開発プロセス