Che cos'è il cloud computing? Una panoramica del cloud
Una guida al cloud computing e ai suoi vantaggi per l'impresa moderna
Il cloud computing è la fornitura di risorse informatiche su Internet. Offre risparmi sui costi, scalabilità, prestazioni elevate, economie di scala e altro ancora. Per molte aziende, una migrazione al cloud è direttamente correlata alla modernizzazione dei dati e dell'IT.
Quando la frase "il cloud" iniziò ad apparire per la prima volta nei primi anni 2000, aveva un suono esoterico. L'idea di accedere alle risorse informatiche da un luogo diverso da un'infrastruttura IT locale (il cielo?) sembrava fantascienza. La realtà era molto più profonda e ha cambiato per sempre la tecnologia e il modo in cui conduciamo gli affari.
Prova Compass gratis
Migliora la tua esperienza di sviluppatore, cataloga tutti i servizi e aumenta l'integrità del software.
Che cos'è il cloud computing?
Il cloud computing è la fornitura di risorse informatiche, tra cui archiviazione, potenza di elaborazione, database, rete, analisi, intelligenza artificiale e applicazioni software, su Internet (cloud). Esternalizzando queste risorse, le aziende possono accedere alle risorse computazionali di cui hanno bisogno, quando ne hanno bisogno, senza dover acquistare e mantenere un'infrastruttura IT fisica in sede. Ciò fornisce risorse flessibili, innovazione più rapida ed economie di scala. Per molte aziende, una migrazione al cloud è direttamente correlata alla modernizzazione dei dati e dell'IT.
Caratteristiche del cloud computing
Prima del cloud computing, le organizzazioni acquistavano e gestivano un'infrastruttura IT on-premise. Sebbene i risparmi sui costi abbiano determinato gran parte del passaggio iniziale al cloud, molte organizzazioni ritengono che l'infrastruttura di cloud pubblico, privato o ibrido offra una serie di vantaggi.
Per i team Agile e DevOps , il cloud computing offre la possibilità di semplificare e accelerare il processo di sviluppo.
Di seguito è riportato un elenco di caratteristiche che definiscono il cloud computing.
Self service su richiesta
I fornitori di cloud computing offrono API a cui gli utenti accedono per richiedere nuove risorse o ridimensionare le risorse esistenti ogni volta che è necessario. I team possono automatizzare il provisioning della propria infrastruttura in modo semplice con gli strumenti di infrastructure as code come Terraform e Ansible.
Ampio accesso alla rete
La posizione dell'hardware fisico è un problema significativo quando si fornisce un'esperienza ottimale per l'utente finale. Il cloud computing presenta un enorme vantaggio offrendo hardware fisico distribuito a livello globale, che consente alle organizzazioni di fornire strategicamente hardware mirato alla posizione.
Pool di risorse
Le risorse informatiche in una piattaforma di infrastruttura cloud sono suddivise dinamicamente e allocate su richiesta. Poiché le macchine fisiche di un host cloud vengono fornite dinamicamente e condivise tra più tenant, l'hardware cloud è completamente ottimizzato per il massimo utilizzo.
Elasticità rapida
Le infrastrutture cloud possono crescere e ridursi in modo dinamico, consentendo agli utenti di richiedere che le loro risorse di calcolo si adattino automaticamente alle richieste di traffico. L'elasticità può applicarsi a ogni singola macchina, dove un'allocazione di risorse cresce per massimizzare le risorse macchina disponibili, o a più macchine, in cui un'applicazione si adatta automaticamente a macchine multi-rete.
Servizio misurato
I fornitori di infrastrutture cloud forniscono metriche di utilizzo dettagliate che vengono utilizzate per comunicare i costi di utilizzo. Ad esempio, Amazon Web Services (AWS) fornisce l'utilizzo per ciascuna categoria di servizi in voci orarie o giornaliere. I fornitori di servizi cloud generalmente adottano un modello di fatturazione con pagamento in base al consumo che viene misurato e fornito, in modo che ai clienti venga addebitata la quantità esatta di risorse informatiche utilizzate.
Tipi di distribuzioni cloud
Esistono tre tipi principali di distribuzioni cloud. Ognuno ha vantaggi unici e le organizzazioni spesso traggono vantaggio dall'utilizzo di più di uno di essi.
Cloud pubblico
I cloud pubblici forniscono risorse informatiche (server, archiviazione, applicazioni, ecc.) su Internet da un provider di servizi cloud, come AWS e Microsoft Azure. I fornitori di servizi cloud possiedono e gestiscono tutto l'hardware, il software e altre infrastrutture di supporto.
Cloud privato
Un cloud privato è costituito da risorse informatiche dedicate esclusivamente a un'organizzazione. Può essere fisicamente situato presso il data center in loco di un'organizzazione o ospitato da un provider di servizi cloud. Un cloud privato fornisce un livello di sicurezza e privacy più elevato rispetto ai cloud pubblici offrendo risorse dedicate alle aziende.
I clienti del cloud privato ottengono i vantaggi principali di un cloud pubblico, tra cui self-service, scalabilità ed elasticità, ma con l'ulteriore vantaggio di controllo e personalizzazione aggiuntivi. Inoltre, i cloud privati possono avere un livello più elevato di sicurezza e privacy perché sono ospitati su reti private non accessibili al traffico pubblico.
Cloud ibrido
I cloud ibridi sono una combinazione di cloud pubblici e privati (ad esempio, IBM Hybrid Cloud, con tecnologia Red Hat), collegati tra loro con una tecnologia che consente l'interazione tra dati e applicazioni. I servizi e le applicazioni sensibili possono essere conservati nel cloud privato sicuro, mentre i server Web accessibili al pubblico e gli endpoint rivolti ai clienti possono risiedere nel cloud pubblico. I provider di cloud di terze parti più popolari offrono un modello di cloud ibrido, che consente agli utenti di combinare cloud privati e pubblici per soddisfare le proprie esigenze. Ciò consente alle aziende una maggiore flessibilità nella distribuzione dei requisiti di infrastruttura specifici della propria applicazione.
Servizi di cloud computing
Le proprietà dinamiche del cloud computing gettano le basi per nuovi servizi di livello superiore. Questi servizi possono aiutare non solo a integrare, ma spesso addirittura a fornire i servizi necessari per i team agili e DevOps.
Infrastructure as a Service
Infrastructure as a Service (IaaS) è un livello di servizio cloud fondamentale che consente alle organizzazioni di noleggiare l'infrastruttura IT (server, archiviazione, reti, sistemi operativi) da un provider di servizi cloud. IaaS consente agli utenti di prenotare e fornire le risorse di cui hanno bisogno da magazzini di server fisici grezzi. Inoltre, IaaS consente agli utenti di prenotare macchine preconfigurate per attività specializzate come bilanciamenti del carico, database, server di posta elettronica, code distribuite.
I team DevOps possono utilizzare IaaS come piattaforma sottostante da cui partire per realizzare una toolchain DevOps, che può includere l'uso di vari strumenti di terze parti.
Platform as a Service
Platform as a Service (PaaS) è un livello di infrastruttura cloud basato su IaaS che fornisce risorse per la compilazione di strumenti e applicazioni a livello utente. Include l'infrastruttura sottostante che comprende risorse di elaborazione, rete e archiviazione, nonché strumenti di sviluppo, sistemi di gestione dei database e middleware.
PaaS sfrutta IaaS per allocare automaticamente le risorse necessarie per alimentare uno stack tecnologico basato sulla lingua. Gli stack tecnologici linguistici più diffusi sono gli stack Ruby On Rails, Java Spring, MVC, MEAN e JAM. I clienti PaaS possono quindi semplicemente caricare un artefatto del loro codice applicativo che viene distribuito automaticamente nell'infrastruttura PaaS. Questo è un flusso di lavoro innovativo e potente che consente ai team di concentrarsi completamente sul codice specifico dell'applicazione aziendale e di non preoccuparsi dei problemi di hosting e infrastruttura. PaaS gestisce automaticamente la scalabilità e il monitoraggio dell'infrastruttura per far crescere o ridurre le risorse con i carichi di traffico osservati.
Software as a Service
Software as a Service (SaaS) fornisce applicazioni software su Internet, su richiesta e in genere in abbonamento. I provider di cloud ospitano e gestiscono l'applicazione, occupandosi degli aggiornamenti software e delle patch di sicurezza secondo necessità. Esempi di SaaS sono sistemi CRM, applicazioni webmail, strumenti di produttività come Jira e Confluence, strumenti di analisi, strumenti di monitoraggio, applicazioni di chat e altro ancora.
Function as a service
Function as a Service (FaaS) è un servizio di cloud computing che offre una piattaforma in cui i clienti possono sviluppare, eseguire e gestire applicazioni. Questo riduce la necessità per gli sviluppatori di costituire e mantenere l'infrastruttura necessaria per sviluppare e lanciare un'app. I provider di servizi cloud offrono risorse cloud, eseguono un blocco di codice, restituiscono il risultato e quindi distruggono le risorse utilizzate.
Vantaggi del cloud computing
Le proprietà uniche delle infrastrutture cloud offrono diversi nuovi vantaggi tecnici e aziendali. Di seguito sono riportati i principali vantaggi del cloud computing per i team agili.
Riduzione dei costi
I team che utilizzano risorse cloud non devono acquistare le proprie risorse hardware. Oltre ai costi dell'hardware, i provider di servizi cloud fanno del loro meglio per massimizzare e ottimizzare l'utilizzo dell'hardware. Questo trasforma l'hardware e le risorse informatiche in una merce e i fornitori di servizi cloud competono per offrire i profitti più bassi.
Maggiore scalabilità
Poiché il cloud computing è elastico per definizione, le organizzazioni possono ridimensionare le risorse su richiesta. Il cloud computing abilita le funzionalità di ridimensionamento automatico per i team. Le applicazioni cloud possono ridurre e far crescere automaticamente le proprie risorse infrastrutturali in risposta ai picchi di traffico.
Prestazioni migliori
Il cloud computing offre le risorse computazionali più recenti e migliori. Gli utenti possono accedere alle macchine più recenti con CPU multi-core estreme progettate per attività di elaborazione parallela intense. Inoltre, i principali provider di servizi cloud offrono macchine hardware GPU e TPU all'avanguardia per intense attività di elaborazione grafica, a matrice e intelligenza artificiale. Questi provider di servizi cloud si aggiornano costantemente con la più recente tecnologia di processore.
I principali fornitori di cloud computing dispongono di sedi hardware distribuite a livello globale che garantiscono connessioni ad alte prestazioni a seconda della posizione fisica della connessione. Inoltre, i fornitori di servizi cloud offrono reti globali di distribuzione di contenuti che memorizzano nella cache le richieste degli utenti e i contenuti in base alla posizione.
Velocità di esecuzione migliorata
I team che utilizzano infrastrutture cloud possono essere operativi e fornire valore più rapidamente ai propri clienti. I team software Agile possono sfruttare un'infrastruttura cloud per avviare rapidamente nuove macchine virtuali per sperimentare e convalidare idee uniche e automatizzare le fasi di test e distribuzione della pipeline.
Maggiore sicurezza
L'hosting su cloud privato offre un'infrastruttura isolata con firewall che migliora la sicurezza. Inoltre, i provider di servizi cloud offrono molti meccanismi e tecnologie di sicurezza per aiutare a compilare applicazioni sicure. Il controllo degli accessi degli utenti è un'importante questione di sicurezza e la maggior parte dei provider di servizi cloud offre strumenti per limitare l'accesso granulare degli utenti.
Continuous integration e continuous delivery
La continuous integration e la distribuzione continua (CI/CD) sono una pratica fondamentale per i professionisti DevOps che aiuta ad aumentare la velocità del team e ridurre il tempo di immissione sul mercato. La CI/CD basata su cloud, come Bitbucket Pipelines, consente ai team di compilare, testare e distribuire automaticamente il codice, senza preoccuparsi della gestione o della manutenzione dell'infrastruttura CI. Bitbucket Pipelines si affida ai container Docker per fornire isolamento e riproducibilità della pipeline di rilascio. I team possono eseguire comandi simili a quelli che potrebbero fare su un computer locale, ma con tutti i vantaggi di una configurazione nuova e riproducibile per ogni build.
Monitoraggio e gestione degli imprevisti completi
Le distribuzioni cloud consentono ai team di connettere i propri strumenti end to end, semplificando il monitoraggio di tutte le parti della pipeline. Il monitoraggio completo è un'altra funzionalità chiave per le organizzazioni che praticano DevOps perché consente loro di affrontare problemi e incidenti più velocemente. I provider di servizi cloud condividono le metriche sullo stato del sistema, tra cui CPU dell'applicazione e del server, memoria, tasso di richieste, tasso di errore, tempo medio di risposta, ecc. Ad esempio, il monitoraggio del carico su molte macchine virtuali (VM) consente ai team di aggiungere più capacità in caso di aumento della domanda, oppure i team possono automatizzare il ridimensionamento (aumento/diminuzione) in base a tali metriche per ridurre l'intervento umano e i costi. Ulteriori informazioni sul monitoraggio DevOps.
In conclusione...
Il cloud computing fornisce risorse informatiche avanzate disponibili su richiesta, scalabili secondo necessità, con aggiornamenti regolari e senza la necessità di acquistare e mantenere un'infrastruttura on-premise. Con il cloud computing, i team diventano più efficienti e riducono il tempo di immissione sul mercato in quanto possono acquisire e ridimensionare rapidamente i servizi, senza il notevole sforzo richiesto dalla gestione di un'infrastruttura tradizionale on-premise. Consulta le offerte cloud di Atlassian.
Argomento successivo
Letture consigliate
Aggiungi ai preferiti queste risorse per ricevere informazioni sullo sviluppo software e sugli aggiornamenti continui di Compass