> If multiple teams working on interdependent components can't communicate well enough to keep from stepping on each other's toes, imposing technical barriers probably isn't going to make things better.
But it actually does, and there is a lot of data to prove it. When you have a big project and a bunch of teams, the first thing you build is boundaries / walls. Then you get to defining interfaces between interdependent services. And this frees them up to get hacking on their modules in parallel - without stepping on each others' toes. Communication would have definitely helped, but it is way easier for smaller teams to own and operate their services and try to get a big organization plough through a big mess.
That said, microservices are just one way to solve a problem, and not always the right way. But there is always a place where you would look at the problem, the organization that is tasked to solve it, and it would fit just right in.
This is just the next step in the evolution of browsers into full fledged operating systems.
The Web APIs would become the next POSIX.
And we might end up with uni-kernels that would just be running browsers on bare-metal. Want to be stalked, here is your Chrome OS. Want privacy, here is your Firefox OS. (Where did I last hear of these? Hmm...)
Who knows, when all this is over someone might make a browser for this new browser OS.
Why would an average user want to participate in such a network? The only reasons I can think of are tied to benevolence and altruism of the participants. We saw this being successful in the SETI project. I doubt paying participants would ever be profitable enough for either the operator (why not rent a few machines over cloud) or the participants (training would need power and cpu).
How about tying the training and consumption of the model together. An internet scale tool with a focused goal, like Alexa/Mycroft for speech and intention recognition, that trains a distributed model while pushing improvements back might be more successful in getting adoption.
It most definitely is. But the pace of nuclear development in India slowed to a crawl (no new projects) ever since it started an insurance pool with corporate liability.
But it actually does, and there is a lot of data to prove it. When you have a big project and a bunch of teams, the first thing you build is boundaries / walls. Then you get to defining interfaces between interdependent services. And this frees them up to get hacking on their modules in parallel - without stepping on each others' toes. Communication would have definitely helped, but it is way easier for smaller teams to own and operate their services and try to get a big organization plough through a big mess.
That said, microservices are just one way to solve a problem, and not always the right way. But there is always a place where you would look at the problem, the organization that is tasked to solve it, and it would fit just right in.