<opinion>
My gut reaction to this type of description is that your system is probably “overengineered”. (That’s my standard reaction whenever anyone starts talking about “microservices”. I’ve never had any direct involvement with any system where they have actually proven to be valuable - and that includes 30+ years in Fortune 500 companies handling thousands of transactions per day across millions of customers, including a major health insurance firm.)
But yes, I’m well used to working with large systems across multi-national corporations performing line-of-business work with more than 50,000 employees and systems where any one individual can only know a small part of the overall picture.
Look at it this way - Instagram is built on Django. Are you in Instagram’s class? If so, great. Django can handle it.
I hope not. At least not a prevalent choice.
Some people have tried. Again however, my experience has been that it’s a waste of time and effort to move in that direction. All you’re really doing is moving some degree of complexity from one department (development) to another department (operations). In theory, there are scalability advantages to that.
However, “The difference between ‘theory’ and ‘practice’ is that in ‘theory’ there is no difference but in ‘practice’ there is”.
Yes, there are classes of problems where microservices make sense. However, I’ve yet to personally encounter one, and again, this is across a career where the smallest company that has employed me had more than 25,000 employees.
The problem is that some Enterprise Architects (of which I was one for 5ish years) see someone like Amazon go in the direction of microservices, thinking that “if it’s good enough for Amazon, it must be good for us”, when that’s exactly the wrong conclusion to draw.
System architecture is not a “silver bullet” exercise. The selection of a solution architecture outside the context of the specific environment is almost always the wrong choice.
(Side note: I’ve also lived through the SOA and ESB fads as well. I look at “microservices” as being just a relabeling of that same old snake oil in a new bottle. What I think as the major problem with the SOA / microservice deployments that I have seen is that they tend to be too granular. They try to chop things up too much in the name of “flexibility”, adding unnecessary complexity to the environment.)
So unless you’re really in the FAANG class (and not just a FAANG-wannabe or the pipe dreams of a startup), you’ll never convince me of the value of a ‘microservice’ based architecture.
Nope - you’re thinking Java structure here. With very few exceptions, the standard views / models structure of Django work extremely well.
</opinion>