5 strumenti DevOps che devi conoscere

Pubblicato: 2016-09-27

introduzione

dev-ops

DevOps (Developments and Operations) è un gruppo di concetti o pratiche che enfatizza la collaborazione e la comunicazione sia degli sviluppatori di software che dei professionisti IT . DevOps deriva da due principali tendenze correlate "amministrazione agile del sistema" e "operazioni agili".

DevOps promuove una serie di processi per pensare alla collaborazione e alla comunicazione tra sviluppi e operazioni IT. DevOps può essere utilizzato per riconoscere l'interdipendenza tra sviluppo software e operazioni IT e aiuta un'organizzazione a produrre software e servizi IT più rapidamente . L'obiettivo principale di DevOps è quello di cambiare e migliorare la relazione promuovendo una migliore collaborazione e comunicazione tra le due unità aziendali. DevOps semplifica l'implementazione delle funzionalità in produzione molto rapidamente e il rilevamento e la correzione dei problemi quando si verificano, senza interrompere altri servizi.

Alcuni dei vantaggi DevOps sono elencati di seguito:

  • Time-to-market significativamente più breve.
  • Maggiore produttività ed efficienza.
  • Tasso di fallimento inferiore.
  • Ambienti operativi più stabili e funzionalità di consegna più rapide.
  • Distribuzione continua del software e risoluzione dei problemi più rapida

Nel mondo DevOps, ci sono molti strumenti disponibili sul mercato. Spiegherò alcuni degli strumenti più utili in questo tutorial.

Jenkins

jenkins

Se hai bisogno di accelerare il ciclo di sviluppo del software , allora Jetkins è quello che fa per te. Jenkins è un'utilità open source estensibile di integrazione continua scritta in Java che è ampiamente utilizzata per testare il codice per assicurarsi che non vengano introdotti bug. È un premio multipiattaforma e un'applicazione CI/CD che aumenta la tua produttività. Jenkins è lo strumento più importante per gli ingegneri DevOps per monitorare l'esecuzione di lavori ripetuti. Jetkins è diventato lo standard open source per la gestione del lato dev. Sta rapidamente diventando il motore di devops. Jenkins ha un grande ecosistema di oltre 1.100 plug-in e componenti aggiuntivi . Ciò consentirà ai clienti di aggiungere tutti i tipi di funzionalità e integrare Jenkins con Active Directory su GitHub. Puoi facilmente configurare Jenkins per creare codice, creare contenitori Docker, eseguire test e eseguire il push nell'ambiente di produzione. Puoi facilmente impostare e configurare Jenkins utilizzando la sua interfaccia web e distribuire il lavoro su più macchine. L'utilizzo di Jenkins può aiutarti a osservare eventuali modifiche al codice come SVN e Git, avviare i test, quindi eseguire il rollback o il rollforward in produzione.

Molte aziende, progetti open source e altre organizzazioni utilizzano Jenkins come Dell, Ebay, NASA, Facebook, Linkedin, Netflix, Nokia, Sony, Yahoo! eccetera.

Caratteristiche principali:

  • Build dell'acceleratore
  • Facile installazione e aggiornamenti
  • Build dell'acceleratore
  • Report sui test JUnit/TestNG
  • Integrazione RSS/IM/e-mail
  • Integra facilmente con GitHub, Bugzilla, ZIRA
  • Link permanenti

chef

chef

Chef è uno strumento di gestione e automazione della configurazione open source scritto in Ruby ed Erlang. Chef viene utilizzato per la configurazione del sistema su server fisici, macchine virtuali e nel cloud per controllare e gestire l'infrastruttura IT . Se vuoi gestire uno o mille server, chef automatizza l'intero processo trasformandolo in codice. Puoi integrare facilmente chef con piattaforme basate su cloud come Google Cloud, Openstack, Rackspace e Amazon EC2 per configurare automaticamente nuove macchine virtuali. Chef fornisce soluzioni per infrastrutture IT su piccola e grande scala con grandi funzionalità. Utilizzando gli strumenti Chef, puoi configurare e gestire facilmente la tua infrastruttura da una posizione centrale senza eseguire singole attività su ciascuna macchina. Chef è composto da cinque componenti come Chef Server, Chef Client, Workstation, Chef Analytics e Chef Supermarket.

