DEV Community

Cyril Sebastian
Cyril Sebastian

Posted on • Originally published at tech.cyrilsebastian.com on

Akamai Staging vs. Production: How to Set Up Environments Efficiently

Content Delivery Networks (CDNs) have become indispensable in modern web applications to ensure faster load times, enhanced security, and improved global performance. Among the leading CDN providers, Akamai stands out with its robust platform and mature features.

Image description

This article covers the basics of testing rules in a staging environment and deploying changes to the production environment after setting up rules in Akamai properties.

Why Use a CDN?

A CDN is a distributed network of servers that caches content closer to the end users. Here are the key reasons to use a CDN:

  • Reduced Latency : By serving requests from the nearest edge servers, CDNs significantly decrease load times.

  • Scalability : Seamlessly handles high traffic during peak usage by distributing the load.

  • Enhanced Security : Protects against DDoS attacks, provides Web Application Firewalls (WAF), and mitigates other security threats.

  • Cost Optimization : Reduces the burden on origin servers by caching static assets and efficiently managing traffic.

Best Practices for Routing Requests in Akamai.

When configuring Akamai, follow these best practices for optimal results:

  1. Use Appropriate Cache Keys : Ensure caching is configured for specific query strings, cookies, or headers to serve accurate content.

  2. Implement Cache Invalidation Policies : Use Akamais Content Purge to remove outdated content.

 akamai purge --edgerc ~/.edgerc --section default invalidate "www.example.com/path1" "www.example.com/path2"
Enter fullscreen mode Exit fullscreen mode
  1. Enable Gzip or Brotli Compression : Compress text-based assets (e.g., HTML, CSS, JS) to reduce bandwidth usage.

  2. Strategic Traffic Routing : Utilize geo-blocking and geo-routing to enhance performance and minimize latency by routing users to the nearest server.

  3. Monitor Cache Hit/Miss Ratios : Use the Akamais dashboard or logs to analyze and improve caching efficiency.

Setting Up Akamai Staging and Production Environments

Akamai allows testing configurations in a staging environment before deploying them live. Here's how to set it up:

1. Staging Environment Setup

The staging environment mimics production, ensuring safe testing. Follow these steps:

  1. Determine the Staging URL : Add the Akamai -staging suffix to your Edge Hostname:
example.com.edgesuite-staging.net
example.com.edgekey-staging.net
Enter fullscreen mode Exit fullscreen mode
  1. Perform DNS Lookup : Use dig commands to resolve IPv4 and IPv6 addresses from staging Edge Hostname:
dig +short example.com.edgesuite-staging.net  
dig +short example.com.edgesuite-staging.net AAAA
Enter fullscreen mode Exit fullscreen mode
  1. Update /etc/hosts: Map the resolved IP address to the staging URL. Prefer IPv6 if IPv4 causes issues:
2600:XXXX:X:X::XXXX:XXXX example.com.edgesuite-staging.net
Enter fullscreen mode Exit fullscreen mode
  1. Test Staging with curl: Confirm the request routes to Akamais staging servers:
 curl -vvv -L \ 
 -H 'User-Agent: Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15' \
 -H "Pragma: akamai-x-cache-on" -H "Pragma: akamai-x-check-cacheable" -H "x-akamai-internal: true" -H "Pragma: akamai-x-cache-remote-on" \ 
 -H "Pragma: akamai-x-get-cache-key" -H "Pragma: akamai-x-get-extracted-values" -H "Pragma: akamai-x-get-ssl-client-session-id" \
 -H "Pragma: akamai-x-get-true-cache-key" -H "Pragma: akamai-x-serial-no" -H "Pragma: akamai-x-get-request-id" -H "Pragma: X-Akamai-CacheTrack" \
 -I "https://example.com.edgesuite-staging.net"
Enter fullscreen mode Exit fullscreen mode

2. Verifying Akamai Requests

  • Response Headers : Check for Akamai-specific headers:

    • X-Cache: TCP_HIT (served from cache)
    • X-Cache: TCP_MISS (fetched from origin server)
    • X-Akamai-Staging: ESSL (indicates staging environment)
  • Browser Developer Tools :

    • Open DevTools (Ctrl+Shift+I or Cmd+Option+I).
    • Inspect response headers under the Network tab for Akamai-specific details.

3. Deploying to Production

Once testing is complete, promote the configuration to production via Akamai's property manager. Activating the changes ensures they are live without downtime.


Conclusion

Akamai's staging and production environments simplify the process of testing and deploying secure, high-performing web applications. By adhering to best practices like optimizing caching, compressing assets, and leveraging Akamai's robust tools, you can ensure your web application delivers a seamless experience to users globally.

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay