3 ms·
Monoliths have local CPU L1-Cache speeds, distributed microservices have JSON desearlization,searlization, network round trips. Distributed stateless monoliths
by acd 3y ago
Monoliths have local CPU L1-Cache speeds, distributed microservices have JSON desearlization,searlization, network round trips.
Distributed stateless monoliths can be faster than microservice.
Carbon foot print, cloud bill of too many microservices is probably high.
- bob1029 3y ago> Monoliths have local CPU L1-Cache speeds This becomes particularly differentiating when you start looking at batching primitives. Getting that pipeline filled up can add another 10x+ to performance. Stacking all of the multipliers in your favor, things do begin to look pretty silly for distributed crap: Moving from a network trip in the same datacenter to an L1 reference is about a million times faster. That is pretty direct terms - you could hypothetically claim your app is ~6 orders of magnitude faster than some competing solution if you do everything right and you aren't saturated on I/O. All of this said, I am feverishly pushing most of our B2B product stack into "serverless" functions. We don't need 6+ orders of magnitude performance improvement for our business. We need compliance, standardization and stability above all else. We want to be able to point our fingers at someone else and say "you fix it". Running everything in 1 process is something I have been very enthusiastic about so far, but it does have its downsides if raw performance (or simplicity) is not your primary objective. We are trying to sell our product up-market, and without the ability to say things like "our production database is N+3/multi-zone, uses TDE and the keys are stored in an HSM on Mars", we won't get much attention from those customers.
- Rezwoodly 3y agoThis is especially true when you've got yourself a distributed monolith architecture. However, the case for monolith architecture to make a favourable comeback based on factors such as performance and operational cost are all negated when you have multiple teams working on a single monolith. It quickly because a nightmare to manage all those code changes, and then you have manage to releases etc. Most companies are doing microservices wrong, and it gets expensive fast.Thats not to say microservices are the inferior choice, because for most large orgs they are not. Are we really going to see this debate pop up again, just because amazon did something?
- sofixa 3y ago> distributed microservices have JSON desearlization,searlization, It doesn't have to be JSON, protobuf is 10x faster. Still slower than in-memory/CPU cache of course.
- williamcotton 3y agoCarbon foot print vs “engineering time costs more than computing time”
- otabdeveloper4 3y agoMicroservices never decrease engineering time costs. Project manager overhead - maybe, but ideally that should be zero anyways.