Introducing the Akamai EdgeWorkers Connector for Queue-it

Edge Connectors are increasingly popular because they are fast to integrate, simple to troubleshoot, and help to improve site performance. To bring these benefits to customers running on Akamai, Queue-it is happy to announce the new Akamai EdgeWorkers Connector.

Published:
Updated: 06 Oct 2021
Blue & orange balloon animal shapes

Use Case

Queue-it offers several ways to integrate our virtual waiting room, including client-side, server-side, and edge Connectors. Edge Connectors are increasingly popular with our customer base as they’ve seen the value of an added edge layer to execute code on. They can add functionality without touching their backend application servers.

Our customers like Queue-it’s edge Connectors because they are fast to integrate, simple to troubleshoot, and help to improve site performance. At Queue-it, we have been working closely with edge providers and spending resources to develop SDKs that give customers and prospects a seamless, easy integration.

Akamai is a world leader in edge computing, with more than a quarter of a million edge servers deployed around the globe. They’re trusted by the world’s largest brands to secure and deliver digital experiences. A Queue-it Connector with Akamai would bring many of our customers the benefits they know edge computing can deliver.

Solution

To bring the fast, simple, and secure benefits of edge Connectors to customers running on Akamai, Queue-it is happy to announce that all customers now have access to the new Akamai EdgeWorkers Connector. Now customers on Akamai can integrate Queue-it without changing any code on their backend application servers.

We worked closely with the Akamai edge computing team to make an integration into a reality, and we’ve already had several enterprise customers integrate via Akamai since the pre-launch in Spring 2021.

These customers were able to protect their backend servers by controlling traffic of 100,000+ requests per minute. Over 200 million visitors have been redirected to Queue-it’s servers from the Akamai edge Connector since its launch. And the Akamai Edge Connector has played an important role in helping governments and healthcare providers allocate COVID-19 vaccines in a fair, controlled manner.

The Akamai Connector is a piece of code that runs before the CDN/reverse proxy edge server forwards the request to the origin backend server, and after the backend has responded but before the response is sent to the website visitor.

The flow is as follows:

  1. Traffic hits the Akamai edge before it's served by the origin server.
  2. The Queue-it Connector intercepts the call and decides if the request should continue to the origin server or should be redirected to Queue-it’s virtual waiting room.
  3. If the visitor has not already been through the waiting room he/she will be redirected to Queue-it’s waiting room, offloading traffic to Queue-it’s infrastructure without straining the origin server.
  4. The visitor waits in the waiting room until it’s his/her turn.
  5. Legitimate traffic that’s been through the waiting room is recognized by the edge Connector and is allowed to proceed to the origin server.

Akamai’s EdgeWorkers framework offers several events where custom code can be executed to change the data flow. Our Akamai EdgeWorkers Connector uses two of these events: onClientRequest and onClientResponse.

During onClientRequest, the Queue-it Connector validates the HTTP request context (e.g. URL, cookie, headers) and determines if the visitor has already been through the waiting room. This validation occurs locally inside the edge worker and there is no communication with the Queue-it backend during this process.

If the worker determines the request needs to be protected and the visitor has not been through the waiting room, the onClientRequest will generate an HTTP 302 response to redirect the visitor to the Queue-it waiting room. Generating an HTTP 302 response during onClientRequest protects the origin server from having to field the request, freeing up performance resources.

The onClientResponse is used after the request hits your origin servers to update (extend) the cookie session validity in Queue-it. This ensures visitors browsing your site aren’t sent back to the waiting room if they’ve already been through the waiting room.

Queue-it Connector for Akamai onclientrequest and onclientresponse

How To

For complete documentation on the Akamai EdgeWorkers Connector for Queue-it, visit our GitHub repository.

At a high level, these are the steps to integrate with Akamai EdgeWorkers:

  1. Go to Queue-it’s GitHub repository and Download all js files plus bundle.json. Create a bundle and upload to the Akamai EdgeWorker manager.
  2. In the GO Platform, create your waiting room(s), triggers, and actions. Then, save/publish the configuration.
  3. Before deploying your bundle, you need to provide the integration config by manually downloading the integration config from GO and adding it into the EdgeWorker bundle
  4. Deploy the Queue-it EdgeWorker bundle in your Akamai account.
  5. In your Akamai Property, create a behavior for the URL/Hostname/Conditions where the edge worker will apply. Choose the Queue-it EdgeWorker you just created (make sure you are not executing the EdgeWorker for static resources).
  6. Deploy the updated Akamai Property configuration.
Akamai EdgeWorkers setup for Queue-it's virtual waiting room

Key Takeaway

If you use Akamai, make sure to consider the Akamai EdgeWorkers Connector for its many benefits: quick integration, simpler troubleshooting, improved performance, better availability, and enhanced security.

For more information on how you can enjoy the benefits of the Akamai EdgeWorkers Connector, visit the GitHub repository or contact your Queue-it support representative at support@queue-it.com.

Discover documentation for all of Queue-it’s Connectors