Livekit with David Zhao

Livekit with David Zhao
2

infra engineers for cloud and cluster management

80%

of their team is making at least one deployment to Zeet

15

clusters per infra engineer

300%

increase in deployments, 50% increase deployments/team member

50%

time reduction to MVP

4

Clouds

Abstract

LiveKit is a live video and audio streaming company that provides seamless global communication using a modern, end-to-end WebRTC stack. They’re a growing team, with 15 developers and 2 infrastructure engineers. They use Zeet as a developer platform to manage deployments, but also cloud infrastructure, resources, and Kubernetes clusters.

LiveKit was founded by two experienced founders with a handful of exits already under their belts, and they didn’t even bother trying to set up their infrastructure and deployment stack themselves—they knew better. They started with Zeet, and they saw value immediately. What took the founding team 5 engineers and 12 months to complete in the past, they had access to on day 1. Beyond that, leveraging Zeet’s multi-cloud functionality, LiveKit was able to deploy their services to infrastructure worldwide across 4 clouds, including 2 specialty clouds—Akamai Linode and Vultr—by integrating 4 cloud providers with PoPs around the globe.

With Zeet, LiveKit’s 2 infrastructure engineers manage all of these clouds and the 30+ clusters that sit across them. The developers on the team have also seen similar productivity unlocks, with a 300% increase in deployments between now and their first 6 months on Zeet, and even with a growing team, there is still a 50% increase in deployments per engineer since then.

"As the need for low-latency, high-quality video streaming continues to grow, so does the complexity of the infrastructure required to support it. The ability to efficiently manage and deploy clusters across 15+ globally distributed data centers on multiple cloud providers has become critical for companies like LiveKit. According to a report by MarketsandMarkets, the video streaming software market is projected to reach $8.4 billion by 2024, with a compound annual growth rate of 19.7%. To stay competitive in this rapidly growing market, companies need infrastructure solutions that are flexible, efficient, and cost-effective."

Backstory

LiveKit started as an open-source project to bring global media streaming into the 21st century. There were incumbents in the space, but they weren’t keeping up with demands, so the founders of LiveKit saw an opportunity to create a better solution to the live video problem. Given the popularity of the project, they started scaling quickly and their user base (and need for infrastructure) skyrocketed.

LiveKit never existed pre-Zeet, but the founders knew what that reality looked like. David Zhao, LiveKit’s CTO, said that at a previous startup of his, it took “a dedicated team of five people who spent a year developing their own platform” to get them what they get from Zeet out of the box.

Not only did LiveKit need to deploy software rapidly, but they needed to do it at a global scale. A PaaS could have helped them deploy software quickly, but lacked the flexibility to manage Kubernetes clusters and clouds. An internal DevOps and Infra team managing their global clouds could have given them the reach and redundancy they needed, but would require a headcount and the complexity that comes with that. They need all the power of a PaaS, with all the flexibility of their own clusters and clouds, and not just big cloud providers either.

LiveKit needs Points of Presence (PoPs) all over the world, and they need the security of having back-up servers in the case of an outage. You may think the larger cloud providers like AWS, Digital Ocean, and GCP could serve a global market, but not at the edges…not at the low-latency LiveKit needs. Livekit could scale up their team and build infrastructure and redundancy globally using speciality, edge-focused cloud providers, but again, the additional complexity was not something they could easily take on with their small team size.

Zeet allows LiveKit to manage their code, deployments, and infrastructure the same way a PaaS would, but with the bonus of allowing them to do so across 4 of their own clouds, while delivering the low-latency, failsafe media streaming they promise their customers. And the best part is they can manage all of these clouds from one dashboard, Zeet. They have infrastructure across GCP and DO, but given their edge needs, they also maintain dozens of clusters (more than they have across DO and GCP combined!) on edge-focused Akamai Linode and Vultr thanks to Zeet.

"Multi-cloud environments help you have the agility to move from one cloud provider to another, as your business needs evolve, and help reduce the risk of vendor lock-in," says Fabio Gori, VP of Product Management at Canonical. "However, without the right tools, this can be an administrative nightmare." Source

Zeet had historically been a platform to help small, application-focused engineering teams get to production, but LiveKit didn’t exactly fit that bill. LiveKit started with experienced developers, lots of customers, and infrastructure engineers who were ready to manage clusters across clouds, but that didn’t mean Zeet wasn’t great for their use case.

