Developing Zoom Marketplace Apps w/ ngrok

Tim Slagle
Zoom Developer Blog
3 min readFeb 14, 2020
Image Source: ngrok.com

NGROK is a wonderful tool for developers to use when they are building web apps and tools. NGROK allows you to create introspectable tunnels directly to localhost. Not only does it allow developers to prototype fast, but it also allows for quick tunnels from the open web to your web apps and tools.

A lot of our developers use NGROK to make developing their web apps easier, but this can come with its own set of drawbacks. Today we will be talking about how to use NGROK effectively to make sure your app remains available for your users.

Why would you use NGROK as opposed to a more traditional reverse proxy like NGINX/Apache?

  • NGINX/Apache can be a little more complicated than needed. Sometimes you need a quick on authenticated HTTP tunnel to your app.
  • NGROK is very quick. It is a simple command-line tool that makes tunnels with a single command.
  • You are prototyping and need a quick and dirty tunnel.

The dangers of using NGROK for production applications

NGROK is a great tool, but when you are moving to a production environment there are some things to be aware of.

  • Without a license, the NGROK URL will expire after a short period.
  • A single simple tunnel is a single point of failure and can work against you if not managed properly.
  • It is easy to out-scale an NGROK tunnel as you grow your app.

But Tim, what can we do to make sure our app remains available? I’m glad you asked! There are a few steps you can take to make sure your NGROK tunnel remains active so your users can always find and use your app!

  • Purchase an NGROK subscription. If you are going to use NGROK as your tunnel service then we highly recommend buying a license. Buying a license comes with an SLA from NGROK and will ensure you have support if something should go wrong.
  • Don’t use auto-generated endpoints. Auto-generated endpoints can be problematic as they can be reserved by another account by mistake. Make sure to reserve a subdomain for use with NGROK so you don’t lose your tunnel.
  • Run NGROK as a service on a cloud provider or locally in your data center. Running NGROK as a service instead of a terminal instance will make sure you can monitor and restart NGROK as needed if something should fail.
  • Planning to scale? Support NGROK with a load balancer. Again, for all the things NGROK does well, it is never meant to scale like a true load balancer. If you plan to have thousands of requests/users on your app then implement a load balancer in front of NGROK to make sure you can scale.

That’s it. You’re ready to start building on Zoom with NGROK. If you have any questions you can visit us on our community forum. Also, make sure to check out our marketplace and developer documentation to get started if you haven’t already!

--

--