Google App Engine(GAE) è una piattaforma serverless per realizzare Web Application e Web Services altamente performanti e scalabili. Seppur sia un sistema completamente gestito, necessita comunque di opportune configurazioni avanzate per operare correttamente in quanto le applicazioni tradizionali o monoliche sviluppate senza usare una corretta suddivisione di Front End e Back End, sfruttando i Microservizi, ecc.. possono comunque affrontare problemi di performance come andiamo a descrivere nei prossimi paragrafi.
Contattaci subito e senza impegno per migrare su GAE la tua applicazione.
Come funziona Google App Engine ed un caso d’uso di un problema di performance
Ogni istanza di Google App Engine è di fatto un POD con diversi container applicativi, per es. un container contiene il proxy Cloud SQL, uno il Web Server Apache/Nginx ed uno il Web Server PHP ( App Engine per garantire la massima scalabilità rende disponibile PHP su container differenti da quello del Web Server). Per un approfondimento sulle architetture dei container puoi leggere i nostri articoli “Come funzionano i Container e Kubernetes” e “Kubernetes: i pattern di progettazione dei container e dei pod“.
Come abbiamo indicato GAE, scala automaticamente e pertanto ogni istanza ha un certo numero di container dedicati e fisso, normalmente proporzionale alla potenza di calcolo che abbiamo configurato. All’aumentare delle richieste aumentano il numero di istanze. Cosa può succedere?
Nell’ambito di un’applicazione monolitica ed in cui ad una richiesta ad un end point si avviano contemporaneamente, all’interno, numerose chiamate, GAE passa la chiamata al Web Server Apache che avvia simultaneamente il Web Server PHP. Se il nodo PHP è occupato perchè sta processando una lunga computazione non potrà rispondere ad ulteriori chiamate avviate all’inizio attraverso l’end point procurando rallentamenti e problemi di performance. Questo perchè App Engine nasce per operare a Micro Servizi quindi tante piccole cose in maniera immediata e non un’unica cosa in tempi lunghi. L’approccio tradizionale con Google App Engine fallisce.
Contattaci subito e senza impegno per risolvere problemi di performance applicativa.
La via d’uscita per i problemi di performance di Google App Engine
Google conosce questi limiti applicativi che affliggono ancora tanti software e per questo, quale configurazione avanzata, fornisce il tag –workers che permette di configurare a priori il numero di nodi PHP simultanei da attivare con l’istanza. Ma quale numero? Il numero dovrà essere uguale al parametro max_concurrent_requests.
Chiaramente questo è un palliativo, anche costoso per via del fatto che aumentare le performance in maniera non ottimizzata vuol dire aumentare i costi. Occorrerà ristrutturare l’applicazione per renderla fruibile con tecnologie moderne come Google App Engine.
Contattaci subito e senza impegno per assistenza e supporto.
Glue Labs e Google App Engine(GAE)
Utilizziamo GAE dalla sua nascita e ti supportiamo nell’amministrazione e gestione, nella sicurezza ed implementazione di Web Application, Web Services e Microservizi su Google App Engine e On premise. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo assistenza e supporto per qualsiasi progetto di sviluppo applicativo. Contattaci subito e senza impegno per maggiori informazioni.