Molte aziende utilizzano Chef per controllare e gestire la propria infrastruttura come Facebook, Indiegogo, Mozilla, HP Public Cloud, Disney ed Etsy.

Vantaggi dello chef:

  • Gestisci tutti i tuoi ambienti come server Windows, Linux e Solaris nel cloud o on premise.
  • Mantieni un'elevata disponibilità che fornisce bilanciamento del carico automatizzato e failover in caso di guasto della rete o dell'hardware.
  • Gestisci più ambienti cloud dalla posizione centrale.
  • Funzionalità premium disponibili.

Ansible

ansible

Ansible è una piattaforma di automazione IT open source, potente e utilizzata per distribuire facilmente applicazioni e sistemi senza tempi di inattività semplicemente utilizzando SSH. Usando Ansible, puoi gestire i nodi Linux e Windows su SSH o su PowerShell . Ansible è uno strumento di approvvigionamento, simile a Chef, Puppet o Salt ed è uno dei più semplici e facili con cui iniziare. Ansible non utilizza agenti e infrastrutture di sicurezza, quindi è facile da implementare. Inoltre, utilizza uno YAML che ti consente di descrivere i tuoi lavori di automazione in un modo che si avvicina al semplice inglese. Se hai bisogno di distribuire uno o più software su migliaia di nodi, allora entra in gioco Ansible, puoi distribuire molte applicazioni a molti nodi utilizzando un singolo comando. Ci sono molti popolari strumenti di gestione della configurazione disponibili per Linux come Chef e Puppet, ma questi sono più complessi da usare. Ansible è un ottimo strumento alternativo a queste opzioni.

Caratteristiche principali:

  • Dashboard grafico, pianificazione dei lavori, controllo degli accessi basato sui ruoli e gestione grafica dell'inventario.
  • Il sistema di automazione IT più semplice e facile da usare che mai.
  • Esegui facilmente come utente non root.
  • Gestisci più nodi molto rapidamente e in parallelo senza eseguire il bootstrap di alcun software.
  • Esegui attività semplici su qualsiasi host o gruppo di host nel tuo inventario con l'esecuzione dei comandi remoti di Tower.

Docker

docker

Docker è una piattaforma di containerizzazione software open source e leader mondiale che automatizza l'implementazione di applicazioni Linux all'interno di container software. Docker è appositamente progettato per semplificare la creazione, la distribuzione e l'esecuzione di applicazioni utilizzando i contenitori. Docker ci consente di eseguire applicazioni per utilizzare lo stesso kernel Linux del sistema su cui sono in esecuzione. Docker è uno strumento sia per gli sviluppatori che per gli amministratori di sistema, che lo rende parte di molti DevOps. Puoi integrare Docker in vari strumenti di infrastruttura, come Ansible, Amazon Web Services, Chef, Google Cloud Platform e Puppet.

Caratteristiche principali:

  • Gestisci tutti i contenitori di un'app come un unico gruppo.
  • Assembla app multi-contenitore ed esegui su qualsiasi infrastruttura.
  • È possibile eseguire più contenitori in una singola istanza Linux.
  • Docker è così leggero.

Supervisore

supervisore

Supervisor è un sistema di controllo dei processi che consente agli utenti di monitorare e controllare una serie di processi su sistemi operativi simili a UNIX. Supervisore si riferisce a un processo il cui ruolo è monitorare altri processi e processi figlio e riavviarli in caso di arresto anomalo. È molto semplice e configurato tramite un semplice file di configurazione. Puoi facilmente controllare i processi individualmente o in gruppi. Supervisor fornisce una riga di comando locale o remota e un'interfaccia web.

Supervisor fornisce molte opzioni di pre-processo che vengono utilizzate per riavviare i processi non riusciti e la rotazione automatica dei registri.

Caratteristiche principali:

  • Scritto in Python e non richiede un compilatore C per l'installazione
  • Supportato su Solaris Solaris, Linux, Mac OS X e FreeBSD.
  • Gestisci i processi dalla posizione centrale.
  • Ha un protocollo di notifica degli eventi che può essere utilizzato per monitorarlo.