A couple of years ago I got hired (from an HN “who is hiring” thread, actually) to work on Telepresence to make development for Kubernetes more like local development, and opening up the cloud to more people. Well, I ended up getting pulled on to other projects for a long time, but I did finally get to work on that, and am excited to finally ship the next generation of it.
When I started, Telepresence did two big things: Firstly, it was essentially a VPN that connected your laptop to the cluster (as if it were a Pod in the cluster), so that you could code locally against services running in your cluster. Secondly, it also intercepted traffic that would normally have gone to an existing service in your cluster, and routed that traffic to your laptop, so you could see how the whole thing behaved with just your one microservice changed. Why go through that trouble, instead of just using minikube and doing everything on your laptop?”
Besides rewriting a lot of the old Python code in Go to make the thing easier to install (that xkcd about crazy Python installs turned out to be less of a joke than I thought) and addressing other snags that were keeping people from using Telepresence, most of our work in the last few weeks has been to make it easier to work as a team: Now instead of intercepting all of the traffic going to a service, it's possible to intercept only a subset of it, so that a team can use a shared dev cluster, instead of each needing their own cluster. It's possible to share Ambassador-Cloud-based “preview URLs” that have your intercept all set up, so that you can show what you're working on to your manager, a designer, or whoever.
There will be a lot more coming soon; features that the old Telepresence had that we haven’t re-implemented yet, and some robustness and quality of life changes that the new architecture allows us to finally implement. As much as I’d have liked to cram those in to today’s release, I’m still proud of what we shipped today.
So, check out the 3-minute demo video, or click “Try it Yourself” to download it and try it out. I’d really appreciate your feedback.
(I waffled on whether to put “[video]” in the title; I figured the link to download it and get started is as much if not moreso the thing that I’m linking to. My apologies if I figured wrong.)
When I started, Telepresence did two big things: Firstly, it was essentially a VPN that connected your laptop to the cluster (as if it were a Pod in the cluster), so that you could code locally against services running in your cluster. Secondly, it also intercepted traffic that would normally have gone to an existing service in your cluster, and routed that traffic to your laptop, so you could see how the whole thing behaved with just your one microservice changed. Why go through that trouble, instead of just using minikube and doing everything on your laptop?”
Besides rewriting a lot of the old Python code in Go to make the thing easier to install (that xkcd about crazy Python installs turned out to be less of a joke than I thought) and addressing other snags that were keeping people from using Telepresence, most of our work in the last few weeks has been to make it easier to work as a team: Now instead of intercepting all of the traffic going to a service, it's possible to intercept only a subset of it, so that a team can use a shared dev cluster, instead of each needing their own cluster. It's possible to share Ambassador-Cloud-based “preview URLs” that have your intercept all set up, so that you can show what you're working on to your manager, a designer, or whoever.
There will be a lot more coming soon; features that the old Telepresence had that we haven’t re-implemented yet, and some robustness and quality of life changes that the new architecture allows us to finally implement. As much as I’d have liked to cram those in to today’s release, I’m still proud of what we shipped today.
So, check out the 3-minute demo video, or click “Try it Yourself” to download it and try it out. I’d really appreciate your feedback.
(I waffled on whether to put “[video]” in the title; I figured the link to download it and get started is as much if not moreso the thing that I’m linking to. My apologies if I figured wrong.)