Skip to content
This repository has been archived by the owner on Aug 20, 2022. It is now read-only.

Are you using Bridge to Kubernetes? #180

Open
daniv-msft opened this issue Jun 3, 2021 · 14 comments
Open

Are you using Bridge to Kubernetes? #180

daniv-msft opened this issue Jun 3, 2021 · 14 comments
Labels
question Further information is requested

Comments

@daniv-msft
Copy link
Collaborator

Thank you for using Bridge! The goal of this issue, inspired by what the great Dapr project is doing, is to better understand who is using Bridge to Kubernetes and your usage.

Could you please comment on this issue by using the following template?

Usage scenario: *Primary debugging tool to develop microservices running on Azure*
How many people in your team use Bridge to Kubernetes: *5 devs*
How long have you been using Bridge to Kubernetes: *4 months*
How often do you use Bridge to Kubernetes: *2-3 times a week*
Have you tried other debugging solutions (docker-compose, running everything locally, etc.) and, if yes, why do you use Bridge: *We used docker-compose for some time but once we couldn't replicate a dependency locally, we moved to Bridge to Kubernetes.*
Anything else you would like us to know? *We would like to onboard another team to Bridge but cannot because of the bug XYZ.*

Optional questions (if you don't want the answers to show publicly, feel free to send us an email: BridgeToKubernetes@microsoft.com):

Organization/Company: *Microsoft*
Website: *https://microsoft.com/*
Contact: *your@email.com*
@daniv-msft daniv-msft pinned this issue Jun 3, 2021
@rakeshvanga rakeshvanga added the question Further information is requested label Jun 3, 2021
@Vaccano
Copy link

Vaccano commented Jun 16, 2021

Usage scenario: Want to use it for debugging my On Prem, Nutanix based Kubernetes clusters
How many people in your team use Bridge to Kubernetes: 0 now, but it would be about 3 devs. (Increasing to many more (~50) as Kubernetes is adopted more at my company.)
Anything else you would like us to know? I would love to be using Bridge to Kubernetes. Once Istio is supported (ie Sidecars), I plan to roll it out for use.

@daniv-msft
Copy link
Collaborator Author

Thanks @Vaccano for your input!
To anyone reading this: the questions asked above were answered separately in #190.

@clintsinger
Copy link

Usage scenario: Replace the local development experience
How many people in your team use Bridge to Kubernetes: 0
How long have you been using Bridge to Kubernetes: 0
How often do you use Bridge to Kubernetes: 0
Have you tried other debugging solutions (docker-compose, running everything locally, etc.) and, if yes, why do you use Bridge: Currently we have a docker compose solution for developing locally but would love to switch to native iterative development directly in local and remote k8s clusters.
Anything else you would like us to know? Not having sidecar support is the major blocker to using B2K because of our dependency on Dapr. We currently use Visual Studio for development with .NET. With the docker compose option we are able to bring up the entire set of services on the local dev machine and debug across services like any other native application. That is the kind of experience we are looking for in k8s.

@daniv-msft
Copy link
Collaborator Author

Thanks @clintsinger! We've been working on adding support for Dapr in the last few weeks, and I'm happy to share that its support is now available in VS Code, and will soon be available in Visual Studio. We'll be part of the Dapr community call tomorrow to present this change.

@WolfspiritM
Copy link

Usage scenario: Help developers to not run the whole pipeline locally
How many people in your team use Bridge to Kubernetes: 0
How long have you been using Bridge to Kubernetes: 0
How often do you use Bridge to Kubernetes: 0
Have you tried other debugging solutions (docker-compose, running everything locally, etc.) and, if yes, why do you use Bridge:
We're currently using docker-compose and abstract away EventHub with Kafka locally

Anything else you would like us to know?
We'd like to use Bridge for Kubernetes but I'm actually not sure how to start.
We don't really have the classic HTTP Endpoints. Our project heavily relies on Eventhub which means our microservices connect to an eventhub and subscribe to new events.
They then publish new events for the subsequent Microservices.
It looks something like that:
Input -> Service A -> Service B -> Service C -> Output

At the moment all developers are running all of that microservices on their local machine.
We'd like to use Bridge to Kubernetes instead where one Developer is working on Service A and one on Service B.
It seems like isolated mode is only supported for HTTP so without isolated mode Developer of Service A might cause issues for Developer of Service B. Even if isolated mode might work with other service I can't think of a good way to handle Event Hub Consumer Groups in this case.

Basicly I'm missing an example of how to use it together with services like EventHub instead of simple direct http connections and also prevent the case where Developer of Service B can't work as there are no data if Developer of Service A is locally testing things and their service isn't running correctly.

@daniv-msft
Copy link
Collaborator Author

Thanks @WolfspiritM for your message.
I can't see an easy way to make our isolation feature work with EventHub, as in your case this replaces pretty much all inter-services HTTP communication.
As an alternative, would it be possible for your team to have one namespace per developer?
That way, each of them would work on their own version of the app without having to replicate it locally. However, this means that a lot of services would be duplicated across namespaces.
This also means that each developer would have their own EventHub, but I imagine that you already have that to debug in docker-compose, right?

@Vaccano
Copy link

Vaccano commented Jul 27, 2021

@WolfspiritM
While a fellow user of the Bridge, I thought I would chime in on what I am planning for in this scenario. (Isolation is not supported for Istio either.)

I have a normal Dev service running in a namespace. But I also have a "DevUnstable" namespace. The DevUnstable namespace is where most of the development is done. If a developer is working on Service B, then he/she would setup to debug against Service A's DevUnstable namespace. But all the connections for Service C and Input from Service A would come from the more stable "Dev" environment.

I have even setup to allow different instances of services in DevUnstable to allow for more than one developer working on the same product in DevUnstable.

This may or may not apply to your scenario, but I thought I would share incase it is helpful.

@Nico-VanHaaster
Copy link

Usage scenario: we/I have used b2k for all our development scenarios that involve Kubernetes this has ranged from traditional AKS clusters, to on premise and across multi cloud environments.
How many people in your team use Bridge to Kubernetes: 10-12 varies
How long have you been using Bridge to Kubernetes: since initial release.
How often do you use Bridge to Kubernetes: Daily use across multiple projects.
Have you tried other debugging solutions (docker-compose, running everything locally, etc.) and, if yes, why do you use Bridge: we have used Azure DevSpaces, docker compose, local debugging etc.
Anything else you would like us to know? We have contributed code and fixes to bridge and happy to see how this has progressed with the community involvement. Other than pod startup time when working on isolation the product seems relatively complete.

@daniv-msft
Copy link
Collaborator Author

Thanks so much @Nico-VanHaaster! Glad that you're using our product and liking it.
Regarding the pod startup time when isolated, one option you might want to consider is to keep the connection alive after debugging ends. That way, you could keep the connection (and so the pod) alive while you develop, and only stop it at the end of your work session.

In VS Code, you can uncheck "Disconnect after debugging":
image

In Visual Studio, you can set the same option to "False" in the Options window:
image

@markgarrigan
Copy link

markgarrigan commented Aug 26, 2021

Sorry... Editing as I didn't see the template...

Usage scenario: Debugging tool for micro-services running in AKS
How many people in your team use Bridge to Kubernetes: 1 to 3 (1 currently trying to get it working)
How long have you been using Bridge to Kubernetes: 1 day
How often do you use Bridge to Kubernetes: I will use it everyday if it works
Have you tried other debugging solutions: Local debugging, Telepresence, and Tilt.dev
Anything else you would like us to know? I'm trying to use Bridge to Kubernetes with our AKS cluster. We use the Application Gateway to do URL based routing to our backend services. Bridge seems to connect and I now see two pods running. However, this seems to break the Application Gateway and now I only get 502 http errors.

Organization/Company: Optum
Website: https://oputm.com/
Contact: mark.garrigan@optum.com

@daniv-msft
Copy link
Collaborator Author

Thank you @markgarrigan for your reply! I also see from the other issue that you found the solution to the problem. Thank you so much for taking the time to explain what you updated! It will be useful if other users are in the same situation.

@irperez
Copy link

irperez commented Nov 17, 2021

Usage scenario: Primary debugging tool to develop microservices running on Azure

How many people in your team use Bridge to Kubernetes: 15 devs

How long have you been using Bridge to Kubernetes: 1yr 2 months

How often do you use Bridge to Kubernetes: every day

Have you tried other debugging solutions (docker-compose, running everything locally, etc.) and, if yes, why do you use Bridge: We don't use other debugging tools as it would not represent the K8s environment well. We try to be as close to production as possible in our dev environment so we can reduce regressions. Bridge does that for us. docker compose cannot replicate certain things inside the cluster.

Anything else you would like us to know? I would like to see a faster cadence around Bridge 2 Kubernetes. My company is putting more teams to work with Bridge 2 Kubernetes. So we would like MSFT to invest more into it and support more scenarios.

@zivfuture
Copy link

A bad news here, B2K is not ready for visual studio 2022。

@irperez
Copy link

irperez commented Dec 17, 2021

A bad news here, B2K is not ready for visual studio 2022。

There is a thread discussing it here. Please thumbs up this issue to get more attention.
#203

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

9 participants