

I also remember from reading Hacker News over the past many years, that Tailscale very frequently comes up as an option that people are happy with. It even came with code samples that I could easily adapt to our use case, which was far ahead of the others. That's where we use Tailscale.Ĭhaidarun briefly looked at other options like ZeroTier, but chose Tailscale due to the thorough and clear documentation.

If we're going to be coding in an account with Codespaces, then we need some way to access those. We use Tailscale for accessing our private resources locally on our laptops, where we rely on our old VPN to secure certain private resources on AWS and the local office server. However, traditional VPNs can have latency and security issues due to public endpoints and unencrypted traffic.īuilt on the open-source WireGuard VPN protocol, Tailscale is a way round these problems, offering a zero config VPN for building secure networks. Collaborationįor this, Duolingo turned to Tailscale, a VPN for DevOps and infrastructure teams wanting to collaborate securely.įor engineering teams needing secure access to dynamic hosts, services and applications, VPNs are the answer. But we needed a similar solution for Codespaces. Chaidarun says:Ī lot of our development environment we don't have to expose to the world, it's behind a firewall, which was our old L2 VPN.

However, the Codespaces deployment introduced a new requirement, as there's no way for it to get behind Duolingo’s firewall to access the private resources needed for development. It's also more consistent as the online environment is generated the same way from the same templates for everybody, as opposed to local instances where you rely on developers following instructions correctly. Codespaces made it easier and quicker to set up the development environment and be ready to code within a few minutes. In simple terms, it’s the same as the difference between local Microsoft Word where you’re tied to a particular physical device, and Google Docs, which you can connect from any laptop.ĭuolingo started using GitHub Codespaces around a year ago, which allowed its engineers to carry out their work in the cloud. The way a remote software engineer works is, the editor is online. They write it on their laptop, and then we push it to some repository, like GitHub. Normally, software engineers write code that runs on their laptop. As Art Chaidarun, Senior Staff Software Engineer at Duolingo, explains: There were a few problems with this approach.įirstly, when new developers joined the business, the amount of time taken to get them set up and ready to code second, the ability to work and collaborate in the cloud. Since language learning app Duolingo launched back in 2012, all its coding was done locally on engineer laptops or desktops.
