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
Heroku Container Registry & Runtime + digdagで お...
Search
shunsugai
September 05, 2018
Technology
0
400
Heroku Container Registry & Runtime + digdagで お手軽バッチ処理環境 を作ってみた
Heroku Meetup #22でLTした内容です。
shunsugai
September 05, 2018
Tweet
Share
More Decks by shunsugai
See All by shunsugai
反省 モジュラモノリス タイミーの試行錯誤と現在地
shunsugai
9
6.9k
RailsでModular Monolithを選択された御社に質問したいN個の疑問
shunsugai
5
3.6k
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
830
Deep Security Conference 2025:生成AI時代のセキュリティ監視 /dsc2025-genai-secmon
mizutani
4
3.4k
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
100
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
590
(HackFes)米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
5
580
Introduction to Bill One Development Engineer
sansan33
PRO
0
270
本当にわかりやすいAIエージェント入門
segavvy
8
4.5k
BEYOND THE RAG🚀 ~とりあえずRAG?を超えていけ! 本当に使えるAIエージェント&生成AIプロダクトを目指して~ / BEYOND-THE-RAG-Toward Practical-GenerativeAI-Products-AOAI-DevDay-2025
jnymyk
4
170
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
3
190
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Writing Fast Ruby
sferik
628
62k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Balancing Empowerment & Direction
lara
1
480
Building an army of robots
kneath
306
45k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Making Projects Easy
brettharned
116
6.3k
Art, The Web, and Tiny UX
lynnandtonic
300
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
282
13k
Transcript
Heroku Container Registry & Runtime + digdagで お手軽バッチ処理環境 を作ってみた 2018-09-05
須貝俊
自己紹介 - 須貝俊 - IESHILというWebサービスでエンジニアやってます。 - 主にRailsアプリケーションの開発を担当。 - Heroku大好き。個人で2011年から利用してます。
僕が使い始めた頃のHeroku
一番右に(権利的に)ヤバいのがいる
今日一番伝えたかったこと 以上。
本題行きます
Heroku上で Docker動かすやつで バッチ処理走らす話
イエシルとは - IESHIL https://www.ieshil.com/ - マンションの査定価格を載せてるカ タログ的なサイト - Ruby on
Rails + Heroku
査定価格、災害リスクなどの住環境データ
新たに販売中の物件を掲載(8/1〜)
この機能の裏側で 頑張っているものが 今日の本題
作ったもの
作ったもの - データ提供元のFTPサーバにアクセスしてデータを取ってくる - それをTreasureDataに放り込む - TD上でIESHILの建物マスターデータと取得した物件データを 名寄せする - 名寄せしてフロント用に整形したデータをJSONL形式でS3に
吐き出す
なぜdigdag + embulkなのか? - TreasureDataを利用しているから - チーム内ですでに実績があるツールだから - ちなみにdigdagはローカルモードです
なぜHerokuなのか?(表向き) - 時間がなかったから。 - バッチ処理環境がないわけではないが、アドホックに立てた Digital Oceanのインスタンスで負債感あり。 - 別途、AWS上にdigdagサーバーを構築する動きがあったが、 今回のリリースには間に合わなそうだった。
- イエシル上の建物マスターデータと、販売物件データを名寄せ する処理に集中したかった。
なぜHerokuなのか?(裏) - Container Registry & Runtimeを本番で使ってみたかったか ら - だいたいのものはHerokuで動かせると思っているから -
Herokuが好きだから
どうやって作るのか - ドキュメントに詳しく書いてあります。 https://devcenter.heroku.com/articles/container-registry-and-runtime - Dockerfile書いてpushするだけ - リリース時はheroku container:releaseする必要あり
どうやって作るのか - Add-ons - Heroku Scheduler : 定期実行に必要 - Papertrail
: ログ収集 - Dead Man’s Snitch : 死活監視 - SendGrid : メール送信
Add-ons 全部無料ですみません
やってみた感想
感想:メリット - 本番相当の環境ですぐに動かせた - リリースが簡単 - 足りないものはAdd-onsでなんとかなる - とにかく楽
感想:デメリット - Heroku SchedulerはDailyだと時間が30分刻みでしか設定で きない - 実行時間が24時間以上になる場合は工夫する必要がある dynoは24時間 + αで再起動するため。
(今回は30分程度で終わる処理なので問題なし)
感想:余談 - 別途AWS上に構築したdigdagサーバーが本番運用されてい るので、今後そちらに移行していく予定。 - ただし傍から見ているとdigdagのサーバーモードはいろいろ 大変そうだなという印象。
おわり