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
Dagster & Geomagical
Search
Noah Kantrowitz
February 09, 2021
Programming
0
170
Dagster & Geomagical
Noah Kantrowitz
February 09, 2021
Tweet
Share
More Decks by Noah Kantrowitz
See All by Noah Kantrowitz
The Long Hello World
coderanger
0
5
The Long Hello World (with notes)
coderanger
0
26
What Python Can Learn From Other Languages
coderanger
0
70
What Python Can Learn From Other Languages (with notes)
coderanger
0
180
Swiss Army Django: Small Footprint ETL (with notes) - DjangoCon US
coderanger
0
260
Swiss Army Django: Small Footprint ETL - DjangoCon US
coderanger
0
69
How to look at space: PyCon AU
coderanger
0
120
Swiss Army Django: Small Footprint ETL
coderanger
0
100
Swiss Army Django: Small Footprint ETL (with notes)
coderanger
0
88
Other Decks in Programming
See All in Programming
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
350
Devoxx BE - Local Development in the AI Era
kdubois
0
150
Cursorハンズオン実践!
eltociear
2
1.2k
CSC305 Lecture 09
javiergs
PRO
0
320
Devvox Belgium - Agentic AI Patterns
kdubois
1
150
業務でAIを使いたい話
hnw
0
170
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
100
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
120
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
110
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
170
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
A designer walks into a library…
pauljervisheath
209
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
How to Ace a Technical Interview
jacobian
280
24k
We Have a Design System, Now What?
morganepeng
53
7.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Documentation Writing (for coders)
carmenintech
75
5.1k
Statistics for Hackers
jakevdp
799
220k
Building an army of robots
kneath
306
46k
Transcript
Geomagical & Dagster Dagster Community Meeting
Noah Kantrowitz > @kantrn - coderanger.net > Principal Ops @
Geomagical > Part of the IKEA family > Augmented reality with furniture
Our Product
Starting Point > Celery & RabbitMQ > Each operation as
its own daemon > celery.canvas > Custom DAG compiler
Design Goals > Keeping most of the solid structure >
Improved DAG expressiveness > Low fixed overhead, compatible with autoscaling > More detailed tracking and metrics
Dagster > Met all our requirements for structural simplicity >
DAG compiler was a bit limited but growing fast > Highly responsive team Dagster > No execution setup that met our needs
But dagster_celery? > Solid and pipeline code commingled > Single
runtime environment > Hard to build a workflow around at scale
But dagster_k8s? > Fine for infrequent or non-customer facing tasks
> Do not put kube-apiserver in your hot path > No really, I mean it
None
Autoscaling > KEDA watching RabbitMQ > Zero-scale: only Dagit and
gRPC daemons > task_acks_late = True > worker_prefetch_multiplier = 1
Remote Solids > Independent release cycles for each Solid >
Can run multiple versions in parallel > Testing in isolation
Writing A Remote Solid app = SolidCelery('repo-something') @app.task(bind=True) def something(self,
foo: str) -> str: return f'Hello {foo}'
Proxy Solids @celery_solid(queue='repo-something') def something(context, item): output = yield {
'foo': item['bar'], } item['something'] = output yield Output(item)
Workflow > One git repo per Dagster repo > main.py
which holds "default" Pipeline > solids.py which defines proxy Solids > Misc other pipelines for testing and development
CI/CD Briefly, since this is its own rabbit hole >
Buildkite > kustomize edit set image > ArgoCD
Downsides > Slow cold start > No feedback during long
tasks > New and exciting bugs
How It's Going > Happy with overall progress > Still
dropping some tasks at load > Plan to move forward looks good
Future Plans > Async execution support > Events from solid
workers > Pipeline-level webhooks > Predictive auto-scaling? K8s Operator?
Can I Use This? Kinda sorta geomagical/dagster_geomagical
Thank You Questions?