What's the best practice for multiple developers?

Hi, I’m using Okteto but not sure what the best practice is for multiple developers. Currently, I have to set up 3 different k8s dev environment services for 3 different devs, but this is becoming more and more tricky because service invocation from another svc gets complicated (i.e. I have to pass the service name to handle api calls to the app - i.e. http://app-dev1:3000/blah, http://app-dev2:3000/blah, etc.).

I don’t like the idea of having multiple devs working with a single dev svc since they can’t work on the app at the same time. Not very scalable for teams.

This seems like a meaningful problem for Okteto - any suggestions?

Hey @seunggs , welcome to the Okteto community!

This is one of the core problems we want to solve with Okteto (I’m one of the founders). Our main idea is that instead of the approach you follow, you give every developer access to a dedicated Kubernetes namespace. Then each of them deploy their personal copy of the application there.

This has a lot of benefits. My favorites are:

  • You don’t have to modify the service (or any other manifest) for every developer
  • You avoid port collision
  • Every developer can work on their Kubernetes namespace without affecting the rest of the team
  • Your environment looks more like production

You can do this manually by creating the namespaces (and related RBAC) yourself and then handing them over to the developers (many of our open-source users do this). Or you can use Okteto Self-Hosted (it’s free for up to 3 users) to give your developers self-service access to this (and a few other surprises).

Hope this helps!