自社開発 SaaS を支える AWS の活用事例

0.9K Views

February 17, 26

スライド概要

profile-image

Scala/AWS 2025 Japan AWS Jr.Champions

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2026/02/16 Education-JAWS #7 ~Jr.Champions コラボ会 自社開発 SaaS を支える AWS の活用事例 エムオーテックス株式会社 川北 智也 © MOTEX Inc.

2.

自己紹介 川北 智也(Tomoya Kawakita) • 新卒 4 年目 • AWS 歴は 3 年ちょっと 所属 エムオーテックス株式会社 仕事 LANSCOPE エンドポイントマネージャー クラウド版のサーバーサイド開発 好きな AWS サービス AWS Lambda、Amazon Athena、Amazon Bedrock AgentCore © MOTEX Inc. 2

3.

プロダクト紹介 © MOTEX Inc. 3

4.

プロダクト紹介 © MOTEX Inc. 4

5.

プロダクト紹介 © MOTEX Inc. 5

6.

プロダクト開発での私の役割 • 新機能開発・既存機能の改善(特に PC 操作ログ基盤、 PC 操作ログを活用した機能) • アーキテクチャ設計 • コーディング • テスト • 問い合わせ対応 • 運用監視 © MOTEX Inc. 6

7.

個人的に思う学生時代とのギャップ リリースしてからが本番 © MOTEX Inc. 7

8.

例えば・・・ 機能改修 ランタイムアップデー ト ライブラリアップデー ト コスト改善 性能改善 お問い合わせ対応 運用監視 製品成長に伴う アーキテクチャの見直 し バグ修正 本当に必要なことに集中したいので、 サーバーレス・マネージドサービスをまずは採用 © MOTEX Inc. 8

9.

普段よく使う AWS サービス – システム全般 コンピューティング • AWS Lambda • AWS Step Functions ストレージ • Amazon DynamoDB • Amazon S3 • Amazon SQS CI/CD • AWS CloudFormation / AWS SAM • AWS CodePipeline • AWS CodeBuild © MOTEX Inc. 9

10.

普段よく使う AWS サービス – PC 操作ログ基盤 PC 操作ログ基盤 • Amazon Kinesis Data Streams • Amazon Managed Service for Apache Flink • Amazon S3 • Amazon Redshift • Amazon Athena • AWS Glue Data Catalog © MOTEX Inc. 10

11.

アプリケーションの実装事例 © © MOTEX MOTEX Inc. Inc.

12.

アプリケーションの実装事例 • 実装したアプリケーションは AWS Lambda で動かすケースがほとんど • 言語は Scala(他言語に比べると採用事例は少なめ・・・?) • Java ランタイム の AWS Lambda を使用 • 複数 AWS Lambda を Amazon SQS などで連携、全体で 1 つの機能 • 疎結合にしておいて影響範囲を狭くする • コードの見通しをよくする • システム全体で 1000 近くの AWS Lambda(!) メリット: サーバーレスでインフラ管理が不要なので、業務ロジックに集中できる デメリット: AWS Lambda のランタイムアップデートは定期的に必要 © MOTEX Inc. 12

13.

コールドスタート • AWS Lambda を実行すると、裏で実行環境を起動するときがある • 起動にかかる時間分、処理時間のオーバーヘッドが発生 • Java ランタイムは特に影響を受ける傾向 • おおよそ 1 ~ 2 秒くらい • オーバーヘッドが無視できないケースでどう対処するか © MOTEX Inc. 13

14.

コールドスタート問題 コールドスタートに対して、以下のいずれかで対応している ※ 1、2 は元からそのような構成で作っているケース。Scala + AWS Lambda で作られているものを 1、2 に作り直す例は無 し 1. AWS Lambda ではなく常時起動するようなサービスを使う • Amazon EC2 2. コールドスタートの影響が比較的小さい言語(ランタイム) • Python 3. GraalVM でネイティブイメージに変換し、カスタムランタイムで実行 © MOTEX Inc. 14

15.

コールドスタート問題 • ユーザーの操作感の向上において、可能な限りチューニングすることは重要 • • © MOTEX Inc. 特にレスポンス速度は目に見えて分かりやすいところ 改善効果は性能計測で必ず確認 15

16.

PC 操作ログ基盤の事例 © © MOTEX MOTEX Inc. Inc.

17.

PC 操作ログ基盤の事例 • AWS のサービスには一般にクォータが設定されている • ある程度の上限緩和は可能な場合アリ • 新しく設定・更新されることも(今回はこのケースだった) • Amazon Data Firehose の動的パーティショニングのクォータに抵触する前に PC 操作ログ基盤を リプレース © MOTEX Inc. 17

18.

PC 操作ログ基盤の事例 - before © MOTEX Inc. 18

19.

PC 操作ログ基盤 - before 1. テナントごとにログを区切るための動的パーティショニングのクォータ 2. リアルタイム性を担保するための機構と、検索性能を上げるための機構の両方が存在することに よる複雑さ © MOTEX Inc. 19

20.

PC 操作ログ基盤 - before 1. テナントごとにログを区切るための動的パーティショニングのクォータ 2. リアルタイム性を担保するための機構と、検索性能を上げるための機構の両方が存在することに よる複雑さ © MOTEX Inc. 20

21.

PC 操作ログ基盤 - after © MOTEX Inc. 21

22.

PC 操作ログ基盤 - after 1. Amazon Managed Service for Apache Flink で フラット化処理 + パーティションごとの保存処理 を自前実装し、フローを 1 本化 © MOTEX Inc. 22

23.

PC 操作ログ基盤 - after • 製品規模や非機能要件、運用負荷も踏まえた技術選定 • 社内ツールであれば「使ってみたい」ベースで選定も • サービスのクォータには要注意! © MOTEX Inc. 23

24.

リソース管理 - IaC © © MOTEX MOTEX Inc. Inc.

25.

デプロイやリソースの管理大変では? • AWS Lambda が 1000 近くあったり、ストレージもそれなりの数存在する・・・ • リソースは CloudFormation で一元管理 • AWS Lambda は AWS SAM で管理 • Code Pipeline を流すだけでリソース更新・デプロイが可能な構成 © MOTEX Inc. 25

26.

AWS サポート・生成 AI © © MOTEX MOTEX Inc. Inc.

27.

AWS サポート・生成 AI AWS サポート • 全てを自分達で解決するわけではなく、AWS サポートをフル活用 • 特に、マネージド・サーバーレスだと我々から見えない部分も多々ある • AWS に関わるソフトウェアエンジニアは感謝してもしきれないはず 生成 AI • Kiro を使っている • ちょっとした壁打ちから、コード生成など • Amazon Bedrock AgentCore 、AWS Security Agent など、様々な生成AIのサービスが出ているの で少しづつ検証も © MOTEX Inc. 27

28.

© MOTEX Inc.