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
310
Heroku Container Registry & Runtime + digdagで お手軽バッチ処理環境 を作ってみた
Heroku Meetup #22でLTした内容です。
shunsugai
September 05, 2018
Tweet
Share
More Decks by shunsugai
See All by shunsugai
RailsでModular Monolithを選択された御社に質問したいN個の疑問
shunsugai
5
1.9k
Other Decks in Technology
See All in Technology
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.8k
ServiceNow Knowledge Learning Rise up
manarobot
0
210
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
170
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
310
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
210
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
540
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
330
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
Building Dashboards as a Hobby
egmc
0
230
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
130
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
GitHub's CSS Performance
jonrohan
1025
450k
The Cult of Friendly URLs
andyhume
74
5.7k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Designing the Hi-DPI Web
ddemaree
276
33k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
A Modern Web Designer's Workflow
chriscoyier
689
190k
What's new in Ruby 2.0
geeforr
337
31k
GraphQLとの向き合い方2022年版
quramy
32
12k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
How to name files
jennybc
65
93k
Statistics for Hackers
jakevdp
789
220k
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のサーバーモードはいろいろ 大変そうだなという印象。
おわり