DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

SBOMs are essential to circumventing software supply chain attacks, and they provide visibility into various software components.

Related

  • Optimizing Azure DevOps Pipelines With AI and Continuous Integration
  • Strategic Insights Into Azure DevOps: Balancing Advantages and Challenges
  • DevOps Nirvana: Mastering the Azure Pipeline To Unleash Agility
  • A Comprehensive Guide on Microsoft Azure DevOps Solutions

Trending

  • Rust: The Must-Adopt Language for Modern Software Development
  • *You* Can Shape Trend Reports: Join DZone's Data Engineering Research
  • How to Build a Real API Gateway With Spring Cloud Gateway and Eureka
  • Docker Model Runner: Running AI Models Locally Made Simple
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. DevOps Remediation Architecture for Azure CDN From Edgio

DevOps Remediation Architecture for Azure CDN From Edgio

The article explains how organizations particularly implement the migration from the retiring Azure CDN from Edgio to Azure Front Door.

By 
Karthik Bojja user avatar
Karthik Bojja
·
Jun. 30, 25 · Tutorial
Likes (1)
Comment
Save
Tweet
Share
1.5K Views

Join the DZone community and get the full member experience.

Join For Free

Some ongoing projects are currently leveraging Azure CDN from Edgio (formerly Verizon), which is officially being retired. Notably, the shutdown date has been moved up to January 7, 2025, meaning users must take action sooner than initially planned.

To understand the implications of this retirement, we recommend reviewing Microsoft’s official guidance in the article: Azure CDN from Edgio retirement FAQ

For detailed steps on how to transition, Microsoft provides guidance on migrating from Azure CDN (Edgio) to Azure Front Door, including architectural considerations and setup instructions.

Migration Strategy

A tactical recommendation on how we do this for all resources affected, one that assures we can do this on time with minimal application risk, is to set up an Azure Front Door profile with folders for each of the affected projects and set up frontend endpoints, backend pools, and routing rules for the subfolders.

Diagram of Azure Traffic Manager distributing traffic between Azure Front Door and Azure CDN from Edgio.


Challenges With Traditional CDN Implementations

In modern cloud-native architectures, content delivery and edge acceleration play a critical role in application performance, security, and scalability. Azure CDN from Edgio offers a robust edge platform capable of distributing static and dynamic content globally. However, enterprise implementations often suffer from challenges such as cache inconsistency, manual invalidation procedures, inconsistent edge rule deployments, and limited observability into edge behaviors. To address these challenges, a remediation architecture is proposed, aligning with DevOps and GitOps practices for seamless, repeatable, and automated content delivery lifecycle management.

The remediation architecture integrates Azure DevOps or GitHub Actions CI/CD pipelines with Edgio’s API and Azure CDN configuration management. Pipeline steps not only handle application and infrastructure deployments but also automate CDN configuration updates and cache purges based on code changes. This ensures that newly deployed assets or configuration changes are immediately reflected across all edge nodes without manual intervention.

Secure Automation and Observability

To manage security and consistency, CDN rule sets (such as custom header injection, redirect logic, and WAF policies) are stored as version-controlled configuration files. These are applied programmatically to the Edgio control plane using API-driven commands. Token secrets used for Edgio authentication are securely stored in Azure Key Vault and accessed by pipelines during deployment.

To eliminate cache drift and ensure fresh content delivery, cache invalidation commands are triggered post-deployment. This eliminates stale assets being served to end-users and supports zero-downtime deployments. Observability is enhanced by integrating Edgio’s real-time logs into Azure Monitor or Log Analytics. With this telemetry, DevOps teams can visualize cache hit ratios, latency distributions, edge error rates, and origin fetch frequencies. Alerting policies are configured to detect performance degradation or edge-side errors and notify responsible teams.

Consistency, Compliance, and Progressive Delivery

Security drift across environments is mitigated by defining header-based security policies and TLS configurations as code, and enforcing them across stages like dev, QA, and production. Additionally, integration with Azure Policy helps detect misconfigurations or compliance deviations.

This remediation architecture enables fast, safe deployments with automated edge updates, stronger security posture, and real-time monitoring. It allows development teams to focus on application logic while ensuring consistent, reliable content delivery through Azure CDN and Edgio. Furthermore, it supports advanced rollout strategies such as blue-green and canary deployments where cache and content behavior at the edge can be precisely managed and tested.

Architecture Summary and Automation Script

In enterprise-scale deployments, edge delivery and content acceleration are critical to ensuring low-latency access, high availability, and secure delivery of applications and assets. Azure CDN from Edgio extends DevOps capabilities by offloading origin infrastructure, caching dynamic/static content, and enforcing edge security policies close to the users.

However, misconfigurations, lack of observability, or missing CI/CD integrations can lead to inconsistent deployments, cache invalidation issues, and security drift. This recommendation addresses how to remediate such issues with a robust DevOps-first architecture that includes Azure-native and Edgio-specific controls.

The proposed remediation architecture integrates Azure DevOps (or GitHub Actions) with Azure CDN and Edgio APIs for secure, observable, and automated CDN lifecycle management.

Components:

  • Azure Front Door / Azure CDN (Edgio Standard/Premium SKU)
  • Azure DevOps Pipelines / GitHub Actions
  • Edgio Control Plane APIs
  • Azure Key Vault for secrets and token storage
  • Azure Application Gateway / API Management (optional)
  • Log Analytics / Azure Monitor / Edgio Real-Time Logging

