News for hackers. Stuff that matters.
Re:We're Leaving Kubernetes by czhu12 on Monday November 04, 2024 @09:56PM (#42048206)
We tried this approach at a former company with ~600 engineers at the time.

Trying to boot the full service on a single machine required every single developer in the company installing ~50ish microservices on their machine, for things to work correctly. Became totally intractable.

I guess one can grumble about bad architecture all day but this had to be solved. we had to move to remote development environments which restored everyone’s sanity.

Both FAANG companies I’ve worked at had remote dev environments that were built in house.

Re:We're Leaving Kubernetes by rileymat2 on Monday November 04, 2024 @10:52PM (#42048459)
I may be misunderstanding, but wouldn't you want the particular microservice you are working on independent enough to develop locally, then deploy into the remote environment to test the integration? (I don't work at this scale)
Re:We're Leaving Kubernetes by animal_spirits on Monday November 04, 2024 @11:25PM (#42048595)
Invariably this is an ideal and does not match up in reality. I work at ~50 ish employee company and we have layers of dependencies between at least 6 or 7 various microservices. I can see this adding up in complexity as the product scales
Re:We're Leaving Kubernetes by flimsypremise on Tuesday November 05, 2024 @12:10AM (#42048760)
If the microservice has dependencies on other services it is not a microservice.
Re:We're Leaving Kubernetes by blitzar on Tuesday November 05, 2024 @03:59AM (#42049860)
Connecting to a messaging queue or database count as a dependency?

Why not break a microservice into a series of microservices, its microservices all the way down.

Re:We're Leaving Kubernetes by Cthulhu_ on Tuesday November 05, 2024 @07:31AM (#42051006)
Only if you cannot change one service without changing the other simultaneously. It's fine to have evolving messages on the queue but they have to be backwards compatible with any existing subscribers, because you cannot expect all subscribers to update at the same time. Unless you have a distributed monolith in a monorepo, but at least be honest about it.

