DevOps
Cos'è il modello DevOps?
Il modello DevOps fa riferimento a un'ampia gamma di pratiche correlate allo sviluppo e all'utilizzo di codice software negli ambienti di produzione in data center su cloud. Il modello DevOps si basa sulle tecniche di gestione dei progetti Agile e sul supporto per i microservizi. L'approccio del modello DevOps all'intero ciclo di vita dello sviluppo software è incentrato sull'automazione basata sugli standard di controllo delle versioni. La soluzione più diffusa per il controllo delle versioni in DevOps è Git, seguita da Subversion (SVN) e CVS. Il modello DevOps include inoltre funzionalità di gestione dei requisiti CI/CD per il ciclo di vita del software, test automatizzati del codice, orchestrazione dei container, hosting su cloud e analisi dei dati.
Argomenti correlati
Vantaggi del modello DevOps
- Gestione agile dei progetti dei team: gestione ottimizzata dello sviluppo del software per i siti web e per le applicazioni mobili.
- Ottimizzazione del processo di sviluppo del software: ottenuta mediante la funzionalità CI/CD (integrazione continua/distribuzione continua). Grazie a CI/CD, le aziende possono applicare rapidamente nuove funzionalità software tramite le modifiche del codice per lanciare sul mercato soluzioni innovative. Gli upgrade del codice del server web o degli script applicativi sono più semplici con l'uso di container e sistemi di controllo delle versioni automatizzati.
- Collaborazione semplificata: Git consente agli sviluppatori di collaborare in team con funzionalità di rollback dei diversi elementi.
- Efficienza attraverso l'automazione: CI/CD supporta funzionalità di test automatizzati del codice tramite strumenti di programmazione aziendali, IDE e utility di terze parti. Il modello DevOps migliora l'automazione dei processi del data center, il provisioning del server web, la gestione dei database, la condivisione delle informazioni, la pianificazione del deployment e la Business Intelligence nelle aziende che adottano questa soluzione per la gestione del ciclo di vita di sviluppo del software.
Pratiche DevOps
Le pratiche DevOps sono integrate in tutti i layer dello stack del server web e semplificano considerevolmente la collaborazione dei team di programmazione. Il framework CALMS è diffuso tra i team DevOps nell'ambito della gestione dei progetti Agile. CALMS sta per Culture, Automation, Lean, Measurement e Sharing (Cultura, Automazione, Orientamento, Misurazione e Condivisione).
- Cultura: implica il rispetto degli obiettivi di stile di vita di programmatori, sviluppatori e amministratori di sistema che compongono ogni team di programmazione.
- Automazione: si verifica durante il ciclo di vita di sviluppo del software, particolarmente nella fase di test e deployment del codice o nei processi di gestione del data center.
- Orientamento: si riferisce al controllo dei costi nel provisioning di talenti e apparecchiature.
- Misurazione: è incentrata sull'analisi dei dati, il monitoraggio in tempo reale e le metriche aziendali per i feedback sui benchmark per le operation.
- Condivisione: pone l'accento sui vantaggi delle soluzioni e del codice Open Source per le aziende o per i progetti di qualsiasi dimensione.
Storia del modello DevOps
Il modello DevOps è il risultato della combinazione di sviluppo web e amministrazione dei sistemi nell'era del cloud. Le applicazioni SaaS (Software-as-a-Service) richiedevano metodi più complessi per la gestione del codice nella fase di produzione e deployment nei server web su cloud. Lo sviluppo delle funzionalità di orchestrazione dei container e framework elastici del server web è stato un passo importante nel modello DevOps. La filosofia di gestione dei progetti Agile è cruciale nel modello DevOps. Bilanciamento del carico cloud, innovazione del server web e automazione del ciclo di vita del software sono tutti principi fondamentali del modello DevOps. Nel modello DevOps, le best practice sono il risultato dalla combinazione di ricerca accademica in ambito informatico, innovazione della tecnologia di data center cloud e applicazioni industriali implementate presso le più grandi multinazionali a livello globale tramite lo sviluppo di software.
Funzionamento del modello DevOps
Il modello DevOps si basa in larga misura sull'attività svolta da team distribuiti di sviluppatori che, tramite il proprio computer desktop o laptop, lavorano sul codice in sandbox in un ambiente di test. Gli sviluppatori che utilizzano il software di controllo delle versioni inviano le modifiche del codice a un ambiente sandbox in cui, mediante processo di commit, viene implementato il test automatizzato del codice. Dopo essere testate, le modifiche del codice vengono inviate live ai server web dall'ambiente sandbox mediante il controllo delle versioni. Nei sistemi containerizzati, il provisioning del server web viene eseguito mediante immagini del disco. L'ambiente di sviluppo desktop Docker offre la funzionalità di controllo delle versioni integrata che consente di pubblicare il codice su un server web tramite stampe di immagini del disco complete che caricano nei container un server web con stack completo. È possibile archiviare le immagini del disco su GitHub, GitLab, DockerHub, Quay o altri servizi per l'uso in framework di orchestrazione automatizzata dei container come Kubernetes.
Funzionalità di controllo delle versioni, CI/CD, condivisione delle informazioni, configurazione del server web, automazione del data center, test del codice, gestione degli artefatti, monitoraggio della rete e funzionalità di analisi sono considerati elementi cruciali nelle pratiche DevOps utilizzate dai team di programmazione professionale e sviluppo software nelle aziende multinazionali e in altre organizzazioni complesse.
DevOps e altri approcci a confronto
Altri approcci al modello DevOps includono la gestione dei progetti Agile, ArchOps, CI/CD (Continuous Integration/Continuous Delivery), DataOps, WebOps e GitOps. Analogamente alle diverse filosofie di gestione aziendale, ciascun team attribuisce una diversa importanza alla gestione dei progetti e all'organizzazione dei team. Alcuni approcci sono basati sulle soluzioni per i talenti, altri sulle piattaforme hardware e software. Il filo conduttore è la produzione e l'utilizzo di codice software nei data center cloud principalmente per i siti web e le applicazioni mobili secondo necessità nelle aziende multinazionali.
Chi adotta il modello DevOps?
La maggior parte delle aziende multinazionali Fortune 500 ha già adottato le metodologie DevOps perché sono considerate best practice del settore. Le più grandi aziende IT sono in prima linea con l'adozione del modello DevOps in quanto ottimizza l'utilizzo dell'architettura di public cloud. Il modello DevOps si basa su una combinazione di ricerca accademica in ambito informatico e sviluppo di software aziendale tra i team di programmazione professionale. Il modello DevOps risponde alle esigenze delle aziende di ridurre i costi e aumentare l'efficienza delle operation di sviluppo del software e produzione. Diverse start-up stanno adottando metodologie DevOps per ottenere un vantaggio competitivo o per stabilire nuove regole nei mercati esistenti. L'adozione del modello DevOps è dettata per lo più dalle esigenze degli amministratori di sistema e dei programmatori professionali, che hanno la necessità di creare soluzioni con stack completo sugli host di public cloud.
Deployment e adozione del modello DevOps
Il deployment del modello DevOps è sempre più diffuso nelle aziende, mentre sta diminuendo l'adozione di metodi di gestione dei progetti centralizzati o monolitici, come Spiral e Waterfall. La community DevOps è nata dalla necessità di rispondere alle problematiche legate alla proliferazione di microservizi che le aziende complesse devono supportare. La principale preoccupazione delle start-up e delle aziende multinazionali è quella di riuscire a finalizzare lo sviluppo del software in tempi più rapidi e con una maggiore sicurezza. Le metodologie DevOps consentono alle aziende di introdurre rapidamente nuove modifiche del codice nella fase di produzione o distribuire patch per le falle nella sicurezza senza interrompere i servizi online esistenti. L'obiettivo delle aziende è ottimizzare il ritorno generato dagli investimenti nella migrazione del data center su cloud con tecniche di DevOps per il deployment di applicazioni web/mobile secondo necessità per il supporto di marchi, prodotti e altri servizi sui siti di eCommerce o tramite requisiti di web publishing nel settore multimediale. Le aziende operanti nel settore della produzione industriale e delle telecomunicazioni adottano metodologie DevOps per migliorare la collaborazione tra i membri di team di programmazione numerosi per il supporto di prodotti e servizi.
Risorse, soluzioni e prodotti VMware per DevOps
Cos'è l'infrastruttura iperconvergente?
Infrastruttura iperconvergente (HCI) è un'infrastruttura Software-Defined con scalabilità orizzontale che consente la convergenza di servizi di dati core su server standard di settore con accelerazione per flash. Scopri di più
Cos'è il Software-Defined Storage?
Il Software-Defined Storage di VMware è un'architettura di storage per il data center semplice ma intelligente che consente di allineare le richieste dell'azienda con quelle delle applicazioni. Ottieni subito ulteriori informazioni.
Software-Defined Data Center: la base per la digital transformation
VMware ti aiuta ad affrontare le sfide correlate ai private cloud e agli hybrid cloud attraverso la creazione di un Software-Defined Data Center (SDDC) più semplice e flessibile. Versione di prova gratuita.
Strumenti e opzioni di deployment di ThinApp
Puoi distribuire le applicazioni acquisite con gli strumenti di deployment, su un sistema di condivisione dei file in rete, come file eseguibili base sui desktop utente oppure in un ambiente VMware View.
Definisci gli obiettivi di monitoraggio per le soluzioni vRealize Operations Manager
Puoi creare una policy per una soluzione di pacchetti di gestione da aggiungere a vRealize Operations Manager.