|
Cold on a Cob posted:without making judgment about which is better or worse in which circumstances, there is no way to avoid the fact that microservices are more expensive than a monolith. more resources required, more dev work, more of everything. one of the biggest advocates we have for them admitted that they were held up with some migration because they needed to update 250 different services to use the new version lmao
|
# ? Apr 20, 2023 15:41 |
|
|
# ? Apr 28, 2024 18:05 |
|
we kinda split the middle and just have a service oriented architecture with around 25 services and it's a loving grind keeping them up to date also a constant fight with IT for more server resources because turns out when you replicate data between services to make them more redundant you take up a shitload of disk space
|
# ? Apr 20, 2023 15:44 |
|
Cold on a Cob posted:we kinda split the middle and just have a service oriented architecture with around 25 services and it's a loving grind keeping them up to date I'm not even joking someone said that you should write each service to take all data from other services, presumably to create some sort of ouroboros of poo poo
|
# ? Apr 20, 2023 15:45 |
|
Powerful Two-Hander posted:I'm not even joking someone said that you should write each service to take all data from other services, presumably to create some sort of ouroboros of poo poo isn't that the point of graphql? i'm way behind on this stuff and i need to get a new job and/or take a sabbatical and do some studying; instead i just spend hours fighting for more disk for our prod systems
|
# ? Apr 20, 2023 15:51 |
|
With the last embedded project I did, instead of having a single monolithic program, we had six smaller programs that talked to each other via DBUS or gRPC. All the programs were in a single repository with a CMake file and a Makefile wrapper for ease of use. The architecture made it much easier for multiple people to work on different project areas simultaneously. I will do again for future projects.
FlapYoJacks fucked around with this message at 15:55 on Apr 20, 2023 |
# ? Apr 20, 2023 15:52 |
|
Powerful Two-Hander posted:I'm not even joking someone said that you should write each service to take all data from other services, presumably to create some sort of ouroboros of poo poo this is a bff, backend-for-frontend it's nominally supposed to take the place of a graphql-y thing of letting you just query data for a UI screen rather than your business objects, just you create an endpoint per screen however, over time, backend engineers will try to push more and more work off into the BFF to try to avoid actually owning any of the actual problems of the business, and inevitably the BFF will be like "oh this is the service the frontend and mobile engineers can work on too" so it ends up having some wack-rear end architecture like being a nodejs app or something, and the code quality/test standards of the codebase will be low because none of the backend engineers consider it a "real" service even though it's by far the most-called service (at least by user-facing apps) it's probably the worst thing about my job e: oh i haven't had coffee yet and probably misunderstood; you said have each service take data from other services. yeah don't do that. our BFF also ends up being the service we use to "solve" circular dependencies between services when there's no other obvious way to do so, just pull some logic out and turn it from a O into a Y when graphed out
|
# ? Apr 20, 2023 16:02 |
|
abraham linksys posted:this is a bff, backend-for-frontend
|
# ? Apr 20, 2023 16:03 |
|
Powerful Two-Hander posted:one of the biggest advocates we have for them admitted that they were held up with some migration because they needed to update 250 different services to use the new version lmao That just becomes a distributed monolith but with none of the benefits? The entire point of SOA is decoupling and running multiple versions concurrently for rollout and testing.
|
# ? Apr 20, 2023 16:22 |
|
microservices have a massive overhead in compute resources and developer time, and the idea is it's worth it because you cut down on communication overheads between teams working on different microservices. it only really makes sense if you're a tech giant where those communication overheads outweigh the cost of microservices, or if you're a vc-backed startup where having a lot of programmers engaged in programming will let you raise another big round of funding even if they're mostly doing pointless busywork.
|
# ? Apr 20, 2023 16:23 |
|
MrMoo posted:That just becomes a distributed monolith but with none of the benefits? The entire point of SOA is decoupling and running multiple versions concurrently for rollout and testing. this has been my view when we have people talking about how every application will actually be a huge pile of microservice/frontend components so you make it look like a monolith but get no advantage of having one place to view "everything" and instead you're in service contract dependency hell all the time this is where I said "MVC is actually microservices when you think about it" as a semi joke and pissed everybody off
|
# ? Apr 20, 2023 16:34 |
|
make an mvp and then migrate to a microservices architecture later because microservices make my peepee hard best of both worlds! obviously the original monolith hangs around forever and has features constantly added to it regardless
|
# ? Apr 20, 2023 16:36 |
|
none of this lines up with my experience with microservices and monoliths at all but maybe thats because my whole thing is being rigorous about interfaces between services and not letting anyone "just hit <other service>'s database for one quick thing" or whatever the monoliths i've worked with have all had insane snarls of codepaths that can't be separated or optimized easily while microservices have a clear enough separation of concerns that it is much nicer to maintain and update them (oh and provision the right amount of resources!). obviously ymmv but its weird that y'all are complaining about monolith problems in microservice land and vice versa
|
# ? Apr 20, 2023 16:37 |
|
microservices seem to only really work if you're like 100% writes or 100% reads.
|
# ? Apr 20, 2023 17:19 |
|
or if they're actually, secretly, very simple monoliths in disguise
|
# ? Apr 20, 2023 17:20 |
|
Corla Plankun posted:none of this lines up with my experience with microservices and monoliths at all but maybe thats because my whole thing is being rigorous about interfaces between services and not letting anyone "just hit <other service>'s database for one quick thing" or whatever we don't have this but we do have services that call each other's http/grpc endpoints and if one service goes down both services go down (we kinda do have this because we of course still have a "legacy" db that's the real source of truth for many things and the migration from monolith to microservices project gave up long before it was ever able to burn down our monolith http api, let alone the database under it, but alas)
|
# ? Apr 20, 2023 17:25 |
|
My current project is a monolithic application that runs on an STM32G processor as a single .bin. You weak-rear end programmers with "virtual memory" probably think concatenating a string is just "string" + "string."
|
# ? Apr 20, 2023 17:26 |
|
if your data matters then you will always need the one source of truth and its really impossible to turn that into a microservice beyond assinine things like "oh we put the Person endpoint in one service and the Address endpoint in another service"
|
# ? Apr 20, 2023 17:27 |
|
Shaggar posted:or if they're actually, secretly, very simple monoliths in disguise What is a microservice if not a monolith persevering?
|
# ? Apr 20, 2023 17:31 |
|
Shaggar posted:if your data matters then you will always need the one source of truth and its really impossible to turn that into a microservice beyond assinine things like "oh we put the Person endpoint in one service and the Address endpoint in another service" shaggar is right
|
# ? Apr 20, 2023 17:37 |
|
CPColin posted:What is a microservice if not a monolith persevering? my application is 3 microservices in a trenchcoat
|
# ? Apr 20, 2023 17:44 |
|
if your microservices don't take a team of 5 people constantly janitoring kubernetes then you actually just have a sparkling monolith
|
# ? Apr 20, 2023 17:56 |
|
FlapYoJacks posted:My current project is a monolithic application that runs on an STM32G processor as a single .bin. Kind of jealous tbh I miss working on microcontrollers. I'd do it full-time in a heartbeat if the pay was better. Poopernickel fucked around with this message at 18:44 on Apr 20, 2023 |
# ? Apr 20, 2023 18:01 |
|
Poopernickel posted:Kind of jealous tbh It's a really nice change of pace, tbh. The biggest pain point is the customer, not the programming.
|
# ? Apr 20, 2023 18:02 |
|
Shaggar posted:if your data matters then you will always need the one source of truth and its really impossible to turn that into a microservice beyond assinine things like "oh we put the Person endpoint in one service and the Address endpoint in another service" it doesn't make sense to have "the person endpoint service" that exists to serve requests for Persons. we had a name for that architectural concept already, a thing that stores and serves requests for data, was called a database the service is supposed to be the behavior. the periodic emailer service, it doesn't encapsulate a database, it might read from many databases, and probably some caches too, so that it doesn't accidentally double email, or so that you can appropriately include advertising tracking info in it or whatever the "autonomous" aspect of services is simple as long as you follow the 1 simple rule that they aren't databases
|
# ? Apr 20, 2023 19:17 |
|
when people talk about microservces they're talking about micro web services, not a background daemon type service such as a fulfillment processor.
|
# ? Apr 20, 2023 19:19 |
|
yup. a micro web service just needs to run a process in a container scheduler or other type of operational junk drawer that performs some function a microservice isnt, should not be, a postgres container with an express app in front of it. that's still a database, not a service you could simply buy sql server licenses and hook up the built in iis http api thing and then you never would have needed node js or kubernetes developers
|
# ? Apr 20, 2023 19:31 |
|
a service without access to data is a pretty pointless thing
|
# ? Apr 20, 2023 19:34 |
|
micro services are dynamic linking over http
|
# ? Apr 20, 2023 20:56 |
|
mystes posted:but you get to have a BFF
|
# ? Apr 20, 2023 20:57 |
|
Shaggar posted:when people talk about microservces they mean "someone on the team got to write a greenfield app"
|
# ? Apr 20, 2023 23:03 |
|
it becomes a brownfield app pretty quickly when you have microservices pooping all over it
|
# ? Apr 21, 2023 01:01 |
|
Jabor posted:it becomes a brownfield app pretty quickly when you have microservices pooping all over it
|
# ? Apr 21, 2023 01:17 |
|
FlapYoJacks posted:My current project is a monolithic application that runs on an STM32G processor as a single .bin. sorry about your deficient programming environment, op
|
# ? Apr 21, 2023 02:00 |
|
12 rats tied together posted:you could simply buy sql server licenses and hook up the built in iis http api thing and then you never would have needed node js or kubernetes developers bad news! they removed that nowadays the way to do this is using postgrest
|
# ? Apr 21, 2023 02:00 |
|
12 rats tied together posted:
was that the one that let you POST arbitrary sql to the server or am I getting mixed up with one of our poo poo internal APIs that has "select%20from%20foo%20where" in the URL parameters
|
# ? Apr 21, 2023 08:42 |
|
Powerful Two-Hander posted:was that the one that let you POST arbitrary sql to the server or am I getting mixed up with one of our poo poo internal APIs that has "select%20from%20foo%20where" in the URL parameters i think you're confusing it with the ol' "sql query in a query string" design pattern that we've all seen in the wild
|
# ? Apr 21, 2023 11:04 |
|
redleader posted:bad news! they removed that are developers that afraid of sql that they'll hook up a http/json standalone binary to the database to avoid touching sql?
|
# ? Apr 21, 2023 13:05 |
|
yes
|
# ? Apr 21, 2023 14:02 |
|
MrMoo posted:yes
|
# ? Apr 21, 2023 14:16 |
|
|
# ? Apr 28, 2024 18:05 |
|
Powerful Two-Hander posted:was that the one that let you POST arbitrary sql to the server or am I getting mixed up with one of our poo poo internal APIs that has "select%20from%20foo%20where" in the URL parameters it let you generate a SOAP endpoint where the methods were mapped to stored procs.
|
# ? Apr 21, 2023 14:32 |