Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…
> Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system And are very often right about it. Delivering monoliths can require such amount of bureaucracy and needless coordination that it slows everything down. I've seen it. > Inexperienced developers proposing microservices because they think it sounds much more fun than working on the system as it is currently designed. It…
Microservices Are Something You Grow Into, Not Begin With
131–140 of 159 posts
Re: Microservices Are Something You Grow Into, Not Begin With
#132But like anything else, if you understand the toolset, ecosystem, and have the experience, it can take far less time than esoteric documentation and conversation would have you believe.
I always begin with this pattern, but it's because I've acquired so much experience and know-how with it that it's a quick upstart. However, this didn't come with any ease. Most want to just dive into really myopic course work or tutorials that are "just examples" and "shouldn't be used in production." The WORK to understand it is getting each nuance under your belt. It's just like any other skill set - it takes patience and deliberate effort. Documentation spelunking and trial / error experiments.
That being said, under the fire of a manager, timeline of capital, or just the raw impatience inherent to humans we wind up falling back to what's safe, what has plentiful easy-to-learn patterns, and listen to all the other folk who get 50% through, stop, and then just spin up terribly organized monoliths.
Re: Microservices Are Something You Grow Into, Not Begin With
#133There is this idea that you either have microservices or you have a monolith, while its really more of a gradient. I guess what I'm advocating for is "modern service-oriented architecture" or "chunky services" vs "microservices"; reasonably sized, well-considered services that use modern technologies for inter-service communication.
Re: Microservices Are Something You Grow Into, Not Begin With
#134Earlier quoted context omitted.
> Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system And are very often right about it. Delivering monoliths can require such amount of bureaucracy and needless coordination that it slows everything down. I've seen it. > Inexperienced developers proposing microservices because they think it sounds much more fun than working on the system as it is currently designed. It…
What’s fun about microservices? I find them annoying, but a necessary evil depending on context.
Re: Microservices Are Something You Grow Into, Not Begin With
#135Since Lambda functions are similar to microservices, I am now confused if I should stick to simpler backends or full stack instead of JAMStack.
Re: Microservices Are Something You Grow Into, Not Begin With
#136Earlier quoted context omitted.
Reality is also confusing. People can see that in a one day hackathon, the same bunch of people can produce more stuff than they do in a year otherwise. Why? Are they lazy? Did they use better tools? My niece Shelly added address book integration to her hobby app in an afternoon, while drunk. WhyTF are we 640 man hours deep into "identity architecture coordination" meetings?!! Just do with Shelly did! Those things do…
I guess that's the difference between proper Engineering and hacking something quickly and under self-inflicted pressure together. Your nieces app might work on her setup but not on others and may need almost a complete rewrite on an OS/API update. The properly engineered solution on the other hand might "just work" for years. I think key is to realise how much engineering is needed on what occasion. I find it distur…
Re: Microservices Are Something You Grow Into, Not Begin With
#137Earlier quoted context omitted.
This can sometimes be worthwhile in a corporate environment even if technically it makes things harder, because it solves a major political / communication problem. However, for the expense of dealing with the complications of an additional network boundary to worthwhile, some of the following must hold: * You need architect who has an overview of the whole system creates abstractions that make sense and puts the API…
"Although the evidence is sparse, I feel that you shouldn't start with microservices unless you have reasonable experience of building a microservices system in the team." https://martinfowler.com/bliki/MonolithFirst.html
Re: Microservices Are Something You Grow Into, Not Begin With
#138Earlier quoted context omitted.
Counterpoint: if network calls weren’t flaky and slow would it make a difference in deciding whether to separate modules via a physical machine boundary?
But network calls ARE inherently flakier and slower. What good does it to imagine they weren't?
As an architect you have to sometimes ignore constraints to understand if the final picture you would assemble makes any sense. If the final picture you assemble makes sense, then working backwards through the limitations, to find out, are these really limitations or are these opportunities to innovate?
That's my thought as to why you would imagine they are not a limitation. To aid in brainstorming, innovation and identify opportunities for improvement, or alternative solutions you would not have seen if you simply accept the bottleneck as a given.
Re: Microservices Are Something You Grow Into, Not Begin With
#139Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…
Re: Microservices Are Something You Grow Into, Not Begin With
#140Earlier quoted context omitted.
You can. But one day, some 10xer will be short on time and will duct tape your module with 10 other modules.
The newish argument for microservices is that they enable compositionality, so wouldn't that same hypothetical apply? I.e. some 10xer is short on time and glues a bunch of microservices together and now you have the same problem but worse because there's no IDE allowing you to trace the code?
You have a problem. You decide to use microservices to solve it. Now you have ten problems.