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
cronworkflowを用いた バッチ障害時の運用改善
Search
南條綾乃
March 13, 2023
Technology
650
0
Share
cronworkflowを用いた バッチ障害時の運用改善
南條綾乃
March 13, 2023
More Decks by 南條綾乃
See All by 南條綾乃
Linux初心者がAmazon Linux 2023への移行に奮闘した話
ayanonanjo
1
900
Other Decks in Technology
See All in Technology
GoとSIMDとWasmの今。
askua
3
490
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
170
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
180
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
720
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
220
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
210
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
190
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
340
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
180
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
180
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
730
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Curious Case for Waylosing
cassininazir
1
370
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
The Curse of the Amulet
leimatthew05
1
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
270
Transcript
cronworkflowを用いた バッチ障害時の運用改善 氏名: 南條綾乃 2023/03/13 Kubernetes Novice Tokyo #23
自己紹介 名前: 南條綾乃 会社: 株式会社NTTデータ(2021年入社) 業務: バックエンド開発 実家で飼っている柴犬と亀
バッチの良い運用設計とは?
良い運用設計とは 回復性 可観測性 管理力 処理の進行状態を把握できるか 処理の完了状態を把握できるか 障害を検知し適切な行動を選択できるか 容易に再実行が可能か 参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processing
CNCF Cloud Native Definition v1.0より項目抜粋 実行コストが少ないか
しかし、これまでは... 回復性 可観測性 管理力 処理の進行状態を把握できるか 処理の完了状態を把握できるか 障害を検知し適切な行動を選択できるか 容易に再実行が可能か 参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processing
CNCF Cloud Native Definition v1.0より項目抜粋 実行コストが少ないか APを修正して から実行 手動で 再実行 手動で 再実行
cronworkflowを用いて "バッチの良い運用設計"を 目指したので、その取り組みにつ いてLTさせていただきます!
cronworkflowって何?
cronworkflowとは Kubernetes上で実行されることを想定したワークフローエンジン である、argo workflowの一種 KubernetesのCRD(Custom Resource Definition)として実行 cronjobと同じ設定を使用し実行可能
何を実施したの?
実施したこと ・障害時に動かす処理をコマンドライン引数で管理 ・障害時にバッチを自動実行
実施したこと
というのも.. これまでの障害時の運用 ・手動でバッチを再度実行 ・障害時用のバッチのイメージを読み込み直して再デプロイ
管理コストが少ないか これまでの問題の解決 回復性 可観測性 管理力 処理の進行状態を把握できるか 処理の完了状態を把握できるか 障害を検知し適切な行動を選択できるか 容易に再実行が可能か 参考:
https://www.yamarkz.com/blog/implementation-practices-for-batch-processing CNCF Cloud Native Definition v1.0より項目抜粋 APを修正 しない仕組み 自動で 再実行 手動で 再実行
以下のようなイメージ 障害時に障害用のバッチを自動で実行させる 障害時 別のAP
マニフェストファイル どんなん?
設定の全容
障害発生時 通常時 helmfileで設定時は、 コメントアウトのように記載
コマンドライン引数での 処理の管理って?
コマンドライン引数での処理の管理 execを定義 (defaultは空) ここで、モードにより 呼び出したいメソッド を変える
ここまでで 回復性、管理力は解決!
実行コストが少ないか では.. 回復性 可観測性 管理力 処理の進行状態を把握できるか 処理の完了状態を把握できるか 障害を検知し適切な行動を選択できるか 容易に再実行が可能か 参考:
https://www.yamarkz.com/blog/implementation-practices-for-batch-processing CNCF Cloud Native Definition v1.0より項目抜粋 APを修正 しない仕組み 自動で 再実行 手動で 再実行
可観測性は どうやって解決してるの?
Healthchecksで解決!
Healthchecksとは ジョブの「起動状態」を監視するサービス ※実行状態は監視しない(AP内部でエラーetc) 予定していた時刻にジョブが正常起動したか ジョブの想定実行時間よりも実行時間が長くなっていないか
運用イメージ workflow開始時に Started 終了したら OKが届く メールやチャット、 PagerDutyとの 連携も可能
どうやって使うの?
heathchecksとの疎通方法 runitorコマンドを使用 払い出したuuidを設定 -execで実行するmodeを設定
デモします!
デモ ①通常実行 ②通常実行→障害発生→障害時のAP実行
デモ
実行コストが少ないか まとめ 回復性 可観測性 管理力 処理の進行状態を把握できるか 処理の完了状態を把握できるか 障害を検知し適切な行動を選択できるか 容易に再実行が可能か 参考:
https://www.yamarkz.com/blog/implementation-practices-for-batch-processing CNCF Cloud Native Definition v1.0より項目抜粋 APを修正 しない仕組み 自動で 再実行
ご静聴 ありがとうございました!
リマインド機能について 企業 エンドユーザー リンクを発行 リンクで登録などを実施 リンクの期限1日前にリマインドメール 参考:
詳細 リマインド対象のリンクを DBから取得 該当するリンク所有者に 1件ずつメールを送信 参考: