Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CodePipeline と AWS SAM CLI で サーバレス開発を加速させる取り組み
Search
yoheiigei
June 06, 2024
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CodePipeline と AWS SAM CLI で サーバレス開発を加速させる取り組み
yoheiigei
June 06, 2024
Other Decks in Programming
See All in Programming
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
160
ActionController meets Protocol Buffers
sorah
0
560
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
270
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
280
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
100
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
Believing is Seeing
oripsolob
1
250
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Navigating Weather and Climate Data
rabernat
0
560
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
1 プロダクト開発部 SREチーム 伊藝 洋平 2024/04/22
AWS CodePipeline と AWS SAM CLI で サーバレス開発を加速させる取り組み 発表内容 2
会社紹介 3
自己紹介 • 伊藝 洋平 • @沖縄 リモートワーク歴7年 • エンジニア歴 12年
• jinjer株式会社で SREエンジニアのお仕事をしています • 主に、AWSを利用したインフラ環境を構築するお仕事をしています • python勉強中です 4
Contents 1. サーバーレス構成を採用する際の課題 2. AWS CodePipeline と AWS SAM CLI
について a. AWS CodePipeline / AWS SAM CLI ? b. メリット、デメリットについて 3. 開発プロジェクトでの採用例 a. 採用事例、イメージ画像 b. SREとバックエンドエンジニアの役割分担 4. まとめ 5
上記のよくあげられる課題のうち、赤字部分に対する取り組みです。 • サービス上限値(例 : Lambda の 15分 timeout) • 既存のアプリケーションで作り直しが必要
• エラーや障害発生時の切り分けが難しい • 誰が、どこまで、設定するのか? • 色々なサービスが連携して、テストやデバッグがしづらい。 • etc … サーバレス構成を採用する際の課題 よく挙げられる課題 6
誰が、どこまで、設定するのか? 例)Lambda function に関連する設定は、誰が設定するのか? コード書いて、パッケージング・デプロイして、他のサービスとの連携設定をして、 環境変数は?、ログの設定、監視の設定、ソースコードに依存するし、IAM の権限、etc … • 誰が、どこまで、設定するのか?
• 色々なサービスが連携して、テストやデバッグがしずらい サーバレス構成を採用する際の課題 よく挙げられる課題 7 テストやデバッグがしずらい 例)Lambda Function のテストやデバッグ? Lambda Function をローカルで実行する?時に渡すイベント用意しないと、responseを デバッグ確認するためapi gateway と連携したい、etc …
• AWS CodePipeline • AWS SAM CLI を活用しています!!! そんな課題に、対応するために、 8
AWS CodePipeline AWS CodePipeline と AWS SAM CLI について 9
• AWS Code 兄弟 (CodeCommit, CodeDeploy, CodePipeline, CodeBuild) • CI/CDをサポートするサービス。 • V2アップデートで、git tag によるトリ ガーなど、細かい制御ができる様に! • パイプラインタイプで実行モード (Queued / Parallel)が追加に! • 簡単な設定で、デプロイパイプラインが 組める!! • etc …
AWS SAM CLI AWS CodePipeline と AWS SAM CLI について
10 • Serverless Application Model (SAM) の CLI ツール • サーバレス な アプリケーションの開発 をサポートするツール • CloudFormation の拡張。より簡単な 記述で サーバーレス構成ができる!! • Lambda 以外にも、 APIGateway/DynamoDB など、 サーバーレスな構成をマルっと設定でき る! • etc …
AWS SAM CLI で構成した サーバレスアプリケーション を AWS CodePipeline を使って、サクッと、テストやデプロイができるようにする! •
誰が、どこまで、設定するのか? • 色々なサービスが連携して、テストやデバッグがしずらい AWS CodePipeline と AWS SAM CLI で課題を解決する! よく上げられる課題 11 メリット - 簡単な設定でデプロイや管理ができる。 - CodePipeline (CodeBuild)が設定作業を やってくれるので、設定者の権限などを 気にしなくて良い。 - AWS SAM CLI を利用すれば、 ローカルでサービス連携の テストもできる。 デメリット - CodePipeline や AWS SAM CLI に関する 学習が必要。
実際のサーバレスアプリケーション開発の流れ AWS CodePipeline と AWS SAM CLI で課題を解決する! 12 1.
git リポジトリを用意 2. CodePipelineを設定(terraform) 3. AWS SAM CLI で project を init する 4. lambda function を実装する 5. commit/push/review/approve/merge! 6. CodePipeline が実行される 7. サーバレスアプリケーションがデプロイ される
ジンジャー勤怠サービス 開発プロジェクトでの採用例 13 • 採用例:既存アプリケーションからの構成変更 • 対象:サブシステムAPI、バッチ処理、の一部 • 構成:APIGateway/Lambda、SQS/Lambda •
言語:Ruby から Node.js へ • テスト ◦ ユニットテストは、ローカルで実施。 ◦ インテグレーションテストは、開発環境。
外部連携サービス ジンジャーAPI 開発プロジェクトでの採用例 14 • 採用例:新規サービスのサーバレス構成採用 • 対象:外部連携用API • 構成:APIGateway/Lambda
• 言語:Node.js(Typescript) • テスト ◦ ユニットテストをCodePipelineで! ◦ インテグレーションテストは、開発環境。
ジンジャー人事労務 生成AIを活用した 新規サービス(PoC) 開発プロジェクトでの採用例 15 • 採用例:新規サービスのサーバレス構成採用 • 対象:人事情報の入力補助用API •
構成:APIGateway/Lambda • 言語:Python • テスト ◦ ユニットテストをローカルで! ◦ インテグレーションテストは、開発環境。
AWS CodePipeline と AWS SAM CLI を使用した、デプロイの仕組みでサーバレス開発を加速さ せる取り組みについて説明しました。 重要 どのような開発環境にあてはまるものではないです。更に良い構成はきっとある。
仕組みが簡単なので、まずは始めてみるという事が大事。 バックエンド、インフラなどの領域を明確に分ける事は、難しい。 それぞれの領域のエンジニアが、良い開発開発を展開するために歩み寄るが大事。 サーバレス構成の場合、テストは、ローカルで完璧に実行することよりも、 開発環境へデプロイした方がコストがかからない可能性がある。 AWS SAM CLIを活用すると、APIGateway/Lambda のローカルでのテストもで きる。 気楽に、少しづつ、Let’s サーバレス ! まとめ(サーバレス開発を加速させる取り組み) 16
ありがとうございました! jinjer株式会社 SREチームでは、プロダクト開発を支えながら、 チームメンバーで、楽しく働きやすい環境を整えて、 新しい技術の習得に取り組んでいます。 最後まで、発表内容を聞いていただきありがとうございました。 以上 17