Granular OTA · Module Federation
Ship the part,not the whole app.
Module Federation splits your app into parts that load at runtime. Each team ships its part over the air, on its own schedule. The rest of the app does not change.
One app, many parts
illustrativev4.0v3.2 → v3.3v1.8v2.0v5.1Whole-app OTA vs. granular OTA
One team's change should not ship everyone's code.
Whole-app OTA
- Every change ships the full bundle
- One team's bug blocks every release
- Rollback reverts every team
blast radius = whole appEveryone waitsGranular OTA on Zephyr
- Each team ships its own part
- Other parts do not change
- Roll back one part on its own
blast radius = one partNobody waitsWhy teams use it
Small updates. Independent teams. Safe rollbacks.
Smaller updates
Users download the part that changed, not the whole app.
Teams ship on their own
Checkout ships Tuesday, search ships Friday. Nobody waits for a release train.
Roll back one part
Pin one part to its last good version. The rest of the app keeps its new versions.
How it works
Split once. Ship parts forever.
Expose parts of the app as remotes. The app shell loads them at runtime.
Zephyr versions every remote on every build.
Choose which version of each part runs where. Apps pick it up over the air.
Book a demo
Map your appinto parts in 30 minutes.
30 minutes with an engineer. We map which parts of your app can ship on their own, and show one part update live.
- Module Federation for web, mobile and desktop
- Per-part releases and rollbacks
- How it fits your team structure