Earlier quoted context omitted.
> But microservices are also about coupling: just have a self-contained service that does one thing. What stops you from creating a module inside a monolith with an interface that provides a self-contained service that does one thing?
You can. But one day, some 10xer will be short on time and will duct tape your module with 10 other modules.
Microservices Are Something You Grow Into, Not Begin With
121–130 of 159 posts
Re: Microservices Are Something You Grow Into, Not Begin With
#122Most 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 (derogatory name: monolith) They are not wrong though, monoliths cannot give you fast delivery. Fast delivery implies at least expressive dynamically typed languages with some resilience to bugs, which in turn requires limiting the scope of bugs and therefore decoupling and isolating everything as much as possible. Th…
However your end user doesn’t interact with microservices, they interact with a product. “microservices” suggested as a delivery silver bullet tend to be ways managers try and mask the fact that they are trying to hire 9 women to make a baby in one month.
Re: Microservices Are Something You Grow Into, Not Begin With
#123Earlier quoted context omitted.
Not if you know how to architect one properly. How is a small microservice with one purpose different from a class / module with one purpose?
A simple syntax error in a monolith means the whole monolith is crashed. Bug anywhere in the monolith could mean border effect in the rest of the code anywhere. With microservices you guaranty isolation so a bug in one microservice won't have impact on the rest of the api
And if your microservice get to production with a syntax error do you really think the whole ecosystem is somehow more healthy? Not unless you wrote a ton of horrible defensive code with and retries and HTTP error/timeout catching code every time this service is called...
Re: Microservices Are Something You Grow Into, Not Begin With
#124There's trade-off's. They are using a fairly complex CI while with micro-services you release each service individually. It's hard to turn a monolith architecture into a architecture with micro-services. So it all depends on what works best for you. The idea with micro-services is that with a much smaller service - development is faster and cheaper, you can for example rewrite the entire service, use different softwa…
The other way around is 10 times harder... So think twice and make sure you need it before doing it.
Re: Microservices Are Something You Grow Into, Not Begin With
#125And the technical reasons to move will be mostly for fault tolerance and resiliency (you don’t want your whole service to go down because a small widget failed somewhere). Of course this does not come for free.
Basically it’s not that one is better than the other for all cases. This is a case where people should consider many things including non-technical aspects before making sweeping statements or decisions.
Re: Microservices Are Something You Grow Into, Not Begin With
#126Earlier quoted context omitted.
A simple syntax error in a monolith means the whole monolith is crashed. Bug anywhere in the monolith could mean border effect in the rest of the code anywhere. With microservices you guaranty isolation so a bug in one microservice won't have impact on the rest of the api
A syntax error should never make it production if you have even half decent infrastructure... In a monolith or a micro service. And if your microservice get to production with a syntax error do you really think the whole ecosystem is somehow more healthy? Not unless you wrote a ton of horrible defensive code with and retries and HTTP error/timeout catching code every time this service is called...
Re: Microservices Are Something You Grow Into, Not Begin With
#127Re: Microservices Are Something You Grow Into, Not Begin With
#128I have a slightly different opinion. Start with a mostly monolith, sure, that makes sense. But also start off with just one separate microservice for something important. It's important that you establish good patterns for integrating services in to your codebase early on. Its really easy to write a monolith without any thought of external service abstraction, which makes it WAY harder to do down the road if you deci…
Re: Microservices Are Something You Grow Into, Not Begin With
#129Earlier quoted context omitted.
Not if you know how to architect one properly. How is a small microservice with one purpose different from a class / module with one purpose?
A simple syntax error in a monolith means the whole monolith is crashed. Bug anywhere in the monolith could mean border effect in the rest of the code anywhere. With microservices you guaranty isolation so a bug in one microservice won't have impact on the rest of the api
The real question is, do they have shared runtime state? If they don't, you can do the above, but if they do, moving to microservices won't make that go away, it might even make it harder to deal with.
Re: Microservices Are Something You Grow Into, Not Begin With
#130Most 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…
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…