Contents
Why CDN Clients are Migrating to Amazon CloudFront
Recent trends indicate that an increasing number of enterprises are opting to migrate from Content Delivery Network (CDN) providers such as Akamai, Cloudflare, Fastly, etc. to the low latency and high transfer speeds of Amazon CloudFront on AWS for four primary reasons:
- Competitive on-demand pricing: As part of the AWS Free Usage Tier, AWS users can get started with CloudFront at no cost. Companies willing to make long-term commitments can save 30 percent or more on charges subsequent to the free tier.
- Performance gain: CloudFront leverages a global network of data centers called edge locations to provide low-latency content delivery by caching data closer to end users.
- Integrated Security: The usage of globally-distributed edge locations to deliver content reduces the effectiveness of cybersecurity attacks. If one edge location is under attack, CloudFront can redirect traffic to other nearby locations to handle the load. CloudFront is also natively integrated with AWS Shield Standard which provides protection against DDoS attacks at no additional charge. Users can also subscribe to AWS Shield Advanced to customize application protection through integrations with Shield Response Team (SRT) or AWS Web Application Firewall (WAF).
- Deeper integration into the AWS environment: CloudFront allows companies to centralize their configuration and deployment, and take advantage of the broader array of service capabilities available in AWS.
Although the advantages are clear, there are often many questions on how best to embark on the migration process. TrackIt has the experience and expertise in CloudFront migrations to assist in planning a migration from a legacy CDN as well as provide integration and deployment resources for execution.
Planning the Migration
For most well-executed CDN migrations, the majority of the work is done during the planning stage. This critical step of the migration process should be thoroughly and rigorously conducted to avoid complications and setbacks during and after the execution.
The planning process can be broken down into the following steps:
Step #1: Discovery sessions to review existing installations and to ensure that all processes are understood and documented.
Step #2: Assessment of which processes are actual requirements and which are legacy or unused processes from the previous installation.
Step #3: Assessment of the feasibility of migrating the needed processes to CloudFront. Some processes may need to be re-engineered or abridged.
Step #4: Creation of a migration plan that details and provides a timeline for all of the processes to be migrated.
Executing the Migration — Guidelines
With a completed comprehensive migration plan, including detailed action items and their order of execution, the migration becomes a straightforward process.
- Prioritize the use of Infrastructure as Code (IaC) tools and avoid manual edits. Ideally, deployments should be done using a tool like Terraform or AWS CloudFormation.
- Design the configuration for easy replication so that dev/staging environments can be set up with minimal friction.
- The complexity of the IaC configuration should be tailored for the types of users who will be expected to update it. It is common for developers to modify the CDN configuration and this should be facilitated as easily as possible.
- Automate the production deployment process where possible. Ideally, it should only be deployed by a CI/CD pipeline hooked to the configuration’s repository. Automated deployments are deterministic, repeatable, and can be rolled back easily in case of issues.
- When developing Edge Functions (CloudFront Functions or Lambda@Edge) be wary of the quantity of logs generated. Logs are useful and often necessary for development. However, since log-related costs are linked to the number of requests, expenses can grow very quickly if left in production.
- Consolidate monitoring metrics into one dashboard. For multiple AWS services (such as AWS Web Application Firewall, Lambda@Edge, etc), setting up a centralized monitoring dashboard through Amazon CloudWatch is key to overseeing your infrastructure.
- Export key statistics from the existing CDN provider. Make a copy of key metrics from the CDN setup, namely the number of requests/day, traffic/day, origin latency (ex: ttfb), cache hit ratio, median 4xx/5xx error percentage, etc. These statistics will help evaluate the performance of the CloudFront configuration after the migration and will enable the quantifying of any regression/growth.
Conclusion
A migration to CloudFront requires thorough and careful planning. To ensure a smooth transition, DevOps teams work closely with clients to thoroughly understand the exact configurations that need to be migrated. The steps and guidelines discussed in this article serve as a firm foundation for organizations to start planning their CloudFront migrations.
About TrackIt
TrackIt is an international AWS cloud consulting, systems integration, and software development firm headquartered in Marina del Rey, CA.
We have built our reputation on helping media companies architect and implement cost-effective, reliable, and scalable Media & Entertainment workflows in the cloud. These include streaming and on-demand video solutions, media asset management, and archiving, incorporating the latest AI technology to build bespoke media solutions tailored to customer requirements.
Cloud-native software development is at the foundation of what we do. We specialize in Application Modernization, Containerization, Infrastructure as Code and event-driven serverless architectures by leveraging the latest AWS services. Along with our Managed Services offerings which provide 24/7 cloud infrastructure maintenance and support, we are able to provide complete solutions for the media industry.