LiveKit got the multi-cloud support (PoPs, remember?), and now they have a tool that can do much of what they would be doing manually, automatically. They can have 4 different cloud providers, and manage the infrastructure and deployments to those clouds with one dashboard. What’s more, LiveKit isn’t just getting a cloud coordination platform, but also a developer platform to speed up their development efforts as well.

It's about freeing developers from the burden of figuring out how to deploy their applications. It's like having our own universal platform that handles everything we need, not just for specific languages like JavaScript, but for everything we do." - David Zhao, CTO, LiveKit

The infrastructure got easier to manage, but so did deploying to that infrastructure. When developers can deploy to all clouds with one-click, manage complex applications that require both bandwidth and cost-optimization without ever thinking about those things, and have the redundancy to fix outages without their customers even knowing they’re in an outage, everything gets easier. Engineering as a whole becomes more a problem of engineering the product, not engineering how the product pieces fit together.

Engineers can write code, make a pull request to their favorite VCS, merge it to their ENV of choice, promote to prod if applicable, and move on. No more waiting on DevOps bandwidth, or planning tedious releases. Shipping is the primary focus, not worrying about how to.

“For us, it's about being able to operate across multiple cloud providers without being tied to a single vendor. It's important because our application requires a lot of bandwidth, and relying solely on AWS rates would be financially challenging. Additionally, network quality varies among hosting providers, and it's difficult to assess without actually running our workflows. Using Zeet allows us to quickly deploy and run on different clouds simultaneously, and we currently run on three different clouds in production. It's seamless and helps us avoid downtime, like when one of our cloud providers experienced issues recently, traffic was rerouted to alternative data centers without causing any user-visible downtime. It's been a huge benefit."

David Zhao
CTO, LiveKit

Solution

30 clusters across 4 clouds with just 2 infrastructure engineers. That’s a pretty good deal. Instead of hiring another 2 or more full-time infrastructure engineers, they can spend that money growing their development team and business, and from there, the efficiency gains continue.

LiveKit’s team is growing, but Zeet doesn’t add any complexity to their onboarding process. The average time to first deploy through Zeet is usually within a couple days of an engineer’s start date, and time to comfort comes shortly thereafter. Junior engineers don’t need to learn complex deployment protocols, and experienced engineers can get their code out without learning yet another process.

What’s more, developers actually get more productive with Zeet. LiveKit has seen a 300% increase in deployments as they’ve gained comfort with Zeet, with a 50% increase in deployments per engineer. Not only that, but developer engagement and satisfaction is through the roof. Over 50% of LiveKit’s team is making at least 1 deployment per week, and the compound effect of this has been a happier, more effective development team that can focus more on development and improving features, rather than managing infrastructure and deployments. It’s not just the engineers who feel these gains either.

“We plan to expand to about 15 data centers in the next year to improve distribution for our users. Having a consistent infrastructure stack that we can scale up is crucial for us." - David Zhao, CTO, LiveKit

LiveKit as a whole has changed the way they do business because of Zeet. As customers outside of their current PoPs are presenting themselves, LiveKit can simply find a new cloud provider, integrate it with Zeet, making their market and customer base that much bigger.

Conclusion

With Zeet, LiveKit has changed the way they do business. Multi-cloud access allows them to get access to multiple PoPs and increased redundancy, so they can better serve existing customers and expand to serve new ones. Zeet's easy-to-use UI helps them manage their infrastructure and clusters, which helps them save on engineering and cloud resource costs, and that’s just on the infrastructure side.

Development has seen similar gains. The engagement, satisfaction, and velocity of the team has all improved tremendously with Zeet. Everyone in the organization is using the same tool, and across teams there is more room to collaborate.

Zeet has allowed LiveKit to take on more ambitious projects more often, save money on developers, and scale unabated. With Zeet, LiveKit is able to ship faster, more often, and with confidence.

Blueprints Used
PostgreSQL RDS

Deploy a PostgreSQL database to your cloud(s) in one click.

Terraform

Easily deploy a Terraform Module to GCP, AWS, Azure, DO, etc in one click.

Kubernetes Container App

Using the official Kubernetes Application Blueprint, you can deploy your docker apps in just a few clicks.