12 Comments
User's avatar
Anton Zaides's avatar

I was curious to see that Django is still used in modern software 😅

Neo Kim's avatar

hm, I wasn't lucky to work with Django.

But I know people running Django in modern apps.

What was your experience?

Anton Zaides's avatar

In my experience it was overly complicated, unflexible, and a nightmare to work with. Flask and fastapi were more lightweight alternatives, where the development experience is much less 'dreaded'.

The only advantage I saw is it lets you do a lot of things out of the box - the most useful for us being the GUI to see and edit whatever tables you want in the DB. So our CS (and other internal users) can grant user permissions that way, without us needing to build dedicated UI features for it.

Neo Kim's avatar

I see, I tried Flask - and it was a pleasant experience.

Thanks for sharing these details.

Sanskar Shrivastava's avatar

Why did they choose to store the workflow DAGs in MySQL?

Neo Kim's avatar

I think they wanted to avoid introducing a database for storing the directed rooted tree. Because it increases operational complexity. Also they were comfortable running MySQL.

Perhaps you could read through the references for extra information. Thanks

Abdisamad Omar's avatar

This is the clear system design article I've been looking for as a beginner. Thank you, this was well worth the read!

Neo Kim's avatar

I'm glad to read this, thank you

Wei Tu's avatar

Can you share the process of learning all these? Like where did you get all these information from a company? Thanks!

Jordan Cutler's avatar

Awesome, in-depth article, NK.

Thank you for the shout-out too 🙏

Neo Kim's avatar

thanks, Jordan