- 1. Spiegazione dei carichi di lavoro
- 2. Tipi di carichi di lavoro
- 3. Caratteristiche del carico di lavoro cloud
- 4. Cloud o locale?
- 5. Gestione del carico di lavoro
- 6. Automazione del carico di lavoro
- 7. Protezione del carico di lavoro nel cloud
- 8. Implementazione di un CWPP
- 9. FAQ sul carico di lavoro
Che cos'è un carico di lavoro?
Un carico di lavoro è un'attività computazionale, un processo o una transazione di dati. I carichi di lavoro comprendono la potenza di calcolo, la memoria, lo storage e le risorse di rete necessarie per l'esecuzione e la gestione di applicazioni e dati. Nell'ambito del cloud, un carico di lavoro è un servizio, una funzione o un'applicazione che utilizza la potenza di calcolo ospitata sui server del cloud. I carichi di lavoro cloud si basano su tecnologie come macchine virtuali (VM), container, serverless, microservizi bucket di storage, software as a service (Saas), infrastructure as a service (Iaas) e altro ancora.
Spiegazione dei carichi di lavoro
Un carico di lavoro comprende tutti i compiti che un sistema informatico o un software sta elaborando. Questi compiti possono andare dal completamento di un'azione computazionale minore alla gestione di un'analisi complessa dei dati o all'esecuzione di applicazioni intensive business-critical. I carichi di lavoro, in sostanza, definiscono le richieste poste alle risorse IT, che comprendono server, macchine virtuali (VM) e container.
Possiamo anche classificare i carichi di lavoro a livello di applicazione, tenendo conto di operazioni come l'elaborazione dei dati, la gestione del database e le attività di rendering. Il livello e il tipo di carico di lavoro possono influenzare le prestazioni di un sistema. In alcuni casi, senza una gestione efficace, l'intensità del carico può causare interruzioni o rallentamenti del sistema.
Tipi di carichi di lavoro
Requisiti unici per le risorse di elaborazione, archiviazione e rete definiscono ogni tipo di carico di lavoro.
- I carichi di lavoro di calcolo sono applicazioni o servizi che richiedono potenza di elaborazione e memoria per svolgere le loro funzioni. Questi possono includere macchine virtuali, container e funzioni serverless.
- I carichi di lavoro di archiviazione si riferiscono a servizi che richiedono grandi quantità di archiviazione di dati, come i sistemi di gestione dei contenuti e i database.
- I carichi di lavoro di rete, come lo streaming video e i giochi online, richiedono un'elevata larghezza di banda di rete e una bassa latenza.
- I carichi di lavoro big-data richiedono l'elaborazione e l'analisi di grandi insiemi di dati, come l'apprendimento automatico (ML) e l'intelligenza artificiale.
- I carichi di lavoro web sono applicazioni o servizi a cui si accede via Internet. Questi includono siti di e-commerce, piattaforme di social media e applicazioni basate sul web.
- I carichi di lavoro di calcolo ad alte prestazioni si riferiscono a servizi che richiedono un'elevata potenza di elaborazione. Gli esempi includono la modellazione meteorologica e la modellazione finanziaria.
- I carichi di lavoro dell'Internet delle cose (IoT) richiedono l'elaborazione e l'analisi dei dati provenienti da sensori e altri dispositivi, come case intelligenti, automazione industriale e veicoli connessi.
Carichi di lavoro di allora e di oggi
Agli albori dei computer mainframe ad uso condiviso, i carichi di lavoro erano definiti dal loro utilizzo. I carichi di lavoro transazionali eseguivano i lavori uno alla volta per garantire l'integrità dei dati, mentre i carichi di lavoro batch rappresentavano una serie di comandi o programmi che venivano eseguiti senza l'intervento dell'utente. I carichi di lavoro in tempo reale elaborano i dati in arrivo in tempo reale.
Ma con l'aumento dell'adozione del cloud, il concetto di carichi di lavoro si è evoluto, passando dai tradizionali data center locali agli ambienti cloud. Questa trasformazione comporta la migrazione dei carichi di lavoro verso ambienti cloud di tipo infrastructure as a service (IaaS), platform as a service (PaaS) o software as a service (SaaS).
Oggi, nel contesto del cloud computing, un carico di lavoro è un'applicazione o una capacità cloud-nativa o non-cloud-nativa che può essere eseguita su una risorsa cloud. Le macchine virtuali, i database, i container, i nodi Hadoop e le applicazioni sono tutti considerati carichi di lavoro cloud.
La rete ibrida multicloud è molto più complicata dei data center legacy locali. Le organizzazioni devono ora garantire la sicurezza dei container e l'integrità nei cloud privati e pubblici, spesso ospitati da più fornitori di servizi cloud (CSP). Ma i servizi cloud sono in grado di gestire carichi di lavoro fluttuanti senza la necessità di un capitale iniziale significativo e si dimostrano efficaci dal punto di vista dei costi.
Caratteristiche del carico di lavoro cloud
I carichi di lavoro del cloud, attraverso architetture e infrastrutture cloud comuni, condividono caratteristiche distinte. Questi includono:
- Scalabilità: I carichi di lavoro cloud offrono la possibilità di aumentare o diminuire le risorse in base alla domanda, il che migliora l'efficienza della gestione delle risorse.
- Elasticità: La capacità dei carichi di lavoro cloud di adattarsi ai cambiamenti attraverso il provisioning e il deprovisioning autonomo delle risorse è fondamentale per le aziende moderne.
- Resource Pooling: I carichi di lavoro cloud condividono un pool di risorse informatiche configurabili, promuovendo un utilizzo efficiente delle risorse.
- Servizio Misurabile: I sistemi cloud controllano e ottimizzano automaticamente l'uso delle risorse applicando una capacità di misurazione adatta al tipo di servizio, sia esso IaaS, PaaS o SaaS.
- Self-Service su richiesta: Gli utenti del cloud possono effettuare il provisioning di funzionalità di computing, come il tempo del server e l'archiviazione in rete, senza interazione umana con i fornitori di servizi.

