skip to content
Xavier's Data Forge
Finish-line sprint, with Ferris taking center stage

2023 Ironman, Finished: Rust + MLOps — Is It Worth It?

/ 6 min read

Table of Contents

Here’s the 30-day completion index and recap of my run at the 2023 iThome Ironman contest. Each entry was originally published on iThome — click through to read the original.

This series later became a book!

This Ironman series was later heavily revised and expanded into my first book, “From Pythonista to Rustacean: A Data Practitioner’s First Guide to Rust” (published by GoTop / Deep Wisdom).

If you’d like a more complete, more up-to-date, more systematic version, your support is very welcome:

From Pythonista to Rustacean book cover
From Pythonista to Rustacean book cover

Compared to this series, the book adds a hands-on PyO3 extension project, AI-in-production applications with the Candle and Burn frameworks, and a more complete take on engineering practices.


Today’s Ferris

It’s the final day — congrats to me for finishing! These 30 days were a lot like generating art with Stable Diffusion: sometimes maddening, sometimes smooth sailing, but either way we grew through the attempts. Here’s a heap of finish-line sprint shots, with Ferris boy taking center stage (as in the cover above).

Closing thoughts

I survived~ I have to say, running it “raw” (no buffer of pre-written posts) is pretty hardcore. Writing this down to remind myself: next time, stockpile some articles, or else…

Thoughts on running it raw
Thoughts on running it raw

*A note to my future self: this is a topical meme — “You’re just like a chawanmushi” — eye contact at a sushi bar sparks a clash.

This challenge once again dragged on across two holiday weekends (even though I was the fifth person to sign up, haha), and on top of that my cat needed to see the vet (a healthy little one now, thank heaven, thank earth, thank fate for letting us meet). It was genuinely hard to polish the articles to a level I was fully happy with — especially the project part, where I really couldn’t spend much time debugging and optimizing, and could only find a way to get the existing code running. That’s probably the biggest regret of this challenge:

The project regret
The project regret

I think many contestants can relate to this: there’s no end to finishing an article, but the Ironman deadline is midnight (the system standard time at the bottom, UTC+0800, turns red — terrifying). Either way, the work is finished the moment a reader sees it, so I’m grateful to everyone who tuned in — especially those who fearlessly clicked the oddly placed hyperlinks, unsurprisingly found something weird, and still managed a knowing smile. And I didn’t expect five more subscribers than last time — many thanks for letting me contribute to the little bell in your top-right corner!

Finally, the goal of this challenge was to explore, from a Python user’s angle, whether Rust + MLOps is worth it. Here’s my personal conclusion (discussion welcome in the comments below!):

I believe Rust is absolutely part of the future — it brings us better performance and cleaner solutions. But for the community this is an addition, not a replacement, just as Scala and R are still around and the little elephant Hadoop will keep us company into old age. For the foreseeable future Python will keep its throne as king of ML, but Rust is absolutely a powerful Swiss Army knife in the toolkit. All in all, Rust + MLOps really is worth it — when we need performance, it’s a perfect fit!

Conclusion illustration
Conclusion illustration

Article index

Over the past 30 days we first brought Rust into our daily workflow, built an LLM chatbot project, and then discussed how Rust can be applied from the angles of data, model, and product — what a thrilling ride!

Journey recap
Journey recap

Here’s the in-order roundup of each topic’s posts — please enjoy:

1. From Python to Rust

Using the workflow every software project goes through to explain how to gracefully move from Python to Rust — basically, convincing everyone why they should learn Rust 🤣

2. Project!

Building a chatbot project that uses a Huggingface LLM model

Demo
Demo

3. Keep on Rusting

Catching our breath to talk about Rust’s learning resources and how to coexist with the borrow checker, Rust’s most off-putting feature for newcomers

4. Rust + MLOps

Back to the MLOps theme, discussing how Rust can shine here from an ML system design angle. This part draws on Chip Huyen’s book Designing Machine Learning Systems, grouped in two-to-three-day blocks, looking at ML systems from the three angles of data, model, and product, and how Rust can be applied in MLOps.

Alright, see you next time~

Comments