I wonder if most solutions could be implemented on top of Laravel/Django/Adonisjs without too much effort.
I wonder if most solutions could be implemented on top of Laravel/Django/Adonisjs without too much effort.
I’ll give you cloud, but my takeaways from HN in the last few years have been things like:
* Postgres is a reasonable choice for a job queue * SQLite is a valid choice for server db at quite large scale * k8s makes sense once you have 50+ devs * microservices address issues of team scale, not traffic scale
But what I, too, have seen is a greater emphasis on the boring, simple tools here on HN and I love that given all the experience and PTSD from the startup.
Minimum viable products only need to implement very basic functionality, just enough to get something out of the door. Limited tech stacks like Laravel/Django/Adonisjs can provide basic functionality, and sometimes a plain static HTML+CSS can serve that purpose as well.
Except that micro services are an organizational tool, which just so happens to have important technical traits. When you start to develop your MVP to actually do something relevant to your business, and you start to assign responsibilities and accountability to specific people running specific projects, you create a need to peel out functionalities and data sources and to isolate loosely couple them from the rest of the service. You start to have a need to have teams work independently and autonomously.
And that's where micro services come in.
There are plenty of system design exercises that ask you how would you implement Twitter, and the first iteration is a monolith with a RDBMS. It quickly grows beyond that. Why?
It's 4 orders of magnitude more than any customer of mine got in all the lifetime of any of their products. It's one order of magnitude more than what the mobile phone operator I was working for 20 years ago had after years from launch.
I guess that it means that an MVP is all we need. OK, they started with the Instagram code base but as you write, the core of the product is a pretty standard exercise. I did it a few times myself for some customers along the years, Rails and PHP.
Irrelevant. I'm talking about the feature set, which is not determined by the volume of clients being downloaded.
> I guess that it means that an MVP is all we need.
The clients need content. The business, in order to make money, needs way more than that.
For that you need data processing pipelines, user profiling, user segmentation, targetable ads, etc etc etc.
Not to mention infrastructure for moderation.
That's where the bulk of the complexity lies.
"Marketing" is where all the engineering goes.
You can make large enterprise backends or similarly large projects but I seriously wouldn't advise any of those three...