Quali sono gli svantaggi dell'utilizzo di servizi come Firebase rispetto alla scrittura del proprio back-end?

1

Sto cercando di creare un'applicazione mobile (Android / iOS) e l'app richiederà molte operazioni di back-end.

Dopo aver fatto alcune ricerche, ho notato che molti sviluppatori consigliavano di utilizzare i servizi MBaaS solo se le operazioni di back-end sono molto semplici dal momento che ho poca esperienza nell'uso di questi strumenti ho avuto difficoltà a capire perché hanno fatto tali raccomandazioni.

Le mie domande sono:

  1. Quali sono i limiti dell'utilizzo di un servizio come firebase ?
  2. Perché le grandi aziende scelgono di creare i propri back-end e le proprie API invece di utilizzare i servizi MBaaS?
  3. Qualcuno può darmi un esempio di qualcosa che può essere fatto costruendo il proprio back-end che non può essere fatto usando un servizio come Firebase?
posta Abc254 10.07.2017 - 09:55
fonte

3 risposte

1

Penso che puoi abbattere i lati negativi generalmente in 3 categorie

  1. Costo. A scala, le macchine nel tuo datacenter saranno generalmente molto più economiche da eseguire.

  2. La fiducia / rischio. Avere un'altra terza parte nella catena presenta vari rischi.

    • E se falliscono?
    • Cosa succede se le leggi sulla protezione dei dati delle giurisdizioni non sono compatibili con le nostre?
    • Stanno monetizzando i nostri dati?
    • Siamo collegati ai loro servizi?
  3. Compatibilità con l'infrastruttura esistente. È probabile che una grande azienda disponga già di un'infrastruttura IT esistente.

    • Il back-end ospitato può interrogare il nostro cliente sul sito db per restituire un risultato?
    • Il nostro strumento di segnalazione in loco può combinare dati in loco e ospitati per la segnalazione?

Ovviamente per una piccola azienda, con un servizio a basso volume che non deve spendere il capitale iniziale per costruire il proprio datacenter è un vantaggio enorme.

Ma man mano che ridimensiona, questi altri aspetti diventano più importanti per te.

In termini di cose che letteralmente non puoi fare. Beh, immagino ci siano alcune cose tecniche in cui hai bisogno di cose in loco. Supponiamo che tu abbia hardware specifico. Una stampante per biglietti, una stampante 3D ecc.

Ma è più probabile che si tratti di una restrizione contrattuale o legale.

Quando firmammo il cliente X, promettemmo di mantenere i nostri dati nel nostro centro dati revisionato / cancellarlo dopo un periodo di X giorni ecc.

La nuova legge sulla protezione dei dati dell'UE afferma che non possiamo inserire questi dati sui server russi senza l'accordo di ciascun utente.

    
risposta data 10.07.2017 - 11:12
fonte
0

What are the limitations of using a service like firebase?

L'implementazione delle proprie soluzioni personalizzate su un servizio può diventare molto ingombrante e creare soluzioni su misura per esigenze specifiche. Potrebbe costringerti ad aderire ad alcuni dei loro dati, eseguendo un sacco di manipolazione dei dati, accettando le loro regole di business e così via.

Why do large companies choose to build their own back ends and APIs instead of using MBaaS services?

Perché aumenta la capacità di creare soluzioni personalizzate di cui sopra in aggiunta al fatto che si ha un migliore controllo e proprietà dei dati (quest'ultimo è tipicamente un aspetto molto importante per le aziende in generale). Non sei vincolato da partner esterni ma dalla tua capacità di fornire (che per il record potrebbe non essere migliore del servizio).

Can someone please give me an example of something that can be done by building your own back end that cannot be done using a service like Firebase?

Non proprio, tutto dipende da ciò che cerchi di ottenere e da ciò che offre il servizio. Non ho mai usato Firebase ma il loro elenco di funzioni sembra piuttosto buono.

Questa è più una di quelle situazioni in cui il diavolo si trova nei dettagli. Se vuoi tenere traccia di un evento specifico in un modo molto specifico in un momento specifico, potresti essere molto limitato usando Firebase. Se hai bisogno di un accesso diretto a tutti i dati per poter eseguire query pesanti, lavori o eseguire analisi su di esso, potresti scoprire che in realtà devi recuperare i dati da Firebase per farlo. La capacità di adattare la consegna dei contenuti potrebbe essere gravemente ostacolata, affermando che si desidera memorizzare nella cache qualcosa per un tempo specifico sul lato client attraverso le intestazioni di Cache-Control, ma non lo forniscono. Potrebbe non essere possibile creare il proprio livello cache usando qualcosa come Memcached o Redis.

Come azienda, questi tipi di azioni e soluzioni diventano in genere più importanti.

Non sto dicendo che Firebase non è in grado di fare queste cose, ma più approfondisce quanto più uno è tipicamente limitato dal servizio. Ciò significa che questi servizi sono in genere eccellenti se non si conosce abbastanza su come costruire qualcosa di più adatto alla propria applicazione, si accerti di fornire esattamente ciò di cui si ha bisogno o semplicemente non si cura abbastanza di queste cose e vogliono solo per ottenere qualcosa attivo e funzionante.

    
risposta data 10.07.2017 - 11:21
fonte
0

What are the limitations of using a service like firebase?

Firebase utilizza un database non SQL

Sebbene ciò abbia vantaggi in termini di ridimensionamento, presenta degli svantaggi se si gestiscono grandi quantità di dati altamente strutturati. Con un database relazionale regolare puoi scrivere query potenti in SQL per ottenere rapidamente i dati che cerchi - non c'è equivalente con Firebase. Inoltre, è possibile utilizzare un ORM per semplificare ulteriormente la gestione dei dati.

Why do large companies choose to build their own back ends and APIs instead of using MBaaS services?

Al momento ci sono due tendenze divergenti nello sviluppo mobile. La più comune è la strategia di approccio mobile-first. Costruisci un sito web sulla pagina di destinazione e poi costruisci un prodotto in iOS, se si rivolge al mercato degli Stati Uniti o Android, se si rivolge al mercato europeo. Quindi, si spinge una singola versione e si sviluppa per altri mercati lungo la linea.

L'altra tendenza è l'approccio API-first, in cui il costrutto sottostante - l'interfaccia di programmazione dell'applicazione (API) - è costruito per primo. Questa strategia consente di costruire il sito Web e le app su varie piattaforme in base alle stesse condizioni di base. Se il tuo unico target di riferimento sono gli utenti iOS, forse una strategia mobile-first funziona per te. Tuttavia, il lato negativo è che questo ostacola lo sviluppo rapido per il pubblico futuro, inclusi Windows, BlackBerry, Android e un'app Web per gli utenti non mobili.

dovresti leggere questo - link

    
risposta data 30.07.2017 - 10:42
fonte

Leggi altre domande sui tag