Figura 1: Percentuale di carichi di lavoro spostati nel cloud quest'anno, secondo lo State of Cloud-Native Security Report
Cloud o locale?
La decisione di dove eseguire i carichi di lavoro dipenderà da variabili specifiche della sua organizzazione e dei carichi di lavoro. Le organizzazioni devono valutare le opzioni e considerare le prestazioni, la sicurezza, la conformità e il costo per determinare l'ambiente migliore.
Alcuni carichi di lavoro possono richiedere configurazioni hardware o di rete specifiche, il che sottolinea la necessità di identificare i sistemi operativi, le dipendenze software e altri requisiti dell'infrastruttura. Anche le prestazioni e la scalabilità sono considerazioni importanti. I suoi carichi di lavoro possono richiedere prestazioni elevate e bassa latenza, oppure la capacità di scalare rapidamente verso l'alto e verso il basso.
Tenga conto della sicurezza e della conformità quando sceglie dove eseguire i carichi di lavoro. Le normative possono limitare alcuni carichi di lavoro ad ambienti locali o cloud privati. Il costo è un'altra considerazione. I servizi di cloud pubblico possono offrire un modo flessibile ed economico per eseguire i carichi di lavoro, soprattutto quelli con una domanda variabile. Altri carichi di lavoro, tuttavia, potrebbero rivelarsi più convenienti se eseguiti in locale o in un ambiente cloud privato.
Distribuire i carichi di lavoro nel cloud.
Il cloud offre un ambiente ideale per una varietà di carichi di lavoro, con alcuni carichi di lavoro particolarmente adatti al cloud.
- Applicazioni web: Le piattaforme cloud offrono l'espandibilità e la disponibilità necessarie per gestire alti volumi di richieste per le applicazioni web.
- Big-Data e Analytics: I fornitori di cloud offrono strumenti di big data e di analisi per aiutare a gestire ed elaborare grandi quantità di dati.
- DevOps e CI/CD: Le piattaforme cloud possono fornire l'infrastruttura per supportare i processi automatizzati di sviluppo, test e distribuzione del software.
- Ripristino e backup in caso di disastri: Le piattaforme cloud possono essere utilizzate per i backup off-site di dati e sistemi, oltre che per fornire un supporto di failover.
- Apprendimento automatico e IA: I fornitori di cloud offrono strumenti per la formazione di modelli ML e per la loro scalabilità in ambienti di produzione.
- IoT e Edge Computing: Le piattaforme cloud forniscono servizi a supporto dei dispositivi IoT e delle applicazioni di edge computing, come l'elaborazione, l'archiviazione e l'analisi dei dati.
Ma il cloud non è complementare a tutti i carichi di lavoro. Le organizzazioni dovrebbero basare la scelta della piattaforma sull'analisi dei requisiti e delle caratteristiche di ciascun carico di lavoro.
Distribuire i carichi di lavoro a livello locale
Esempi di dettagli da valutare per determinare quali carichi di lavoro distribuire nei locali includono:
- Requisiti di sicurezza: La distribuzione in locale dei carichi di lavoro nei settori altamente regolamentati può essere l'opzione migliore per garantire la sicurezza dei dati e la conformità normativa.
- Carichi di lavoro ad alta intensità di dati: I carichi di lavoro che elaborano e archiviano grandi volumi di dati traggono vantaggio dalla distribuzione locale, a causa degli elevati costi di trasferimento dei dati e di archiviazione nel cloud.
- Carichi di lavoro sensibili alla latenza: Le applicazioni che richiedono una bassa latenza, come l'elaborazione dei dati in tempo reale o i giochi, possono trarre vantaggio dalla distribuzione locale.
- Carichi di lavoro personalizzati: La distribuzione in locale, per garantire il controllo sull'infrastruttura sottostante, può servire meglio le applicazioni che necessitano di hardware personalizzato.
- Considerazioni sui costi: L'esecuzione dei carichi di lavoro in locale può essere conveniente a causa dell'utilizzo delle risorse, dei requisiti di archiviazione e dei modelli di utilizzo.
Distribuzioni di cloud ibrido.
Un cloud ibrido è un ambiente computing che combina l'infrastruttura locale con i servizi cloud di uno o più fornitori di cloud privati o pubblici. Questo tipo di architettura cloud consente alle organizzazioni di beneficiare delle offerte sia dell'infrastruttura locale che di quella cloud.
Con un cloud ibrido, le organizzazioni possono distribuire i carichi di lavoro su più ambienti per soddisfare i requisiti dell'applicazione o del carico di lavoro. Possono scegliere di mantenere i carichi di lavoro sensibili in locale per soddisfare i requisiti normativi, optando invece per distribuire altri carichi di lavoro che richiedono scalabilità e flessibilità su un cloud pubblico.
Per abilitare un ambiente cloud ibrido, le organizzazioni devono disporre dell'infrastruttura necessaria, come la rete e la connettività tra l'infrastruttura locale e i servizi cloud. Avranno anche bisogno di una piattaforma di gestione cloud, di strumenti di automazione e di soluzioni di sicurezza per gestire i carichi di lavoro in più ambienti.
Carichi di lavoro cloud-agnostici
Molte organizzazioni danno priorità a strategie cloud-agnostiche, preferendo la libertà dell'infrastruttura cloud-agnostica e dell'architettura e dello sviluppo delle app. I carichi di lavoro progettati per essere eseguiti su qualsiasi piattaforma cloud apportano i vantaggi della compatibilità, che includono:
- Evitare il Vendor Lock-in: Progettando applicazioni cloud-agnostiche, le organizzazioni possono cambiare fornitore di cloud senza una revisione costosa dei carichi di lavoro e degli stack tecnologici.
- Portabilità: I carichi di lavoro cloud-agnostici possono essere distribuiti su qualsiasi piattaforma cloud, il che offre maggiore flessibilità e agilità.
- Risparmio sui costi: L'opzione di distribuire i carichi di lavoro sulla piattaforma che offre le risorse più convenienti consente alle organizzazioni di trarre vantaggio dalle fluttuazioni dei costi o di utilizzare istanze spot.
- Evitare i singoli punti di guasto: Le organizzazioni possono evitare di affidarsi ad un unico provider cloud per le applicazioni critiche, riducendo così i rischi di downtime o di perdita di dati.
Per consentire carichi di lavoro cloud-agnostici, le organizzazioni utilizzano in genere tecnologie e interfacce standard supportate da più cloud provider, come Kubernetes per l'orchestrazione dei container e Terraform per l'infrastruttura come codice.
Video: Come gli ingegneri della sicurezza e gli sviluppatori di app possono creare un processo di sicurezza efficace
Gestione del carico di lavoro
La gestione del carico di lavoro si riferisce al ciclo infinito di monitoraggio, controllo e allocazione delle risorse ai carichi di lavoro. La responsabilità comprende la miriade di processi necessari per ottimizzare e bilanciare la distribuzione delle risorse informatiche, per garantire l'esecuzione dei carichi di lavoro con interruzioni o tempi di inattività minimi.
In un ambiente cloud, la gestione del carico di lavoro è fondamentale perché più utenti e applicazioni condividono le risorse. Il gestore dei carichi di lavoro deve garantire che ogni carico di lavoro abbia accesso alle risorse di cui ha bisogno, senza impattare sulle prestazioni degli altri carichi di lavoro.
La gestione del carico di lavoro può diventare particolarmente complessa negli ambienti multicloud, dove i carichi di lavoro sono distribuiti su più piattaforme cloud. Una gestione efficace dei carichi di lavoro multicloud richiede una chiara comprensione delle capacità di ciascuna piattaforma cloud e dei requisiti specifici di ciascun carico di lavoro.
Allocazione delle risorse
La gestione dei carichi di lavoro comporta l'allocazione delle risorse informatiche, come CPU, memoria e storage, a diversi carichi di lavoro in base alle loro esigenze e priorità. Un'allocazione efficace richiede il monitoraggio dell'utilizzo delle risorse, la previsione della domanda futura e la regolazione dell'allocazione delle risorse in base alle necessità.
Bilanciamento del carico
La gestione dei carichi di lavoro comporta anche il bilanciamento del carico, ovvero la distribuzione dei carichi di lavoro su più risorse informatiche per ottimizzare l'utilizzo delle risorse e prevenire i colli di bottiglia. Le organizzazioni in genere si affidano a tecniche come il round-robin, le connessioni minime e l'hash IP per ottenere carichi ben bilanciati.
Dare priorità ai carichi di lavoro
Per gestire i carichi di lavoro, i team DevOps devono dare priorità ai carichi di lavoro in base alla criticità, ai requisiti di prestazione e agli accordi sul livello di servizio. Un'adeguata prioritizzazione assicura che i carichi di lavoro mission-critical ricevano le risorse necessarie per funzionare in modo ottimale, anche durante i picchi di domanda.
Monitoraggio e ottimizzazione
Il monitoraggio delle prestazioni dei carichi di lavoro e la regolazione dell'allocazione delle risorse per ottimizzare le prestazioni e minimizzare i costi sono elementi centrali della gestione dei carichi di lavoro. Questo può comportare il ridimensionamento automatico, l'autotuning e altre tecniche di ottimizzazione.
Automazione del carico di lavoro
Comunemente utilizzata dalle aziende con infrastrutture IT complesse, l'automazione dei carichi di lavoro ottimizza i processi IT automatizzando la programmazione, l'esecuzione e il monitoraggio dei carichi di lavoro. Con la crescita della trasformazione digitale, l'automazione dei carichi di lavoro è diventata essenziale per le operazioni IT funzionali. I vantaggi dell'automazione del carico di lavoro includono:
Errori ridotti
Automatizzando le attività ripetitive e manuali, l'automazione del carico di lavoro elimina la necessità di intervento umano, riducendo il rischio di errori e di potenziali eventi avversi, come la perdita di dati.
Efficienza migliorata
L'automazione di compiti ripetitivi e che richiedono tempo può liberare i team per concentrarsi su compiti critici. Invece di controllare manualmente i registri alla ricerca di errori, ad esempio, l'automazione del carico di lavoro può identificare e avvisare il personale IT degli errori, liberandolo di concentrarsi sulla risoluzione dei problemi piuttosto che sul monitoraggio dei registri.
Ottimizzazione dell'utilizzo delle risorse
L'automazione del carico di lavoro può ottimizzare l'utilizzo delle risorse, assicurando che le attività e i processi siano programmati ed eseguiti in tempi ottimali. Programmando le attività ad alta intensità di risorse da eseguire nelle ore non di punta, ad esempio, i team riducono il potenziale di contesa delle risorse.
Maggiore agilità
Automatizzando il provisioning e la distribuzione di applicazioni e servizi, l'automazione del carico di lavoro riduce il tempo e l'impegno necessari per portare online nuovi servizi. Ciò consente ai team IT di rispondere alle esigenze aziendali in modo più rapido ed efficiente.
Conformità migliorata
Eseguendo i processi IT in modo coerente e verificabile attraverso l'automazione del carico di lavoro, le organizzazioni rafforzano la conformità agli standard normativi, riducendo in ultima analisi il rischio di violazioni della conformità.
Costi ridotti
Eliminando le attività ripetitive e manuali dall'equazione, l'automazione del carico di lavoro non solo ottimizza l'utilizzo delle risorse e riduce la necessità di risorse hardware e software aggiuntive. Inoltre, riduce il costo delle operazioni IT, consentendo al personale IT di concentrarsi su attività di maggior valore.
Gli strumenti di automazione del carico di lavoro presenti sul mercato vanno dalle soluzioni open-source (ad esempio, Jenkins e Ansible) alle piattaforme di livello aziendale (ad esempio, BMC Control-M e IBM Workload Automation). Questi strumenti offrono in genere una serie di caratteristiche e funzionalità, tra cui la programmazione dei lavori, l'automazione guidata dagli eventi, il monitoraggio del carico di lavoro e il reporting, nonché l'integrazione con altri sistemi e applicazioni IT.
Protezione del carico di lavoro nel cloud
La migrazione dei carichi di lavoro nel cloud offre alle organizzazioni numerosi vantaggi, ma introduce anche sfide di sicurezza. La superficie di attacco si espande nel cloud. Anche con i controlli di sicurezza in atto, una vulnerabilità zero-day o un server o un bucket di storage mal configurato possono comportare rischi significativi per i carichi di lavoro.
Le strategie di sicurezza del carico di lavoro nel cloud possono aiutare a proteggere la sua organizzazione.
- Implementare i controlli di gestione degli accessi: L'implementazione di una politica di accesso con privilegi minimi può limitare i danni potenziali di una violazione della sicurezza.
- Automatizzare i controlli di sicurezza: L'automazione può garantire che i controlli di sicurezza siano applicati in modo coerente su tutti i carichi di lavoro - e accelerare i tempi di risposta in caso di un evento di sicurezza.
- Monitorare e gestire le vulnerabilità: La scansione regolare delle vulnerabilità e l'applicazione tempestiva delle patch sono fondamentali per proteggere i carichi di lavoro cloud.
- Contenitori sicuri e carichi di lavoro serverless: Esaminare le immagini container alla ricerca di vulnerabilità e implementare politiche di isolamento appropriate per le funzioni serverless.
- Cifri i dati sensibili: La crittografia dei dati può proteggere i dati sensibili anche se altri controlli di sicurezza falliscono. Si ricordi di criptare i dati a riposo e in transito.
Implementazione di un CWPP
Progettata per la scalabilità, la piattaforma di protezione dei carichi di lavoro cloud (CWPP) è in grado di adattarsi alla protezione di un numero crescente di carichi di lavoro, fornendo una sicurezza coerente indipendentemente dalle dimensioni dell'ambiente cloud. I CWPP sono incentrati sul carico di lavoro, il che significa che proteggono il carico di lavoro indipendentemente da dove risiede: in locale, nel cloud o in un ambiente ibrido. Dato che i carichi di lavoro si spostano rapidamente tra piattaforme e infrastrutture, questo tipo di protezione dei carichi di lavoro è essenziale.
I CWPP offrono alle organizzazioni una piattaforma alternativa alla proliferazione di strumenti, risolvendo i problemi di complessità e massimizzando la sicurezza con visibilità e controllo centralizzati, gestione delle vulnerabilità, gestione degli accessi, protezione antimalware e altro ancora.