Today, we're excited to launch the Warrant Edge Agent! It's been a long time in the making, and we're finally ready to share more about it and roll it out to our customers.
What is it?
As a centralized, stand-alone service, engineering teams have consistently brought up the latency & reliability concerns of performing access checks with Warrant because it means adding a network request to the critical path of almost every request to their applications. While our globally distributed authorization service boasts both low-latency and high availability that meets most customers' demands, some teams have stricter requirements.
Enter the Warrant Edge Agent. The Edge Agent is a lightweight Go service that customers can deploy in their own infrastructure which functions as an in-network, local cache capable of responding to Warrant access check requests with single millisecond response times. Additionally, the Edge Agent can continue to respond to access check requests in the unlikely event that Warrant faces a service outage. The agent requires a backing datastore, with support for Redis already available and support for more datastores coming soon. It loads (and then caches) your latest access rules from the Warrant API and connects to
stream.warrant.dev to receive updates in real-time as your access rules change. All of our server-side SDKs can then be configured to send access check requests to an Edge Agent.
Since the Edge Agent is a service our customers will run in their own infrastructure, we've open-sourced the code for everyone to view and contribute to! You can check out the code here.
Who is it for?
We designed the Edge Agent as an optional component to supplement the core Warrant authorization service and provide improved latency and reliability. It's primarily intended for customers with strict operating requirements who want to minimize access check latency and improve relability by hosting the Edge Agent on their own infrastructure.
How can I use it?
To get started with the Edge Agent, sign up for a Warrant account to get an API key, and refer to our quickstart guide on Running the Edge Agent. Currently, the agent is deployable on Docker and Kubernetes, with support for more platforms coming soon. If you'd like to deploy the agent on an unsupported platform or see it support more functionality, submit an issue to let us know!
The Edge Agent is part of a larger effort to reduce the latency of access check requests made to the Warrant cloud service. We'll soon be rolling out an edge authorization service to a data center near you, so stay tuned!
Join us on Slack to discuss the Warrant Edge Agent and keep up with the latest on Warrant!