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
小さなものでも Step Functions / Serverless Meetup Fuku...
Search
cohalz
February 17, 2024
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
https://serverless.connpass.com/event/305300/
の発表資料です
cohalz
February 17, 2024
More Decks by cohalz
See All by cohalz
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
1k
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
12k
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
2.4k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.9k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
290
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
7.8k
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspresso MeetUp
cohalz
1
9.7k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
20k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
cohalz
0
2.6k
Other Decks in Programming
See All in Programming
Family mrubyの進捗
kishima
1
110
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
1.7k
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
920
信頼性の目標を誰も求めてない
shubox
0
500
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
190
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
350
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
150
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Mind Mapping
helmedeiros
1
350
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
Building an army of robots
kneath
306
46k
Optimizing for Happiness
mojombo
378
71k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
The Cost Of JavaScript in 2023
addyosmani
55
10k
4 Signs Your Business is Dying
shpigford
187
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Chasing Engaging Ingredients in Design
codingconduct
0
300
Transcript
小さなものでも Step Functions id:cohalz / @cohalz Serverless Meetup Fukuoka Re:boot
1
自己紹介 • こはる(@cohalz) • 株式会社はてな SRE ◦ はてなブックマーク ◦ はてなブログ
• 費用削減・MySQL・OpenTelemetry • 福岡でリモート勤務 2
3 Step Functions 使ってますか?
社内のStep Functions過去事例 • はてなブログの独自ドメインHTTPS配信 ◦ AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of
migration from HTTP to HTTPS on Hatena Blog with AWS • はてなダイアリーや魔法のiらんどのデータ移行 ◦ ちょっぴりDiveDeepするAWSの時間 AWS Dev Day 2023 Tokyo 延長 戦 実践データ移行 〜はてなダイアリーや魔法のiらんどの事例と共に〜 4
大規模なものだけ? • ちょっとした運用ツールにもStep Functions を使い始めています ◦ 定期・不定期でLambdaやCIから実行しているもの ◦ 既存のものを置き換える形で使い始めている 5
小さなものがあると学習しやすい • Step Functions自体は初見は難しい • 処理を想像できるサイズのものを用意するこ とで大規模なものを作成・運用できるように 6
Lambda運用の課題 • 長時間は動かせない(最大15分) ◦ 待ち時間があるような処理にはあまり向いてない • ランタイムの更新が必要(Go, Node, …) ◦
別の人が書いたものをメンテする場合はさらに大変 • エラーもCloudWatch Logsから探しにくい ◦ どういう入力でどういうエラーになったのか 7
Step Functionsだと • 時間制限がない ◦ 状態遷移数による課金 ◦ 時間かかる場合は組み込みのWaitを使える • ランタイムのことを考えなくて良い
• 処理の流れやエラーが追いやすい ◦ リトライやエラー処理を組み込みやすい ◦ 組み込んでも流れを把握しやすい 8
成功・失敗のログが わかりやすい • 失敗した時にどこが失敗 したのかわかりやすい ◦ 赤・橙、緑、白 • 失敗したところから再実 行できる
◦ redrive機能(2023/11) 9
Step Functionsの機能追加 • AWS SDK統合(2021/09) ◦ 大抵のAWSの操作はできるように • HTTPリクエスト(2023/11) ◦
認証が必要なエンドポイントもリクエスト可能 ◦ GitHubやSlackなども操作できるように 10
Lambdaを採用した方が良いケース • VPC内のリソースにアクセスする • 複雑な文字列処理 ◦ Step Functions組み込みの文字列関数が貧弱 ◦ もし作れたとしても読み解くのが難しいものになる
11
例: ステージング環境の作成・停止 • はてなブックマークのステージング環境を支 える技術 - Hatena Developer Blog ◦
毎日営業時間になったらステージング環境が本番の データでコピーされ定時後には終了する ◦ Aurora, ElastiCache, OpenSearchで実施 ◦ ほぼAWS SDK統合と少しのLambdaで実現 12
気をつけてる ポイント • コードコメントと GitHubでMermaid記 法を使い図を出す • コードやプルリクを見 ただけで処理の流れが わかるように
13
どうやって実装してる? • コンソールで作って試してその後CDKで同じコー ドを書くと言う流れで実装 ◦ コンソールは試行錯誤しやすい ◦ CDKは依存関係を記述しやすい • Application
Composerとか使ったら楽になる? ◦ 良い方法知っていたら教えてください 14
おわり • 細かいLambdaもStep Functionsに置き換えて 運用を楽にしています ◦ メンテしやすくしていきましょう ◦ 最近のStep Functionsも進化しています
• Step Functions事例聞きたいです 15