Multiple services connecting to the same database has been considered a bad idea for a long time. I don't necessarily agree, but I have no experience in that department. It does mean more of your business logic lives in the database (rules, triggers, etc).

Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:10AM (#42057751)
> Only if you cannot change one service without changing the other simultaneously.

Not true at all.

You're conflating the need for distributed transactions with the definition of microservices. That's not it.

> Multiple services connecting to the same database has been considered a bad idea for a long time.

Not the same thing at all. Microservices do have the database per service pattern, and even the database instance per service instance pattern, but shared database pattern is also something that exists in the real world. That's not what makes a microservice a microservice.

Re:We're Leaving Kubernetes by dns_snek on Tuesday November 05, 2024 @05:31AM (#42050333)
According to whom? How do those microservices get anything done if they just live in their own isolated world where they can't depend on (call out to) any other microservice?
Re:We're Leaving Kubernetes by dns_snek on Tuesday November 05, 2024 @03:06PM (#42054729)
Would anyone care to explain the reasoning behind their down votes?
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:05AM (#42057716)
> If the microservice has dependencies on other services it is not a microservice.

You should read up on microservices because that's definitely not what they are not anything resembling one of their traits.

Re:We're Leaving Kubernetes by rileymat2 on Monday November 04, 2024 @11:28PM (#42048603)
Yes, the real world trumps theory, hence my question.
Re:We're Leaving Kubernetes by jrs235 on Friday November 08, 2024 @09:48AM (#42087236)
Reminds me of a favorite quote: "What's the difference between between theory and practice (reality)? In theory, they're the same."
Re:We're Leaving Kubernetes by nightski on Tuesday November 05, 2024 @12:38AM (#42048862)
So basically a distributed monolith :P
Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @06:00AM (#42050486)
I'm sure companies with well designed and properly isolated services exist but... in my time spent at several companies, "microservices" invariably degenerate to distributed monoliths.
Re:We're Leaving Kubernetes by chipdart on Tuesday November 05, 2024 @02:00AM (#42049224)
> Invariably this is an ideal and does not match up in reality.

No, this does indeed match reality. At least for those who work with microservices. This is microservices 101. It's baffling how this is even being argued.

We have industry behemoths building their whole development experience around this fact. Look at Microsoft. They even went to the extents of supporting Connected Services in Visual Studio 2022. Why on earth do you believe one of the most basic traits of backend development is unreal?

> I work at ~50 ish employee company and we have layers of dependencies between at least 6 or 7 various microservices.

Irrelevant. Each service has dependencies and consumers. When you need to run an instance of one of those services locally, you point it to it's dependencies and you unplug it from it's consumers. Done. This is not rocket science.

Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @06:04AM (#42050504)
You can't compare Microsoft to your run-of-the-mill small (or even large) software shop, though. Maybe on HN, most people work on these amazingly designed systems, but in my experience most tech out there is shit and has no proper design or architecture beyond "we're doing microservices because everyone is".
Re:We're Leaving Kubernetes by chipdart on Tuesday November 05, 2024 @06:47AM (#42050764)
> You can't compare Microsoft to your run-of-the-mill small (or even large) software shop, though.

I'm talking about how Microsoft added support for connected services to Visual Studio. It's literally a tool that anyone in the world can use. They added the feature to address existing customer needs.

Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @07:23AM (#42050955)
Apart from the fact that not everyone uses Visual Studio, "connected services" appears to be something by which you can connect to existing cloud-based services.

How does that solve the problem of a mess of interconnected services where you may have to change 3 or more of them simultaneously in order to implement a change?

Re:We're Leaving Kubernetes by chipdart on Tuesday November 05, 2024 @01:08PM (#42053807)
> Apart from the fact that not everyone uses Visual Studio, "connected services" appears to be something by which you can connect to existing cloud-based services.

Yes. That's the point.

> How does that solve the problem of a mess of interconnected services (...)

I don't think you got the point.

The whole point is that you only need to connect your local deployment to services that are up and running. There is absolutely no need to launch a set of ad-hoc self-contained services to run a service locally and work on it. That is the whole point.

Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @03:53PM (#42055061)
Your whole argument boils down to "don't write shit software" which yeah, fair, but in the real world, the company that you just joined has shit code that evolved over 10 years and has accumulated all sorts of legacy cruft. The idea that there is "absolutely no need to launch a set of ad-hoc self-contained services to run a service locally and work on it" just doesn't match the reality of most places I've worked at. You either got very lucky or you didn't work on complex enough systems.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @01:18AM (#42057513)
> Your whole argument boils down to "don't write shit software" (...)

No. My whole argument is open your eyes, and look at what you're doing. Make it make sense.

Does it make sense to launch 50 instances locally to be able do work on a service? No. That's a stupid way of going about a problem.

What would make sense? Launch the services you need to change, of course. Whatever you need to debug, that's what you need to run locally. Everything else you consume it from a cloud environment that's up and running.

That's it. Simple.

If there's something preventing you from doing just that then that's an artiicifal constraint that you created for yourself, and thus that you need to fix. We're talking about things like auth. Once you fix that, go back to square one.

Re:We're Leaving Kubernetes by Tainnor on Wednesday November 06, 2024 @05:17AM (#42059322)
Just FYI, you come across as extremely antagonistic in the way you're conveying your message. The underlying tone seems to be "you're stupid".
Re:We're Leaving Kubernetes by marcosdumay on Tuesday November 05, 2024 @11:09AM (#42052606)
> You can't compare Microsoft to your run-of-the-mill small (or even large) software shop, though.

True. Your run-of-the-mill shop should have a simpler and more straight-forward system.

But you seem to want the reverse.

Re:We're Leaving Kubernetes by animal_spirits on Tuesday November 05, 2024 @11:21AM (#42052766)
No one wants the reverse, I would love if my microservices were perfectly isolated little boxes with known inputs and outputs! That would make my life easier. But I don’t have the ownership over the planning process and our sales person already told our customer we’d have the new feature they asked for that no one on the engineering team knew about delivered by next sprint. It would be nice if my company planned things well! But they don’t
Re:We're Leaving Kubernetes by therealdrag0 on Tuesday November 05, 2024 @12:48PM (#42053634)
So then it’s bad engineering being wagged by Sales, not some expected sane choice.
Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @03:57PM (#42055093)
Most of the time it's bad engineering caused by other engineers.
Re:We're Leaving Kubernetes by marcosdumay on Tuesday November 05, 2024 @01:46PM (#42054150)
Just s/Sales/Management, because sales actually can't wag the development process. But yeah.
Re:We're Leaving Kubernetes by redman25 on Tuesday November 05, 2024 @10:00AM (#42051981)
Shouldn't all systems be tested end-to-end regardless of if they are microservices or not?
Re:We're Leaving Kubernetes by therealdrag0 on Tuesday November 05, 2024 @12:50PM (#42053648)
You don’t have to test them all end to end before merging a PR. You should have multiple stable pre prod environments for e2e testing. But if most changes fail e2e testing then your sdlc is broken before then and that should be fixed first. You need better designs and better collaboration and better local tests and code reviews.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:00AM (#42057688)
> You don’t have to test them all end to end before merging a PR.

You have to test the changes you want to push. That's the whole basis of CI/CD. The question is at which stage are you ok with seeing your pipeline build.

If you accept that you can block your whole pipeline by merging a bad PR then that's ok.

In the meantime, it is customary to configure pipelines to run unit, integration tests, and sometimes even contract tests when creating a feature branch. Some platforms even provide high-level support for spinning up sandbox environment as part of their pipeline infrastructure.

Re:We're Leaving Kubernetes by rtpg on Tuesday November 05, 2024 @05:55AM (#42050463)
This is how you get to "I wrote to the spec, it's your problem that clicking the button doesn't do the thing". Huge feedback loops. When you run it "locally" enough you can do your integration stuff before you even ask for review.
Re:We're Leaving Kubernetes by nitwit005 on Tuesday November 05, 2024 @02:15PM (#42054370)
That doesn't seem possible to me. If you have a feature that involves 10 teams and 10 services, nothing will actually work until the 10th change is made (assuming everything was done perfectly).
Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @04:13PM (#42055212)
If you have one team per service, yes. In many companies, you may have one team and 10 services though. I wish I was making this up.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @01:11AM (#42057492)
> This is how you get to "I wrote to the spec, it's your problem that clicking the button doesn't do the thing".

No, not really. You only find yourself in that spot if you completely failed to do any semblance of integration test, or any acceptance test whatsoever.

That's not a microservices problem. That's a you problem.

You talk about feedback look. Other than automated tests, what do you believe that is?

Re:We're Leaving Kubernetes by Neikius on Tuesday November 05, 2024 @01:32PM (#42054022)
Yes, exactly.

I just also like to have an option to run service locally and connect to either cloud instances (test) or local instances depending on what I am troubleshooting/testing. Much better than debugging on prod which may still be required at some point but hopefully not often.

Re:We're Leaving Kubernetes by justinclift on Monday November 04, 2024 @11:14PM (#42048550)
> installing ~50ish microservices on their machine

Ouch. Where they using macOS at the time with laptops having not-enough-ram?

I've seen that go poorly on macOS with java based microservices. Largely due to java VMs wanting ram pre-assigned for each, which really chews though ram that mostly sits around unused.

This was a few years ago though, at the tail end of Intel based mac's where 32GB ram in a mac laptop wasn't really an option.

Re:We're Leaving Kubernetes by themanmaran on Monday November 04, 2024 @11:34PM (#42048631)
I bet it's less of a RAM issue, and more of an orchestration problem. Making sure you have the latest version of every microservice and it's configuration.

"Oh it's not running locally, you need to also run service_18_v2.js, and include the right env variables"

Re:We're Leaving Kubernetes by skydhash on Tuesday November 05, 2024 @12:22AM (#42048804)
This + k8s magic that seem to make thing coupled tighter.
Re:We're Leaving Kubernetes by KronisLV on Tuesday November 05, 2024 @07:23AM (#42050958)
> This + k8s magic that seem to make thing coupled tighter.

I think nobody really talks about this, but unless you have a docker-compose.yml that includes everything you need for local development, it's increasingly more likely that you'll end up coupling things to Kubernetes to such a degree that running without it (and its abstractions) will become more effort than a person can muster.

So while people try to create services that are decoupled from one another, they end up instead coupling them to Kubernetes concepts and a service mesh, service discovery, configuration and secret management mechanisms, persistent storage abstractions and so on.

Which you can obviously do if you want to, but which might make running things locally in a minimalistic fashion that much more complex.

It's the same as with for example using a web server as a reverse proxy for my applications and ending up putting some logic in there (e.g. route rewrites, headers etc.) and then realizing that I must also run a similar web server locally for 1:1 compatibility because something like Vue dev server proxy to the locally running API won't be able to give me all that.

Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:21AM (#42057801)
> I think nobody really talks about this, but unless you have a docker-compose.yml that includes everything you need for local development (...)

Is this a problem?

I mean, in this scenario docker compose serves two main purposes: launch a few mock services, and configure those services according to your needs. This means configuring them to consume services already deployed to a cloud environment of your choice. This is something you control.

Then all that's left is the service (or set if services) you need to modify. You run those locally and configure them to consume a mix of the mocked services and the services deployed to a cloud environment.

> (...) it's increasingly more likely that you'll end up coupling things to Kubernetes to such a degree that running without it (and its abstractions) will become more effort than a person can muster.

That coupling can only happen if you intentionally add it yourself.

If you need to run your services in isolation, you will be more mindful of the need to not introduce that sort of coupling.

Re:We're Leaving Kubernetes by justinclift on Tuesday November 05, 2024 @12:43AM (#42048887)
No, it was definitely a ram issue in this case. The laptops had 16GB of ram, the maximum available at the time. With the java VM overhead that ran things straight into swap and then some.

Running the dev environments remotely (or rewriting in Go) were the options being considered before the whole project was canned and people redistributed to other things.

Re:We're Leaving Kubernetes by pjmlp on Tuesday November 05, 2024 @02:58AM (#42049531)
Given some Kubernetes workloads, even writing everything in Assembly might not help.
Re:We're Leaving Kubernetes by sdenton4 on Tuesday November 05, 2024 @01:47AM (#42049168)
I do the great majority of my work on a beefy desktop with a phat GPU, which I mostly run via ssh and a browser.
Re:We're Leaving Kubernetes by Cthulhu_ on Tuesday November 05, 2024 @07:31AM (#42051009)
If you have to have the latest version etc of every microservice, it's a distributed monolith.
Re:We're Leaving Kubernetes by consteval on Tuesday November 05, 2024 @08:48AM (#42051430)
Right, the crux here is bad architects are building distributed systems that are essentially monoliths. It's the worst of both worlds. You get none of the guarantees and visibility of a monolith, and you get all the friction of a distributed system.
Re:We're Leaving Kubernetes by themanmaran on Wednesday November 06, 2024 @12:16PM (#42065572)
This is the first time I've heard the term distributed monolith and it's just clicked that every microservice application I've worked on has been exactly that.
Re:We're Leaving Kubernetes by throwaway2037 on Tuesday November 05, 2024 @06:42AM (#42050732)

    > Largely due to java VMs wanting ram pre-assigned for each
Do you mean the JVM min heap size was rather later? Otherwise, there is no need for a very large min heap size on a modern JVM (11+).
Re:We're Leaving Kubernetes by justinclift on Tuesday November 05, 2024 @09:32AM (#42051712)
Pretty sure it was a mix of java 8 (yeah, very outdated even then) and more modern stuff.
Re:We're Leaving Kubernetes by liveoneggs on Tuesday November 05, 2024 @07:24AM (#42050961)
why would run multiple JVMs?
Re:We're Leaving Kubernetes by justinclift on Tuesday November 05, 2024 @09:33AM (#42051726)
One per microservice.
Re:We're Leaving Kubernetes by liveoneggs on Tuesday November 05, 2024 @01:21PM (#42053931)
This is a bad idea. It defeats a major feature of the jvm.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:25AM (#42057820)
> This is a bad idea.

Not really. It all depends on what are your needs.

> It defeats a major feature of the jvm.

You're confusing things. Just because Java addressed the deployability problem for Java applications before containerization was even a word, this does not mean that deploying a JVM per service is a bad idea. Just think about it for a second. Why do you need to deploy and scale services independently? Do you mention the JVM in your response? No.

Re:We're Leaving Kubernetes by liveoneggs on Wednesday November 06, 2024 @01:59PM (#42067453)
We were talking about dev enviroments on desktops, not independently scalable components.

I did mention the jvm in my response. You quoted me doing so, in fact.

Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @05:06PM (#42070210)
> We were talking about dev enviroments on desktops, not independently scalable components.

Your dev environment is expected to mimick your production environment, not the other way around.

Re:We're Leaving Kubernetes by chipdart on Tuesday November 05, 2024 @01:44AM (#42049142)
> Trying to boot the full service on a single machine required every single developer in the company installing ~50ish microservices on their machine, for things to work correctly. Became totally intractable.

This is certainly one of the critical mistakes you did.

No developer needs to launch half of the company's services to work on a local deployment. That's crazy, and awfully short-sighted.

The only services a developer ever needs to launch locally are the ones that are being changed. Anything else they can consume straight out of a non-prod development environment. That's what non-prod environments are for. You launch your local service locally, you consume whatever you need to consume straight from a cloud environment, you test the contract with a local test set, and you deploy the service. That's it.

> I guess one can grumble about bad architecture all day but this had to be solved.

Yes, it needs to be solved. You need to launch your service locally while consuming dependencies deployed to any cloud environment. That's not a company problem. That's a problem plaguing that particular service, and one which is trivial to solve.

> Both FAANG companies I’ve worked at had remote dev environments that were built in house.

All FANG companies I personally know had indeed remote dev environments. They also had their own custom tool sets to deploy services locally, either in isolation or consuming dependencies deployed to the cloud.

This is not a FANG cargo cult problem. This is a problem you created for yourself out of short-sightedness and for thinking you're too smart for your own good. Newbies know very well they need to launch one service instance alone because that's what they are changing. Veterans know that too well. Why on earth would anyone believe it's reasonable to launch 50 services to do anything at all? Just launch the one service you're working on. That's it. If you believe something prevents you from doing that, that's the problem you need to fix. Simple. Crazy.

Re:We're Leaving Kubernetes by athrowaway3z on Tuesday November 05, 2024 @04:11AM (#42049914)
Ha. It almost looks like either the fan boys or PR department is making up use-cases.

Yes what you're saying is correct, but why many words when few do trick:

This hypothetical IT department isn't able to host its own development environment, yet suddenly they do have the skills if they switched to gitpod.

Re:We're Leaving Kubernetes by mattacular on Tuesday November 05, 2024 @09:41AM (#42051768)
> You launch your local service locally, you consume whatever you need to consume straight from a cloud environment, you test the contract with a local test set, and you deploy the service. That's it.

If your services are mostly stateless and/or your development team is very small that can work. If not, you will quickly run into problems sharing the data. Making schema changes to the shared cloud services. Cleaning up dev/test/etc data that has accumulated, etc. Then you are back to thinking of provisioning isolated cloud environment per dev.

Re:We're Leaving Kubernetes by OrderlyTiamat on Tuesday November 05, 2024 @10:30AM (#42052228)
What was the point of microservice architecture if you can't develop each service individually in the first place? Sounds to me like the architecture you're talking about isn't an actual microservice, and it's just ball 'o mud over TCP instead of as a single monolith.

At a previous place of work I worked with a monolith structure, and it was actually perfectly fine. Development got done separately on several large substructures in the monolith, and devs could install the whole project locally and run it just fine.

I'm really wondering why we're all using microservice architecture if we're all convinced that to actually develop on them, devs need to reproduce 50odd of those services locally for debugging. Then what was the point?

Re:We're Leaving Kubernetes by Tainnor on Tuesday November 05, 2024 @04:12PM (#42055207)
> Then what was the point?

Resume chasing and trying to paper over the fact that you don't understand architecture, plus bad tooling that e.g. doesn't properly support incremental compilation and so makes monoliths painful.

Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @12:48AM (#42057419)
> Resume chasing (...)

No one does microservices for resume chasing anymore, because everyone is already doing it for practical reasons. I never came across a monolith that wasn't in the process of peeling responsibilities to either microservices or function-as-a-service. For project managers to open their eyes, all that's needed is something like a deployment going wrong due to a single bad commit, or things scaling weird because a background process caused a brownout, or even external teams screwing up a deployment after pushing bad code.

Re:We're Leaving Kubernetes by redman25 on Tuesday November 05, 2024 @09:56AM (#42051939)
You can always spin up several services locally or if you have a development cluster run the service you are working on locally against development services.
Re:We're Leaving Kubernetes by Capricorn2481 on Tuesday November 05, 2024 @10:11AM (#42052077)
You're going in circles. That is what the commenter is replying to. You often can't just go off dev because other people use it while you're testing, and you're back to just launching everything yourself.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @01:03AM (#42057469)
> You often can't just go off dev because other people use it while you're testing.

Why do you think that other people using a cloud environment prevents you from using the environment?

Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @12:44AM (#42057406)
> If your services are mostly stateless and/or your development team is very small that can work. If not, you will quickly run into problems sharing the data.

No, not really. The size of your teams have zero to do with whether your services can corrupt data. That's on you. Don't pin the blame on a service architecture for the design errors you introduced. Everyone else does not have that problem. Why are you having it and blaming the same system architecture used by everyone else?

> Making schema changes to the shared cloud services.

What are you talking about? There is absolute zero system architectures where you can change schemas willy nilly without consequences. Why are you trying to pin the blame on microservices for not knowing the basics of how to work with databases?

In all the times I had to work on schema changes, the development was done with a db deployed in a sandbox environment, and when work was done we had to go with a full database migration with blue-green deployments along with gradual rollout. Why on earth are you expecting you can just drop by and change a schema?

> Cleaning up dev/test/etc data that has accumulated, etc.

Isn't this a non-issue to anyone who works with databases? I mean, in extreme scenarios you can spin up a fake database with your local service, but don't even try to argue this is the justification you need to launch dozens of services.

The truth of the matter is that this is extremely simple: if you want to work on a service, launch that service locally configuring it to consume all dependencies running in a non-prod environment. That's what they are for. If you have extremely specialized needs, stub specific dependencies locally. That's it.

Re:We're Leaving Kubernetes by alanwreath on Wednesday November 06, 2024 @03:07PM (#42068536)
I’m sure there are legion ways to do this. For our company, it was Tilt + Telepresence. Locally, we ran our local service with Tilt. The service we ran would often need access to some other service(s), which would have been hard/impossible to bring up in conjunction with their own rabbit hole of dependencies. Thus, those dependency services were made available to the local k8s installation via Telepresence. That way, locally running services could access their dependent services as if they were running in the local environment (even though they were actually running in the cloud). In our case, security teams would only allow us stage environments, but that was enough for most everything.
Re:We're Leaving Kubernetes by gchamonlive on Tuesday November 05, 2024 @07:08AM (#42050878)
You need an option to enable only the services they need to develop locally and automatically configure them to talk to the other services hosted elsewhere.
Re:We're Leaving Kubernetes by Kye on Tuesday November 05, 2024 @07:58AM (#42051144)
What ever happened to make? It seems like so much of what developers do now just duplicates what could be done with a single makefile that pokes around, figures out what you need, and makes a script to set it up.
Re:We're Leaving Kubernetes by brigandish on Tuesday November 05, 2024 @08:40AM (#42051386)
Make is horrible though. It works, but it’s horrible. Hardly surprising people have looked for alternatives, it’s just a shame that most of those are horrible too.
Re:We're Leaving Kubernetes by gchamonlive on Tuesday November 05, 2024 @09:27AM (#42051691)
"Use make" advices start so sound a lot like fetish and disregard the actual challenges.

Make is just a framework for you to do your builds. Sure you can cram anything into it, but that is exactly the kind of area that other tools like Ansible or even Terraform shine.

Make isn't a silver bullet.

EDIT: Just to make sure, I'm using fetish as something you spend an unreasonable amount of time with it.

Re:We're Leaving Kubernetes by eloisant on Tuesday November 05, 2024 @07:40AM (#42051046)
In a past job I've had a good experience in this case with docker compose (well, something similar).

You would list the services you need (or service groups) in a config file, start a command and all services would start in containers. Sure, you need a lot of RAM with that but on 32Gb it was working fine.

Re:We're Leaving Kubernetes by nottorp on Tuesday November 05, 2024 @09:55AM (#42051927)
> but on 32Gb it was working fine.

So 64 G to include the ram for the ide and web browsing / javascript apps like slack?

Re:We're Leaving Kubernetes by wlll on Tuesday November 05, 2024 @07:50AM (#42051096)
That's ~12 people per microservice. I understand that it might be hard to boot and coordinate all that on each developers machine, and that local docker images/vms/whatever might not suit you, but is it possible that this is a problem of your companies own creation?
Re:We're Leaving Kubernetes by 0xCMP on Tuesday November 05, 2024 @08:36AM (#42051361)
It's very likely not their decisions that lead to this, but their responsibility to improve velocity.

Imagine the goal is to fix the problems (e.g. make it possible to run less of the services or something like that): How do you do that without first running all the services, making the proper changes, and then testing those changes? You need to be able to run all the services in that interim period.

So, wouldn't it be nice if there were a solution for this in-general? And, maybe, it would lead to better conditions later on. But in the meantime there is really no way around the existing design/decisions/etc. You simply have to deal with that reality and engineer around it.

Re:We're Leaving Kubernetes by wlll on Tuesday November 05, 2024 @08:41AM (#42051390)
> It's very likely not their decisions that lead to this

Yeah, I get that, I was deliberate about the phrasing of "your company" rather than just "your".

Obviously we don't know anything about the parent commenters company and situation, perhaps 12 people per microservice genuinely is the right solution for them, but it seems like it would be better not to get into this situation in the first place, though once there you obviously have to tackle the problem as it presents itself.

Re:We're Leaving Kubernetes by 0xCMP on Wednesday November 06, 2024 @12:12PM (#42065498)
Agreed that it may be the right solution, but it smells bad. If I was there I would be trying to reduce the complexity where I could.
Re:We're Leaving Kubernetes by chipdart on Wednesday November 06, 2024 @02:13AM (#42057761)
> How do you do that without first running all the services (...)

Why do you need to run all services in isolation to be able to troubleshoot and isolate a problem?

Re:We're Leaving Kubernetes by 0xCMP on Wednesday November 06, 2024 @12:07PM (#42065427)
I think it's a fair to assume OP would have tried to run only some of the services and has seen or experienced problems with doing that.
Re:We're Leaving Kubernetes by jen20 on Tuesday November 05, 2024 @07:57AM (#42051139)
> Both FAANG companies I’ve worked at had remote dev environments that were built in house.

This is certainly not universal among FAANGs though.

Requiring 50 services to be up is absolutely nuts, but it’s actually pretty trivial using something like Nomad locally.