"You can give every engineer and team complete freedom, and you’ll end up with too many microservices to count"
"Giving devs the green light to go crazy is also a recipe for disaster"
"Where would Uber be without three thousand microservices for three thousand engineers?"
"What you’ve described is a recipe for endless technical debt"
It's crazy that these replies do not even entertain the possibility that devs might be responsible enough to not abuse that freedom. I could spin up a hundred services tonight without approval but I obviously don't because it would be a nightmare to maintain, and I'm pretty sure my colleagues feel the same.
I'm getting a few downvotes, so let me try a different approach.
To the people I quoted: you evidently understand that runaway tech debt is a bad idea. So let's start a company where all of you are founders! At inception, this company would not need heavy approval processes around spinning new services and so on, since all of you share the same ideas about tech debt and can trust each other to do the right thing there. Security is more tricky, but all of you are responsible enough to actively seek feedback from security experts instead of just pushing insecure services to production, even though you would technically have the freedom to do that.
Now let's hire a few people to scale the company to 10 employees, while maintaining that same culture of responsibility. Now let's scale to 100. Then to 1000.
Why does necessarily stop working? Why is there necessarily a point where you cannot trust your colleagues to behave responsibly anymore?
(Note: this doesn't apply to everything. Personal information for example may legally require strict processes to be in place from day 1, and even if not legally required you may still want to do it by abundance of caution and respect for your users.)
Maybe all of the replies are from managers and CIOs :)
I agree, it keeps working just fine. You see it every day on the real internet.
You expose an API to me, I build a website around it. If one day your site disappears, I need to alreadt have backup strats in place on how I can get data like yours elsewhere. I have nobody to blame but myself-- after all, I'm getting the data from you for free!
Depends if we're talking prototyping or production. Prototyping? Sure, go for it. Production? It depends. If you're building a social media platform for cats, knock yourself out. If you're in a regulated industry, e.g. financial, it will create headaches when the auditors and regulators come around.
The "where would Uber be" comment you quoted from seems to be expressing the opposite sentiment from the other two, at least the way I read it. Sure when I saw that thousand microservices talk I thought "what a (comparative) shit show" but many people admired the concept.
"You can give every engineer and team complete freedom, and you’ll end up with too many microservices to count"
"Giving devs the green light to go crazy is also a recipe for disaster"
"Where would Uber be without three thousand microservices for three thousand engineers?"
"What you’ve described is a recipe for endless technical debt"
It's crazy that these replies do not even entertain the possibility that devs might be responsible enough to not abuse that freedom. I could spin up a hundred services tonight without approval but I obviously don't because it would be a nightmare to maintain, and I'm pretty sure my colleagues feel the same.