News for hackers. Stuff that matters.
Re:The Grug Brained Developer (2022) by idontwantthis on Tuesday June 17, 2025 @09:18PM (#44305754)
At my company our system is composed of 2 dozen different services and all of them can run locally in minikube and easily be debugged in jetbrains.
Re:The Grug Brained Developer (2022) by phito on Wednesday June 18, 2025 @02:52AM (#44307287)
Yes, it's perfectly doable even if you're doing microservices. Not being able to debug your application is an engineering failure.
Re:The Grug Brained Developer (2022) by thunspa on Wednesday June 18, 2025 @06:53AM (#44308706)
can you say more? how do you do it?
Re:The Grug Brained Developer (2022) by phito on Wednesday June 18, 2025 @10:41AM (#44310324)
We mostly have dotnet services in k8s, using Rider (IDE) and Telepresence for remote debugging. Having observability (OpenTelemetry) is also really useful.
Re:The Grug Brained Developer (2022) by idontwantthis on Wednesday June 18, 2025 @11:12AM (#44310610)
See ninkendo’s comment. They are doing it with the same tools we are.
Re:The Grug Brained Developer (2022) by 9rx on Wednesday June 18, 2025 @10:59AM (#44310501)
A multi-process application isn't the same as microservices. Microservices is a team organization technique, seeing individual teams operate in isolation, as if they were individual businesses. You can't debug other team's services any more than you can debug what happens when you make a call to OpenAI. That is the level of separation you are up against in a microservices context. If you can, you're on the same team, and thus don't have microservices, just a single service.
Re:The Grug Brained Developer (2022) by phito on Thursday June 19, 2025 @06:26AM (#44317198)
What? We have dozens of microservices owned by multiple teams, but nothing stops you from cloning the git repository of another team's microservice and debug it the same way you would debug your own.
Re:The Grug Brained Developer (2022) by 9rx on Thursday June 19, 2025 @08:31AM (#44318032)
Service is provided by people. You, for example, discover a problem with OpenAI's system that you integrate with and the only way you can address it is to employ the services of the people who work for OpenAI. While that is an example of a macroservice (or what we usually just call a service), it playing out in the macro economy, microservice is the same concept except applied in the micro scale.

But you checking out the code and debugging it means that you are providing the service. Where, exactly, do you find the service (micro or otherwise) boundary in this case?

Or are you just struggling to say that your service utilizes multiple applications?

Re:The Grug Brained Developer (2022) by phito on Saturday June 21, 2025 @02:14AM (#44335005)
Sorry but I fail to see how your comments are relevant in this discussion.
Re:The Grug Brained Developer (2022) by roncesvalles on Wednesday June 18, 2025 @03:05AM (#44307354)
Where do configs and secrets come from? Also, big company = hundreds of microservices.
Re:The Grug Brained Developer (2022) by ninkendo on Wednesday June 18, 2025 @08:26AM (#44309276)
In my experience you just slap minikube or k3s on your dev machine, and treat it as any other environment. Argo, helm, kustomize, whatever can all work against a local single-node cluster just fine. It takes some effort to make sure your configs are overridable per-environment, but it’s worth doing. (And something you’re hopefully doing anyway if you’re doing any kind of integration/test environment.)

It also requires that each of your services can scale down as well as they can scale up… none of them should be so huge that your whole cluster can’t fit on a single machine, if you’re just simulating one “request” at a time. (Single instances of everything, don’t reserve memory, etc.) There’s use cases where this isn’t practical, but in most cases it’s very doable.

Re:The Grug Brained Developer (2022) by idontwantthis on Wednesday June 18, 2025 @11:12AM (#44310604)
Yes all of this.
Re:The Grug Brained Developer (2022) by ninkendo on Wednesday June 18, 2025 @08:14AM (#44309201)
[delayed]
Re:The Grug Brained Developer (2022) by idontwantthis on Wednesday June 18, 2025 @11:11AM (#44310600)
No I can’t debug multiple services at once, unfortunately. But I will switch between them as I track the request over multiple runs. Also extensive logging in available in grafana helps me know which service is having the issue before I start debugging.
Re:The Grug Brained Developer (2022) by steve_adams_86 on Wednesday June 18, 2025 @01:15PM (#44311641)
This is usually enough for me, too. Use tracing, figure out where things fell apart in the traces, isolate those service(s), and debug from there. It's definitely more work. When we start new projects, I encourage people not to use services until proven necessary because this added layer of friction is a real drag. For a lot of us that isn't a choice, though.