Migration and modernization with Amazon CloudFront (CDN305)

Migration and Modernization of Web Workloads with Amazon CloudFront

Key Takeaways

  1. CloudFront can be used as a reverse proxy for dynamic content acceleration, providing benefits beyond just caching.
  2. Using CloudFront can improve performance, availability, and security posture for public-facing endpoints.
  3. When migrating to the cloud, it's important to build experience with cloud-native services like CloudFront in parallel with lift-and-shift efforts.
  4. Testing, measuring, and adapting is crucial when migrating to CloudFront, as there may be unexpected challenges that emerge.
  5. CloudFront can also enable modernization of web applications beyond just migration, through capabilities like routing and edge computing.

Booking.com's Journey with CloudFront

  1. From Hardware Appliances to Distributed Load Balancing: Booking.com started with hardware load balancers, then built their own distributed load balancing solution using open-source tools.
  2. Adopting CloudFront as an Edge Solution: As Booking.com's global footprint grew, they evaluated various options and ultimately chose to adopt CloudFront as their edge solution, citing benefits like performance, reliability, security, and operational simplicity.
  3. Building the Foundation: Before migrating production workloads, Booking.com focused on establishing the necessary foundations:
    • Observability: Implementing logging, real-time monitoring, and performance metrics.
    • Security: Securing the communication between CloudFront and their origins, as well as between end-users and CloudFront.
    • Measurement: Conducting experiments to quantify the performance improvements of using CloudFront.
  4. Migrating Workloads with Gradual Rollout: Booking.com used Route 53 weighted routing policies to gradually migrate traffic to CloudFront, starting with a 1% canary and incrementally increasing.
  5. Leveraging CloudFront Features for Modernization: After the migration, Booking.com explored using CloudFront features like Lambda@Edge and CloudFront Functions to centralize common application logic and improve their overall architecture.

CloudFront Capabilities and Optimizations

  • Protocol Optimizations: CloudFront automatically manages protocol upgrades (HTTP/2, HTTP/3, WebSocket, gRPC) to provide the best experience.
  • TCP Optimizations: CloudFront applies various TCP optimizations, such as TCP Fast Open and session resumption, to improve connection performance.
  • Backbone Network: CloudFront utilizes AWS's privately managed backbone network to optimize routing and avoid the inconsistencies of the public internet.
  • Security and Protection: CloudFront provides built-in security features, such as DDoS protection, WAF integration, and SSL/TLS termination.
  • Edge Computing: CloudFront Functions and Lambda@Edge enable executing custom logic at the edge, closer to end-users.

Lessons Learned

  • Expect the unexpected: Even with thorough planning, there may be unexpected challenges that emerge during the migration process.
  • Test, measure, and adapt: Start small with a canary deployment, measure the impact, and gradually increase the migration as you validate the changes.
  • Leverage CloudFront features for modernization: In addition to migration, CloudFront can enable architectural modernization through capabilities like routing and edge computing.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.

Talk to us