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
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Heroku Container Registry & Runtime + digdagで お手軽バッチ処理環境 を作ってみた
Heroku Meetup #22でLTした内容です。
shunsugai
September 05, 2018
More Decks by shunsugai
See All by shunsugai
反省 モジュラモノリス タイミーの試行錯誤と現在地
shunsugai
9
8.1k
RailsでModular Monolithを選択された御社に質問したいN個の疑問
shunsugai
5
4.1k
Other Decks in Technology
See All in Technology
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
200
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
1
270
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
180
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
290
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
9
970
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
0
460
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
240
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
3
1.6k
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
950
Baseline対応のDOMの型定義を作った
uhyo
3
680
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8k
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
180
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Utilizing Notion as your number one productivity tool
mfonobong
4
340
The SEO Collaboration Effect
kristinabergwall1
1
500
Automating Front-end Workflow
addyosmani
1370
210k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Practical Orchestrator
shlominoach
191
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Navigating Weather and Climate Data
rabernat
0
270
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のサーバーモードはいろいろ 大変そうだなという印象。
おわり