Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can I be the first to say that this is a terrible idea?

>We have a multitude of parts that each could easily be self contained as their own service. For example: Messaging, Search, Authentication, etc. These all have different requirements and focuses and therefore lend themselves better to different languages.

Yeah, not really. Python is not inherently less suitable for authentication than, say, Java. Both languages are designed for general purpose programming. The only real drawback to python is that it is relatively slow and this isn't even likely to be an issue at all if you are using django (you'll most likely bottleneck on I/O).

>Also, looking at our roadmap, we have lots of sprints and projects coming up that could be implemented in their own silos. By splitting these into services this allows us to quickly test and iterate without worrying about the rest of our product.

And splitting them into separate libraries is not sufficient because?

>Whereas in a monolithic system these services are bundled together and can create a spaghetti mess of workarounds and packages.

Newsflash: you're MORE likely to make a spaghetti mess of workarounds if you use a microservices architecture because of the impedance mismatch between API layers. You'll have to create a representation of, say, a user object on both sides of the microservice divide and write code to serialize it and deserialize it. Hello massive code repetition and obscure bugs.

>Having been a dev team of 1 for a long time I'd never experienced the headache of installing all the dependencies required by our Django system. It never really occurred to me that as I installed more packages, it was becoming incrementally larger and more complicated for new team members.

If you think your headache is bad with django (which has consistent opinions - e.g. on how templates should work - that makes it possible for modules to work together), get ready for a nightmare when you start using a hodgepodge of different systems written in different languages.

>We don't worry too much about code quality

This has officially moved this blog post from bad idea to outright parody.

>However, most of the cons are part and parcel with programming.

Here's a small laundry list of the exciting issues you'll now get to deal with:

* Writing serializers and deserializers for your objects so they can be passed from one service to another. And debugging them!

* Babysitting all the new services you will need. You'll need to keep them up and running, monitor them, have a backup plan for all of them going down and lots of lovely extra error conditions.

* The headache of trying to figure out how to scale your network of microservices - probably meaning lots of time configuring load balancers.

And much, much more.



This is exact my thought as well.

If OP is more worried about maintenance of project, Django gives foundation to build upon with sane conventions.

Anyone who reads few pages of Django Docs should be able to pick up quickly.

PS. I happen to currently maintain project written by other people with no docs.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: