Mikä on Backend Frontendille
Erillinen backend jokaiselle frontendille
BFF (Backend for Frontend)
Backend for Frontend — arkkitehtuurimalli, jossa jokaiselle asiakastyypille (web, mobiilisovellus, IoT) luodaan erillinen backend-kerros.
Miksi BFF tarvitaan
| Ongelma ilman BFF:ää | Ratkaisu BFF:llä | |----------------------|------------------| | Yksi API kaikille asiakkaille | Optimoitu API jokaiselle asiakkaalle | | Liikaa dataa vastauksissa | Vain tarvittavat kentät tietylle UI:lle | | Monimutkainen logiikka asiakkaalla | Datan aggregointi palvelimella | | Hidas lataus mobiilissa | Minimoidut pyynnöt ja data |
Arkkitehtuuri
[Web-App] → [Web BFF] ↘
→ [Mikropalvelut]
[Mobiili-App] → [Mobiili BFF] ↗
Milloin käyttää
- Erilaiset asiakkaat — web, iOS, Android eri tarpeilla
- Mikropalveluarkkitehtuuri — monta palvelua aggregoitavana
- Suorituskyvyn optimointi — datan minimointi mobiilille
- Itsenäiset tiimit — erilliset frontend- ja backend-tiimit
Edut
- Optimointi jokaiselle asiakastyypille
- Itsenäinen käyttöönotto
- Muutosten eristäminen
- Yksinkertaistettu asiakaskoodi
Haitat
- Logiikan duplikointi BFF:ien välillä
- Palveluiden määrän kasvu
- Muutosten synkronoinnin monimutkaisuus