Gestire tranquillamente i picchi di attività grazie ai container
Gestire tranquillamente i picchi di attività grazie ai container
L'implementazione di un'architettura modulare composta da microservizi containerizzati risponde spesso a una ricerca di agilità, resilienza o scalabilità. I container sono però anche una tecnologia adatta per rendere la propria infrastruttura più flessibile, cioè in grado di assorbire i picchi di carico grazie allo scaling automatico. L’interesse dei container risiede infatti nella volatilità, ossia nella capacità di essere avviati, moltiplicati o arrestati facilmente. Ovviamente, occorrerà comunque utilizzare gli strumenti giusti.

Flessibilità, concetto che riconcilia performance e risparmio
La flessibilità è un concetto importante quando in un’applicazione si verificano picchi di attività imprevisti, regolari in determinati momenti della giornata o stagionali. Questa caratteristica consiste nella possibilità di aumentare o ridurre la quantità e le capacità dei container che ospitano i microservizi, per fare in modo che la tua applicazione rimanga disponibile e performante indipendentemente dal numero di utenti connessi. Il tutto in modo automatico. Il vantaggio? Il risparmio, grazie alla possibilità di consumare solo le risorse realmente necessarie. In questo modo non c’è più bisogno di sovradimensionare l’infrastruttura né controllare ansiosamente la curva del carico per aggiungere risorse in tutta fretta.
Attenzione: i microservizi e la containerizzazione sono tecnologie sottostanti, fondamentali per l'implementazione dell'autoscaling ma non sufficienti da sole. È infatti necessario ricorrere a un orchestratore come Kubernetes e risorse cloud on demand gestite da OVHcloud.

Comprendere i meccanismi di autoscaling dei container
Esistono due modi di scalare l'architettura containerizzata: verticalmente, assegnando in tempo reale più potenza di calcolo (CPU/RAM) a un container, e orizzontalmente, moltiplicando i container dove si concentrano le richieste (colli di bottiglia). Ecco i 3 meccanismi di ripartizione del carico utilizzati da Managed Kubernetes Service® di OVHcloud:

Pod auto-scaling
È il meccanismo di scaling automatico proposto nativamente dall'orchestratore Kubernetes, che adatta il numero di container in tempo reale in base al carico di lavoro ed entro i limiti massimi e minimi definitI precedentemente. Per esempio, per un determinato microservizio dell’architettura, K8S sarà autorizzato a creare fino a 10 container e non dovrà scendere sotto i 3. Grandioso, ma cosa succede se K8S non ha a disposizione risorse sufficienti all'interno del cluster per creare i container necessari? Ne creerà per esempio 7 dei 10 autorizzati.

Node auto-scaling
Nella sua implementazione di Kubernetes come servizio, OVHcloud ha integrato il meccanismo nativo di K8S con un "node auto-scaling": l’utente specifica un numero minimo e massimo di istanze eseguibili nel cluster e OVHcloud aggiunge automaticamente nuove risorse in caso di necessità e le rimuove una volta terminato il picco di carico, in modo che venga fatturato solo ciò di cui si ha realmente bisogno.

Load balancer for Managed Kubernetes Service
A monte del cluster Kubernetes, un servizio di load balancing opzionale totalmente gestito da OVHcloud ripartisce il traffico tra le diverse risorse. Il carico risulta così bilanciato tra i container e, se necessario, su più nodi in modo automatico e sicuro. Il Load Balancer dispone di un’interfaccia compatibile con Kubernetes e rende possibile il "rolling upgrade" eliminando temporaneamente dai servizi di destinazione i container in manutenzione.

Proteggi la gestione delle tue immagini con Managed Private Registry (Harbor)
Per rendere più affidabili i tuoi progetti basati sull'utilizzo di container, OVHcloud ha sviluppato un servizio di Registry privato ospitato e amministrato dai propri team, per archiviare, gestire e accedere facilmente (via API) alle immagini dei container e chart Helm (i pacchetti).
Questa soluzione, basata sul progetto Harbor della Cloud Native Computing Foundation, consente ai tuoi team un accesso sicuro basato sui ruoli (RBAC) e utilizza un meccanismo di Content Trust per garantire l'integrità delle sorgenti delle immagini.
Eviti così i rischi legati all'identificazione di vulnerabilità tramite il reverse engineering del codice in accesso pubblico su piattaforme come Github o Gitlab.
Quali servizi OVHcloud scegliere per rendere la tua applicazione di microservizi più flessibile?
Puoi ospitare in autonomia i tuoi microservizi su server Bare Metal o istanze Public Cloud e gestire la scalabilità assegnando liberamente le risorse necessarie. Per semplificarti la vita, hai la possibilità di delegare a OVHcloud la gestione dei servizi più critici come database e storage. OVHcloud sarà quindi responsabile dell’amministrazione dello scaling di questi servizi.

Managed Kubernetes
Kubernetes è l'orchestratore di riferimento, che facilita il deploy e l’amministrazione dei tuoi gruppi di container Docker gestendo l'autohealing e l'autoscaling. Uno strumento indispensabile, ma non semplice da amministrare. Fortunatamente, puoi delegare la gestione del cluster Kubernetes al tuo cloud provider: il servizio Managed Kubernetes si basa sulle istanze Public Cloud di OVHcloud e per di più è gratuito, permettendoti di pagare solo le istanze on demand e lo storage utilizzato all’interno del tuo cluster Kubernetes.
In opzione: Load Balancer for Managed Kubernetes Service

Database as a Service
La maggior parte delle tecnologie di database è oggi disponibile in modalità as a Service, cioè 100% gestita. La migrazione può essere effettuata in pochi minuti: è sufficiente importare il database nel nuovo ambiente, testarlo e disattivare la vecchia base di dati se tutto va bene.
Il tuo database ha bisogno di più potenza? Puoi aggiornare la tua soluzione a caldo in pochi click e aggiungere un nodo al cluster: OVHcloud si occuperà di risincronizzare i dati.

Object Storage
Con l’Object Storage OVHcloud non solo deleghi il problema della disponibilità dei contenuti, ma riduci anche il carico sui tuoi server web.
Rispondere alle richieste relative ai contenuti (immagini, video, suoni...) non è più compito tuo, a gestire lo scaling è OVHcloud.
Pronto per iniziare?
Crea un account e attiva i tuoi servizi in un minuto.