Scalare il server Parse

scaling_parse_server

Nel 2020 sono passati più di 4 anni da quando Facebook ha deciso di rilasciare la versione open-source di Parse. Durante questo periodo sono state rilasciate molte nuove funzionalità e la comunità di sostenitori è più grande che mai. Siamo orgogliosi del numero di utenti di Parse.com che hanno deciso di affidarsi alla piattaforma Parse Server di Back4App. Vogliamo condividere con la comunità alcune delle lezioni che abbiamo imparato dall’inizio di questo viaggio.

Scalare Parse è stato un problema per molti utenti di Parse e noi sveleremo i segreti di come scalare Parse.

Parse Server è stato lanciato come versione open source di Parse.com, ma si è dimostrato una risorsa preziosa in molti altri modi. Fornisce un eccellente framework NodeJS per costruire e scalare le vostre app. La scalabilità delle app in questione è di tipo maggiore: in Back4App abbiamo scalato alcune app fino a 10.000 Req/s (circa 80.000 utenti simultanei). Tutto questo è possibile mantenendo il controllo totale del backend ed evitando i blocchi e le limitazioni che caratterizzano le soluzioni Black Box.

Questa esperienza dimostra come Parse Server possa scalare molto di più dei 600 req/s annunciati da Parse.com nella sua pagina dei prezzi (vedi sotto), ben oltre i limiti imposti da altri backend black box. Una serie di caratteristiche preziose assicurano che Parse Server sia la migliore opzione per la scalabilità delle applicazioni. Vorrei sottolineare alcuni degli elementi più importanti.

parserequests

1 – Scalabilità senza grandi interventi di reingegnerizzazione

Flessibilità nell’aggiungere nuovi moduli: Quando la vostra applicazione cresce, avete bisogno di nuove funzionalità per mantenere gli utenti impegnati, o anche per migliorare l’acquisizione, e a volte una piattaforma backend completa potrebbe non essere disponibile. Poiché Parse Server è una soluzione open source, consente di installare una serie di moduli npm (NodeJS) e di integrare nuove API per accedere a funzionalità più avanzate.

Scalabilità verticale e orizzontale: Parse Server è progettato per supportare il ridimensionamento orizzontale senza problemi, ad esempio per condividere uno stato tra le istanze. È possibile creare semplicemente nuove istanze di Parse Server identiche per condividere l’elaborazione delle richieste dell’applicazione. Questo vi aiuta a trovare il miglior equilibrio tra lo scaling verticale, che aumenta solo le configurazioni della macchina, e lo scaling orizzontale, che ottimizza le prestazioni e i costi. Ad esempio, si può iniziare con un’istanza di Parse Server su una singola macchina e scalare verticalmente su una piattaforma cloud monitorando costantemente costi e prestazioni. Non appena la vostra applicazione cresce, potete creare una copia di questi server e aggiungere un bilanciatore di carico per distribuire meglio le richieste.

Eseguite la vostra applicazione in un’infrastruttura a prova di errore

Le ridondanze sono importanti quando si inizia a scalare la propria applicazione. L’ultima cosa che volete è che il vostro server si guasti con una grande quantità di utenti. Assicuratevi di utilizzare la seguente struttura non appena iniziate a scalare la vostra applicazione.

  • Bilanciatore di carico
  • Auto-scaling per i server delle applicazioni (minimo due)
  • Set di repliche per i server di database (due server + un arbitro).

mbaas architecture

Ottimizzare le prestazioni delle query: È possibile utilizzare le richieste personalizzate di Parse Server per ottenere le migliori prestazioni per ogni tipo di applicazione.

horizontal_scaling_parse

2-Lo stack di Parse Server è solido

A prima vista può sembrare una sfida, ma la scalabilità è davvero impressionante. Anche se Javascript è a thread singolo, Node può sfruttare più core utilizzando il modulo cluster, che consente allo sviluppatore di creare una rete di processi con porte condivise. Per scalare su più macchine, lo sviluppatore può usare nginx per bilanciare il carico delle richieste ricevute su più istanze di Parse Server. Inoltre, l’autenticazione del sito di Node può essere eseguita in modo efficiente utilizzando la libreria connect-auth. Questo processo evita alcuni dei comuni errori di sviluppo e la velocità è un altro grande vantaggio.

3-Dispiegare Parse Server ovunque

È possibile installare Parse Server su server di propria scelta. Questo vi permette di evitare problemi come la latenza e di utilizzare l’infrastruttura migliore per le vostre esigenze. Se avete le competenze necessarie, potete costruire la vostra infrastruttura ottimizzata per la vostra applicazione e ospitare Parse Server. Si può anche optare per una soluzione cloud, se si ritiene che le prestazioni siano migliori.

È possibile distribuire Parse in tutti i principali cloud disponibili sul mercato. Alcuni esempi sono AWS, Google Cloud, Digital Ocean o Azure. Se si preferisce un servizio gestito e specializzato, si può scegliere Back4app.

Concludiamo che il modello open source è la chiave del successo di Parse Server. Questo modello garantisce che si possa fare tutto ciò che si vuole con il framework non appena si scala la propria applicazione. Questo spiega perché Parse Server è diventato il framework open source più popolare per la creazione di backend di app. Attualmente, il repository git conta più di 26000 stargazer e la comunità comprende più di 100.000k sviluppatori.

Vi è piaciuto questo post? Iscrivetevi GRATUITAMENTE a Back4App.

Come scalare Parse Server?

Per ottenere i massimi livelli di prestazioni con app Parse di grandi dimensioni, ti preghiamo di:
Ottimizzare le query per le prestazioni;
Eseguire l’app in una struttura a prova di errore e ridondante;
Aggiungere ampiamente moduli NPM

Quanto può essere grande un’app Parse?

In Back4app, abbiamo già portato le app a superare le 10.000 richieste al secondo. Quindi, con un’infrastruttura adeguata, le app possono crescere notevolmente.

Dove posso distribuire Parse?

Puoi distribuire Parse su servizi di hosting Parse specializzati come Back4app o in qualsiasi cloud come AWS, Azure, Alibaba, Google Cloud o Digital Ocean.


Leave a reply

Your email address will not be published.