Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ALB+Lambdaを活用した既存システムのMicroservice化
Search
NAVITIME JAPAN
PRO
October 21, 2019
Technology
0
84
ALB+Lambdaを活用した既存システムのMicroservice化
2019年10月21日(月)に開催されたDevLOVE様主催のイベント「諸君、私はServerlessが好きだ。」にて発表した資料です。
NAVITIME JAPAN
PRO
October 21, 2019
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
16k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
900
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
260
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3.2k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.7k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
390
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.8k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.4k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
8
5.8k
Other Decks in Technology
See All in Technology
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
310
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
210
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
410
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
59k
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
110
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
330
I tried making a solo advent calendar!
zzzzico
0
130
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
15
4.2k
First-Principles-of-Scrum
hiranabe
3
1.3k
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
160
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Crafting Experiences
bethany
0
25
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
270
Believing is Seeing
oripsolob
0
19
Prompt Engineering for Job Search
mfonobong
0
140
ラッコキーワード サービス紹介資料
rakko
0
1.9M
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
140
Being A Developer After 40
akosma
91
590k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
37
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
ALB + Lambda を活⽤した 既存システムのMicroservice化 Katsuhide Kayashima
•萱島 克英 •担当 •Cloud Migration •全社的な改善業務 •好きな技術 •ECS、EKS、GKE、Spinnaker ⾃⼰紹介
今⽇お話すること ALB Lambda と を使って モノリスな既存システム を Microservice化 しようとしているお話
•ALB + Lambda を選択した背景 •デプロイフロー •改善ポイント (期待値込み) •監視周り Agenda +
= ?
Keynote Presentation ALB + Lambdaを選択した背景
•コンシューマ向けサービスの⼤半をAWS、GCPで運⽤ •アプリケーションはContainer化されており、ECS、EKS、GKE で運⽤ •Serverless の利⽤実績は少ない状況 NAVITIMEのバックエンド
既存の地図データ配信フロー Service A Service B 地図配信 Service Users ALB ALB
ALB ECS ECS ECS (共通API)
既存フローの問題点 Service A Service B 地図配信 Service ALB ALB ALB
ECS ECS ECS •ServiceA とServiceB はリクエストを Proxingしているだけ •地図配信リクエスト数は全体リクエストの 約6割 (共通API) Users
既存フローの問題点 Service A Service B 地図配信 Service ALB ALB ALB
ECS ECS ECS •ServiceB には多数の 共通API が稼働 = モノリシック •EC2リソースをアクセスに合わせて無駄なく増減させるのは難しい →無駄に起動しているEC2リソースが多少なり存在 Users (共通API)
これを ALB + Lambdaで剥がしたい
•ALB のバックエンドに Lambda が選択可能に! (Re:invent 2018) 良いタイミングで - その1
•VPC内の Lambdaに対する ENIのアタッチスピードが⼤幅に向上 ! 良いタイミングで - その2
Lambda導⼊後のフロー Service A Service B 地図配信 Service ALB ALB ALB
ECS ECS ECS (共通API) Users Lambda
•無駄なコンピューティングリソースの削減 •モノリスなシステムから地図リクエストが剥がされることによる耐障 害性向上 •既存ECSインスタンスのスケール戦略が楽に ALB + Lambda構成に期待している事
Elite Slides Keynote Presentation Deploy & Improvement
Deploy 地図配信 Service Jenkins ALB ECS Alarm Topic AWS CloudFormation
•CloudformationでLambda、ALB Targetgroup、Alarm、Topicを作成 •aws-sam-cli で作成したtemplate をベースに必要なリソースをappend
デプロイ 地図配信 Service Jenkins ALB ECS Alarm Topic AWS CloudFormation
•Cloudformation の Template は1つ、アプリ毎に変動する部分だけ Parameterファイル化 Deploy Template.yaml アプリA⽤パラメータファイル + アプリB⽤パラメータファイル アプリC⽤パラメータファイル
Failover Service A Service B 地図配信 Service ALB ALB ALB
ECS ECS ECS (共通API) Users Lambda Cloudformation の Stackを削除する事で、既存のルーティングに切り戻す
•API毎に 同時実⾏数の上限値 を設定 •上限値を超えた分は 502 がすぐに返却 改善ポイント API毎に Lambda を分けた事により、予期せぬ⼤量アクセスがあった場合でも
バックエンドシステムの輻輳が起きにくくなる
Elite Slides Keynote Presentation 監視
Cloudwatch Prometheus & Grafana Datadog 監視ツール Lambda → Cloudwatchとのインテグレーションで簡単に監視できそう
実施した監視項⽬ 項⽬ 監視の⽬的 Errors • Lambda⾃体でエラーが発⽣していないか? • 例)Memory超過、Timeout Application Errors
• アプリケーションでエラーが発⽣していないか? • 例)Upstreamからエラーが返却された • 例)Runtime Error Throttle Errors • 同時実⾏数の上限を超えていないか? Healthy Host Count • ALB → Lambdaのヘルスチェックが200で返っているか?
ご清聴ありがとうございました!