Serving MFEs through Cloudflare
Opened this issue · 1 comments
regisb commented
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
- A developer make changes to an MFE locally
- They push their changes to their fork to github/gitllab..etc
- They rebuild the tutor-mfe image with the latest changes pushed from step 2
- 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
- A Developer make changes to an MFE locally
- A developer push the changes to github/gitlab
- 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 - 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 commented
Cc @ghassanmas who first talked about this project at the Open edX 2023 conference during the DevOps meetup.