SureRoute
SureRoute is a core feature of Akamai's Content Delivery Network (CDN). It tests multiple routes between Akamai edge servers and your origin server to identify an optimal path for performance and establish alternative routes in cases of potential request failures. With SureRoute, requests from edge servers to your origin server are less prone to risks outside your and Akamai's control, such as damage to internet communication lines or congestion.
Akamai determines the best route to your origin server by periodically performing "races". Races are triggered by a request from an end-user for any non-cacheable content. After the end-user receives the content, SureRoute forwards a separate race request through three available routes simultaneously from the edge server to your origin server to retrieve a special SureRoute Test Object (SRTO). SureRoute notes the best-performing route and designates it as the primary route for future requests until the next race is conducted. These races allow SureRoute to quickly react to changes in the Internet. You can configure the frequency of the races as appropriate.
Set it up for Performance
Here are some key points to consider when adding SureRoute:
-
The SureRoute behavior should typically be in the same rule as the Origin Server behavior as it needs to read from it to find your origin server. For example, most delivery products include the Origin Server behavior in the Default Rule, so it applies to all requests. if this is the case with your property, add the SureRoute behavior to the Default Rule, too. If you have multiple Origin Server behaviors defined in your property, work with your Akamai representative to determine the best way to implement SureRoute.
-
Race requests for SRTO use the same origin attributes, such as certificates or ports, as non-SRTO requests. SureRoute's race request appears to your origin server as a regular request for content.
-
Requests for cacheable content don't trigger SureRoute races, as cacheable content is typically served directly from the Akamai edge server. This would be the case if you've included the Caching behavior in your property and set it to
no-store
orbypass-cache
. -
Race requests to fetch SRTO cause a small increase in origin traffic. This increase is offset by the performance improvement you should see.
-
The Performance optimization type is available for selected Akamai products. If you want it but don't find it available for your property, talk to your Akamai account team.
Implementation
Set up the SureRoute Test Object on your origin server
-
Download the SureRoute Test Object (SRTO) zip file. You may need to provide login credentials for Akamai Control Center to do this.
-
Extract the
/SRTO_SLA_test_files
directory. Thesureroute-test-object.html
file stores the SRTO that is up to 11KB in size.
- Copy the
/SRTO_SLA_test_files
directory to your origin server. Make note of the complete path to the SRTO, for example:
/<path on your origin>/SRTO_SLA_test_files/sureroute-test-object.html
- Make sure the requests for the SRTO don't require authentication.
- In your web server or load balancer, make sure the requests for the SRTO return it immediately, without any additional application functionality.
SureRoute is designed to measure the performance of the network route between the edge servers and your origin server. It shouldn't contact your database or do other back-end processing.
Set up the SureRoute behavior in Property Manager
- In the SureRoute behavior in your property, set Enable to On.
- Set Optimization Type to Performance.
- In the SureRoute Test Object field, enter the full path you noted when you set up the SureRoute Test Object on your origin server.
- Set the other options here as desired:
-
Forward HOST Header. This lets you specify the Forward HOST header to use with SureRoute:
-
Same as incoming HOST header. Select this if you just want to use the standard Forward Host Header you've set for your Origin Server.
-
Custom. You can set up a unique forward Host header for all races performed for any of the hostnames that are subject to this instance of the SureRoute behavior. Make sure your SureRoute custom Host header is also present either in the property where you set up the Sure Route behavior or in another property. If you use a SureRoute custom Host header that's not mentioned in any of your Akamai properties, races won't be triggered.
-
-
Cache Life for Race Results. This is the time to live (TTL) for race results. Once the best route is determined after the race, that route is used for this length of time.
-
Force SSL Protocol for Races. Add HTTPS secure transfer when races are performed to determine the best route. If your origin only supports HTTPS traffic, make sure this is set to On.
-
Race Result Key. This lets you select where you want to store race results:
-
Race destination (default). This stores the race data using the Origin Hostname set for your Origin Server.
-
Custom. Typically, this is used when a single property has multiple origin hostnames in a single data center. By default, a separate race would be run for each origin. Overriding the race results hostname folds those multiple hostnames into a single hostname and therefore only one race.
-
- Verify that your origin server responds to requests for the SRTO with a HTTP 200 OK response.
Set SureRoute up with a Custom map
You can set the Optimization Type to Custom map. Rather than using three available routes to determine which is best, a specific map of routes is used. This is reserved for special services that need to be implemented by Akamai Professional Services. If you have one of these special services on your contract and received a custom map from Akamai, select Custom map and enter it into the field provided.
SureRoute and Tiered Distribution
Tiered Distribution helps speed up the delivery of cacheable content, while SureRoute is intended for non-cacheable content. If you've included both in your property—specifically in the same rule, or in a rule that would be applied to the same request—they won't conflict. Each will be used to identify its appropriate form of content and help speed up access to it.
Custom SureRoute test objects
As described earlier, Akamai provides you with a properly-configured SRTO for download. However, you can create your own SRTO on your origin server. The SRTO needs to meet the following requirements:
- It needs to reside on the same origin server hostname as the traffic being served through SureRoute.
If you have multiple origin servers behind a load balancer, you can either configure the load balancer to serve the SureRoute test object directly on behalf of the origin, or you can have requests for the test object go to the same origin server to avoid deploying the test object on every origin server.
-
It needs to return an HTTP 200 OK response and not require authentication.
-
It should be a static text file in the size range from 8KB to 56KB. The recommended content type is text/html, but you can also use others like CSS, JS, or WOFF.
-
It shouldn't contact a database or do other back-end processing.
Updated 7 months ago