L’aggiunta dello scaling orizzontale automatico alla piattaforma di Hosting di Applicazioni di Kinsta rende più semplice fornire esattamente la potenza di cui la vostra applicazione ha bisogno per soddisfare le mutevoli richieste di risorse del server.

Il ridimensionamento orizzontale – l’aggiunta o la rimozione di istanze di pod che eseguono il processo web dell’applicazione – può ora essere configurato per attivarsi automaticamente in base all’utilizzo della CPU. Questo può aiutare la vostra applicazione a crescere per gestire carichi pesanti o a ridimensionare la potenza e i costi quando la domanda è minore.

Giuseppe Silletti, Tech Lead di un team di sviluppatori di Hosting di Applicazioni e Hosting di Database di Kinsta, afferma che la variabilità della domanda di risorse del server è comune nelle applicazioni web.

“Immaginate che una piattaforma di e-commerce subisca un’improvvisa impennata di traffico a causa di una vendita flash”, spiega Silletti. “Migliaia di utenti accedono simultaneamente al sito per sfogliare i prodotti, aggiungere articoli al carrello e procedere al pagamento. L’improvviso afflusso di traffico aumenta l’utilizzo della CPU e della memoria del server web. L’utilizzo della CPU raggiunge l’85%, ben oltre i livelli normali. L’attuale numero di istanze del server web non è sufficiente a gestire questo aumento di carico, con conseguenti ritardi nei tempi di risposta e potenziali timeout.”

“In questo caso, la scalabilità orizzontale diventa essenziale”, spiega. “Monitorando metriche come l’utilizzo della CPU, vengono attivate istanze aggiuntive del server web per distribuire il carico di traffico in entrata, assicurando che l’esperienza dell’utente rimanga fluida e reattiva.”

Abilitazione dello scaling orizzontale automatico

Quando configurate le applicazioni sulla piattaforma Kinsta, potete specificare i requisiti di CPU e memoria dei pod Kubernetes per i processi dei servizi web, dei background worker e dei cron job. Potete anche scegliere manualmente quante istanze di ogni pod sono necessarie.

Quando si specificano le risorse per un servizio web, la nuova opzione scaling automatico permette di definire un numero minimo e massimo di pod (da 1 a 10) per il processo.

Screenshot: Configurazione dello scaling automatico nella dashboard di MyKinsta.
Scaling automatico: Scegliere il numero minimo e massimo di istanze pod.

“Aumentare le dimensioni dei pod – il vertical scaling – significa aumentare la CPU, la memoria e le altre risorse allocate a ciascun pod esistente”, spiega Silletti. “È un modo rapido per migliorare le prestazioni, ma ha dei limiti dovuti alle risorse massime disponibili sul nodo.”

“L’aumento del numero di pod – lo scaling orizzontale – comporta la distribuzione di istanze aggiuntive del pod in tutto il cluster”, spiega Silletti. “È un approccio più flessibile per gestire l’aumento del carico e non è limitato dalla capacità del singolo nodo.”

Come funziona lo scaling automatico in Kinsta

Con lo scaling automatico abilitato, la domanda sui pod del servizio web viene monitorata per vedere se i carichi sono inferiori o superiori all’80% della capacità.

“Quando l’utilizzo della CPU supera la soglia definita, l’autoscaling di Kubernetes attiva la creazione di pod aggiuntivi per bilanciare il carico”, spiega Silletti. “Il load balancer del servizio identifica automaticamente questi nuovi pod e distribuisce il traffico in entrata tra tutti i pod disponibili.”

“Quando Kubernetes identifica che l’utilizzo delle risorse è inferiore alla soglia definita, avvia il processo di rimozione dei pod. In questo modo si assicura che, anche dopo la rimozione di un pod, i pod rimanenti possano gestire in modo efficiente il carico di traffico rimanendo al di sotto della soglia.”

Anche con lo scaling automatico attivato, gli utenti potrebbero aver bisogno di aiuto per determinare quali valori selezionare per le istanze pod minime e massime. Il consiglio di Silletti?

“Inizialmente, stabilite una linea di base per l’utilizzo delle risorse dell’applicazione in condizioni di carico normale e di picco”, dice. “Poi utilizzate strumenti e metriche per monitorare le prestazioni dell’applicazione e l’utilizzo delle risorse. Rivalutate e regolate le configurazioni se necessario per garantire prestazioni ottimali.”

Come abilitare lo scaling automatico a un’applicazione oggi stesso

Avete un’idea per un’applicazione che potrebbe trarre vantaggio dallo scaling automatico delle risorse del pod? Ecco come poter iniziare a scalare rapidamente con la piattaforma di Hosting di Applicazioni di Kinsta:

  1. Sfogliate la nostra libreria sempre crescente di esempi rapidi per vedere come distribuire le vostre tecnologie preferite da host Git come GitHub, GitLab e Bitbucket.
  2. Consultate la nostra documentazione ufficiale sullo scaling delle applicazioni.
  3. Create il vostro account MyKinsta e iniziate a costruire senza rischi!

Quando effettuate il deploy, il vostro codice e i suoi servizi di archiviazione persistente verranno eseguiti sull’infrastruttura di alto livello di Google Cloud Platform, supportata dalle macchine virtuali C2 della piattaforma.

In questo modo la vostra applicazione avrà spazio per crescere.