I’m looking for help designing the architecture for a website migration to a headless platform.
I’m migrating from a monolithic Drupal architecture to a headless CMS. As part of this migration, the redirects stored in Drupal need to be moved elsewhere.
Since it’s a content-heavy website, I’m taking a staged approach to releasing sections one at a time.
Here is the current plan:
- A user requests a page, e.g.
/test-page
. - CloudFront with Lambda@Edge is used to first check for an Optimizely feature flag.
- If the flag is “on” and the URI exists in a list of page URIs for that section, the user is forwarded to the new website.
- Otherwise, the user continues their journey to Drupal.
The new proposed architecture, including handling redirects, is as follows:
- CloudFront’s default
(*)
behavior is used to funnel all traffic. - A user requests a page, e.g.
/test-page
. - A CloudFront function checks if the URI is in the redirects list and handles it accordingly.
- If not redirected, the request continues to the Lambda@Edge function as described above.
My concerns with this approach are that heavy traffic loads could be problematic for the new setup, or that I might be overlooking a simpler solution.
Any advice or suggestions would be greatly appreciated.