Loading…
Developing Zoom Marketplace Apps w/ ngrok
ZoomTim Slagle
Summary
Developers frequently use ngrok to establish fast, introspectable tunnels to localhost when building Zoom Marketplace applications instead of configuring complex reverse proxies like NGINX or Apache. However, using basic ngrok tunnels in production exposes systems to short URL expiration windows, single points of failure, and scalability bottlenecks. To maintain application availability, developers can purchase an ngrok license to secure a service-level agreement and support. Additionally, teams should reserve dedicated subdomains rather than using auto-generated endpoints, run ngrok as a monitored background service on a cloud provider or data center, and place a load balancer in front of the tunnel to handle heavy traffic.
Context
Developers building Zoom Marketplace applications use NGROK for fast local prototyping, but unmanaged NGROK usage presents operational risks, including expiring URLs without a license, single points of failure, and difficulty scaling under traffic.
Approach / What changed
Mitigate NGROK availability risks by purchasing an NGROK license for an SLA, reserving custom subdomains instead of auto-generated URLs, running NGROK as a monitored background service, and adding a load balancer in front of NGROK when scaling for thousands of requests.
Takeaways
- Running unlicensed NGROK tunnels causes URLs to expire after short periods and risks collisions if auto-generated endpoints are claimed by other accounts.
- Operating NGROK as a background service on cloud infrastructure or local data centers enables automated monitoring and restarts during tunnel failures.
- NGROK is not designed to scale independently like a dedicated load balancer and requires a load balancer in front of it to handle thousands of requests.
Related reading
Tinder ·
How Tinder Eased Development Pain With Ignis
Managing hundreds of microservices with disparate configurations forced Tinder engineers to deploy code to staging environments to verify every change, slowing development velocity. To shorten feedback loops, the team created Ignis, a Go-based CLI tool that lets engineers run an isolated service locally while proxying ingress and egress traffic through a multi-tenant development Kubernetes cluster. Ignis pairs with an API gateway for client testing and uses a custom Smart Router proxy to dynamically intercept downstream gRPC and HTTP requests via Kubernetes informers and header propagation. Since launching in 2019, the tool enabled Tinder to eliminate a dozen staging environments, decrease cloud spend, and accelerate onboarding, followed by a V2 release adding remote IDE support and monitoring.
TinderGrab ·
This Rocket Ain't Stopping - Achieving Zero Downtime for Rails to Golang API Migration