ngrok works everywhere. But more than that, it works the same everywhere.
You can run your services in AWS, GCP or Azure. You can run services in your on-prem data centers or on IoT devices like a Raspberry Pi. You can run your services on hosted container platforms like Heroku, Render or Fly. You can even run services on your laptop. ngrok works the same in any environment and on any network.
ngrok consolidates the traditional pile of ingress tools into one platform.
Traditionally, creating ingress for your application services requires stitching together multiple different software components. There's a reverse proxy, load balancer, API gateway, firewall, delivery network, WAF, caching layer, application middleware, DDoS protection and more.
ngrok collapses these components into a platform with unified configuration and observability.
ngrok helps you deliver your app to production sooner.
Making your app production-ready requires a lot of setup work to secure it with authentication, protect it from attacks and accelerate its traffic so that it's fast. ngrok does all of that automatically for you so you can focus on building your app and not networking configurations.
Reusable App Scaffolding
Don't build auth again. Or rate-limiting. Or other undifferentiated functionality. You can offload it to ngrok instead.
ngrok's module system enables you to spend less time building table-stakes functionality and more time building new features for your app instead. You and your team won't need to rebuild the same scaffolding systems over and over again.
ngrok helps you stop working with the assembly language of networking.
For as much as we've abstracted away developer complexity with high-level languages, we still expect software engineers to wrestle with arcane networking minutia. ngrok abstracts away the complexity of low-level concepts like CIDRs, ports and TLS Certificates and instead provides you with control over application primitives like authentication and request routing.
ngrok establishes contractual application control of your ingress platform.
Great software is built on well-defined contracts between components. As more business logic is pushed to proxies in front of the application, the contract between the reverse proxy and the upstream application becomes critical. Unexpected changes in behavior between them cause incidents. Traditionally, that contract is implicitly defined in IT tickets.
ngrok's Agent SDKs change that. Instead, the application itself defines via API exactly what operations it expects the ingress platform to perform on its behalf and how it expects to receive information about those behaviors.
This is a new, safer programming model where developers can safely offload additional functionality to the ingress platform without fear of the contract being broken.
Pay as You Go
Get started without a huge bill.
Unlike other networking software which has unpublished pricing that only enterprises can afford, anyone can get started using the paid features of ngrok with just a credit card. ngrok's pricing is public, predictable and you pay only for what you use.
Dev / Prod Parity
ngrok eliminates bugs that arise from differences between local dev and production environments.
We've all felt the pain of something failing in production that worked while we were testing it locally. Because ngrok works everywhere, you can run it on your local development environment exactly the same way you run it to deliver your production service.
ngrok reduces your operational burden by operating the global delivery network for you.
A global delivery network accelerates your application, but it's a real pain to operate. Unlike deployable network software that you need to configure and run yourself, ngrok is a completely managed global service. You can spend less time operating networking infrastructure and puzzling over missing packets and more time building value for your customers.
Built for Developers
ngrok puts developers in control with best-in-class developer tooling.
- First-class CLI to all functionality
- Native-language Agent SDKs
- HTTP API to automate configuration tasks
- Extensive documentation
- Programmatic events for observability and automation
ngrok accelerates your apps for global clients.
In addition to using its global server load balancing to improve speeds for your application's clients by reducing TCP and TLS setup round-trip times, ngrok also pushes any module behaviors you configure to its global edge as well so authentication, transformations, load balancing and more happen as close to your customers as possible.
ngrok finally achieves true per-workload layer 4 networking security.
Traditional networking architectures often permit applications to speak to each other directly when they're colocated on the same network without going through the ingress gateways which enforce auth and policy. This is ultimately the same security risk that motivated Google to create its BeyondCorp zero-trust architecture model. ngrok achieves true network isolation for applications without any complex networking policy so that the only way to access them is via their endpoint URL, even if they're running next to each other.