In the interest of time, this script uses the Azure SDK for Python to create and configure an Azure Front Door profile. It sets up frontend endpoints, backend pools, and routing rules for subfolders /project1/* and /project2/*. You can customize the script by replacing placeholders like your_subscription_id, your_frontend_host_name, your_backend_address, your_resource_group_name, and your_front_door_name with your actual values.

Quick Setup Using Azure SDK for Python

Follow These Steps To  Migrate Azure CDN from Edgio to Azure Front Door:


Python
 
import argparse
from azure.identity import DefaultAzureCredential
from azure.mgmt.frontdoor import FrontDoorManagementClient

def create_front_door(subscription_id, resource_group_name, front_door_name, frontend_host_name, backend_address, project_folders):
    credential = DefaultAzureCredential()
    client = FrontDoorManagementClient(credential, subscription_id)

    # Define Front Door setup
    # (This is a simplified sample; please customize and validate before production use)

    print(f"Creating Front Door profile '{front_door_name}' for projects: {project_folders}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Set up Azure Front Door for multiple projects.")
    parser.add_argument("--subscription_id", required=True)
    parser.add_argument("--resource_group_name", required=True)
    parser.add_argument("--front_door_name", required=True)
    parser.add_argument("--frontend_host_name", required=True)
    parser.add_argument("--backend_address", required=True)
    parser.add_argument("--project_folders", nargs="+", required=True)

    args = parser.parse_args()

    create_front_door(
        args.subscription_id,
        args.resource_group_name,
        args.front_door_name,
        args.frontend_host_name,
        args.backend_address,
        args.project_folders,
    )


NOTE: Fair warning: I haven't tested the code but provided the code to test and validate. If you already have certain scripts to do the job, well and good.

After validation, the GBS Operations team can leverage this script to set up each affected project and provide the details to engineering teams.  Once the folders are created and the custom domain name is defined, the engineering teams can leverage the root of their project-specific folder to upload the CDN content via the deployment pipelines. 

NOTE: After completion of deployment, validation, and verification, clean up the older Edgio storage and CDN and delete the Custom domain used previously. I recommend using the new Custom Domain, just in Case we fail due to an issue, and reduce the risk. 

DNS cache update times are typically configured and can be anywhere from 60 seconds to 60 minutes.

For the Operations Team

Testing the Script

  1. Install Required Libraries:

    • Ensure you have the necessary Python libraries installed. You can install them using pip:
    • Run the Script: Python
  2. pip install azure-identity azure-mgmt-frontdoor
  3. Use the provided Python script to set up Azure Front Door with subfolders for different projects. You can pass the project folders as command-line arguments. For example:
  4. python setup_front_door.py \ --subscription_id your_subscription_id \ --resource_group_name your_resource_group_name \ --front_door_name your_front_door_name \ --frontend_host_name your_frontend_host_name \ --backend_address your_backend_address \  --project_folders project1 project2
  5. Verify the Setup:
  • Check the Azure portal to ensure that the Front Door profile, frontend endpoints, backend pools, and routing rules have been created correctly.

Setting Up Azure Front Door for Projects

  1. Create a CNAME DNS Record:

    • Create a CNAME record with your domain provider to point your custom domain name to the Front Door default frontend host. For example, if your custom domain is www.contoso.com, the CNAME record should point to contoso-frontend.azurefd.net.
  2. Map the Temporary and verify Subdomain:

    • Create a CNAME record for the temporary subdomain afdverify.<your-custom-domain> pointing to afdverify.<your-front-door-hostname>.
  3. Associate the Custom Domain with Your Front Door:

    • In the Azure portal, navigate to your Front Door profile. Under the "Frontend/domains" section, add your custom domain. Azure Front Door will verify the CNAME record and associate the custom domain with your Front Door.
  4. Configure HTTPS (Optional):

    • Enable HTTPS for your custom domain in the Azure portal. Azure Front Door provides options to use Azure-managed certificates or bring your own certificates.
    • For the Developers

      Updating the Pipeline

      1. Modify the Project Configuration File:

        • Update your project's configuration file to use the custom domain. For example, update the base URL or endpoint settings to reflect the new custom domain.
      2. Set Up DevOps Pipeline:

        • Use Azure DevOps to create a pipeline that automates the deployment process. The pipeline should include steps to deploy the Front Door configuration, update the project configuration file, and validate the setup.
      3. Run Pipeline
        You can trigger the pipeline manually using the Azure DevOps CLI or REST API. Example command using
        Azure DevOps CLI: az pipelines run --name "<pipeline-name>" --org "https://dev.azure.com/<organization>" --project "<project-name>"

Conclusion

By setting up Azure Front Door and integrating it into your deployment pipeline, you establish a scalable, secure, and globally distributed entry point for your applications. Automating this configuration using Azure DevOps not only streamlines deployments but also enhances operational consistency and resilience.

To maintain optimal performance and availability, it's essential to monitor DNS configurations, certificate renewals, and pipeline execution results regularly.

Content delivery network DevOps azure

Opinions expressed by DZone contributors are their own.

Related

  • Optimizing Azure DevOps Pipelines With AI and Continuous Integration
  • Strategic Insights Into Azure DevOps: Balancing Advantages and Challenges
  • DevOps Nirvana: Mastering the Azure Pipeline To Unleash Agility
  • A Comprehensive Guide on Microsoft Azure DevOps Solutions

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: