# 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.

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 Akamai’s Content Purge to remove outdated content.
    
    ```bash
    akamai purge --edgerc ~/.edgerc --section default invalidate "www.example.com/path1" "www.example.com/path2"
    ```
    
3. **Enable Gzip or Brotli Compression**: Compress text-based assets (e.g., HTML, CSS, JS) to reduce bandwidth usage.
    
4. **Strategic Traffic Routing**: Utilize geo-blocking and geo-routing to enhance performance and minimize latency by routing users to the nearest server.
    
5. **Monitor Cache Hit/Miss Ratios**: Use Akamai’s 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:
    
    ```bash
    example.com.edgesuite-staging.net
    example.com.edgekey-staging.net
    ```
    
2. **Perform DNS Lookup**: Use `dig` commands to resolve IPv4 and IPv6 addresses from staging Edge Hostname:
    
    ```bash
    dig +short example.com.edgesuite-staging.net  
    dig +short example.com.edgesuite-staging.net AAAA
    ```
    
3. **Update** `/etc/hosts`: Map the resolved IP address to the staging URL. Prefer IPv6 if IPv4 causes issues:
    
    ```bash
    2600:XXXX:X:X::XXXX:XXXX example.com.edgesuite-staging.net
    ```
    
4. **Test Staging with** `curl`: Confirm the request routes to Akamai’s staging servers:
    
    ```bash
    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"
    ```
    

#### **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.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1735201694214/ec2ae931-e202-4443-91b6-72a1ea0cae45.png align="center")

---

### **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.
