Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serving MFEs through Cloudflare #14

Open
regisb opened this issue Apr 3, 2023 · 1 comment
Open

Serving MFEs through Cloudflare #14

regisb opened this issue Apr 3, 2023 · 1 comment

Comments

@regisb
Copy link
Contributor

regisb commented Apr 3, 2023

Doing repetitive changes to an MFE and then view those changes on a production deployment might take long time, I envision typically it might be something like this:

(A) Without Cloudflare or alternative

  1. A developer make changes to an MFE locally
  2. They push their changes to their fork to github/gitllab..etc
  3. They rebuild the tutor-mfe image with the latest changes pushed from step 2
  4. They check the changes on their instance
    5.Repeat until goals are met

(B) With Cloudflare or alternative

However if using cloudflare or an alternative service the steps might be reduce to be

  1. A Developer make changes to an MFE locally
  2. A developer push the changes to github/gitlab
  3. Cloudflare build the changes (i.e. developer open PR from step 2) an cloudflare build it
    a. This shouldn't has to be the production URL, i.e. we can review the changes without/before applying them to production
  4. Someone review the changes if it's okay, then merge it if not repeat

Conclusion:

The core difference between A and B, is that we didn't need to:

  • Rebuild the tutor-mfe images (which can have many MFEs)
  • We didn't need to interact the tutor infrastructure in order to do rapid review of changes

Challenges;

  • DNS record, if the LMS/CMS DNS record is handled via cloudflare or other provider
    • It possible to use cloudflare in either case just need to have detailed docs instruction for each case.
  • Security: Recall step B-a above, where cloudflare create a specific link to the build, we would need to allow LMS to accept it as a domain.
@regisb
Copy link
Contributor Author

regisb commented Apr 3, 2023

Cc @ghassanmas who first talked about this project at the Open edX 2023 conference during the DevOps meetup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

1 participant