ngrok unveiled its JavaScript and Python SDKs,
enabling developers to programmatically serve their applications and
manage traffic by embedding ingress with a single line of code. These
new SDKs, in addition to the existing ones for
Go and
Rust,
bring ngrok's transformative ingress-as-a-service model to the
massively popular JavaScript and Python developer ecosystems. Developers
familiar with ngrok can think of these SDKs as the ngrok agent packaged
up as a JavaScript and Python package.
The ngrok SDKs enable a
significant paradigm shift in application delivery. Today, there is an
implicit, hidden dependency between the application and the
infrastructure that delivers it, such as load balancers and reverse
proxies. This hidden dependency is the source of lost revenue and
downtime due to misconfigurations between these components. Developers
must manually configure and manage the delivery infrastructure to serve
their applications. Declaring ingress, which encompasses non-functional
capabilities such as high performance, resilience, security and
observability needed for flawless delivery of their software, directly
in the application itself, radically simplifies the development
process.
With these SDKs, developers don't have to spend time and
effort writing code to fulfill non-functional requirements. The SDKs
empower developers to establish precise, API-defined contracts that
dictate the expected behavior between their applications and the ingress
layer. This approach ensures a secure and stable programming model,
safeguarding against changes within the ingress platform that could
disrupt access and traffic flow to the upstream service. Designed with
idiomatic programming constructs, these SDKs can be integrated
seamlessly into an application.
ngrok SDKs also enable platform
independence and portability as it decouples application ingress from
the hosting environment. Applications can run seamlessly across various
platforms and devices without custom configurations for each
environment.
ngrok expanded SDK support for JavaScript and
Python next because of their large developer communities. JavaScript is
the world's most popular programming language, and Python has quickly
become the foremost choice for AI/ML applications. ngrok SDKs can be
used to deliver cutting-edge applications and APIs built using these
languages.
"ngrok's expansion into JavaScript and Python SDKs is a
testament to our dedication to simplifying ingress for developers,"
said Alan Shreve, founder and CEO of ngrok. "With these new SDKs,
developers in these ecosystems can stop worrying about arcane networking
details and focus on the core business logic for their applications,
fostering faster innovation and smoother feature delivery. We are
committed to building SDKs for all major programming languages."
The
ngrok SDKs offer a native, programmatic mechanism to deliver apps and
APIs via ngrok's global network. In addition to the SDKs, developers can
also leverage ngrok as a stand-alone service, as an interactive CLI and
as a Kubernetes Ingress Controller.
Developers use ngrok to solve the following problems:
- Ingress to customer's developer environments:
Customers like Diagrid and Monday.com embed the ngrok SDK into their
own CLI to establish secure connectivity into end user's developer
environments. The SDKs enable them to deliver frictionless developer
experiences that allow their customers to more quickly prototype and
develop new integrations with their platform.
- Ingress to APIs in customer networks:
ngrok SDKs can be leveraged to securely access APIs running on software
in customers' environments. There is no need to struggle with
site-to-site VPNs, VPC peering, PrivateLink and firewall configurations
or develop bespoke configurations for each customer that prevent rapid
scaling. Enterprises like Databricks have used ngrok to accelerate
customer onboarding, reducing time to value from months to days.
- Ingress to APIs on devices running on external networks:
ngrok SDKs can be integrated into the software already running on IoT
devices. This standardizes network access so that enterprise cloud
services can connect to APIs on those devices to manage them at scale
even when they're not part of the corporate network. Enterprises can
also apply consistent security policies across their entire IoT fleet.
Visit the ngrok blog to learn more about ngrok SDKs for JavaScript and Python.