Come implementare DevOps nel modo giusto


La comunicazione tra dipartimenti è una pratica standard nella maggior parte delle aziende IT. Non puoi far muovere la macchina se non operi come una macchina massiccia e ben oliata, giusto?

Spesso ci sono barriere tra i reparti, che rendono la comunicazione una sfida e ostacolano la capacità della tua organizzazione di portare rapidamente i prodotti sul mercato. Qui è dove DevOps entra in scena.

DevOps può aiutare

DevOps, in sostanza, è un sistema di collaborazione che elimina i team di sviluppo e operativi, che consentono alle organizzazioni di immettere sul mercato software molto più rapidamente, tra gli altri vantaggi. DevOps è un'integrazione di sviluppatori e team operativi per migliorare la produttività e la collaborazione. Questo viene fatto misurando le prestazioni dell'applicazione su base continua, automatizzando l'infrastruttura e i flussi di lavoro e misurando continuamente le prestazioni dell'applicazione.

Implementazione di DevOps nei luoghi di lavoro tecnologici

DevOps non è una "soluzione all-in-one" che può essere semplicemente copiata e incollata. Una strategia DevOps efficace deve essere adattata al posto di lavoro specifico. Avrai bisogno di una strategia di implementazione per distribuire DevOps in ambienti di lavoro tecnologici e creativi.

Ottieni il buy-in

La corretta implementazione di DevOps richiede a tutti di effettuare il buy-in, dalla cima dell'organizzazione alla fine. Come può essere realizzato? Guarda gli incentivi.

  • Alcuni tipi di comportamenti vengono premiati?
  • C'è qualche motivazione per la collaborazione tra team?
  • Quali sono le cose che contano di più per la tua organizzazione?

È essenziale che i tuoi team di sviluppatori e operatori comprendano l'importanza di lavorare insieme per offrire continuamente applicazioni di alta qualità ai tuoi clienti.

Automatizza, automatizza, automatizza

Chiedi ai tuoi dipendenti di esercitarsi a visitare il team DevOps nella tua organizzazione. Falli lavorare insieme per scoprire strumenti che li aiuteranno ad automatizzare il loro lavoro per migliorare l'efficienza e la produttività.

Uno strumento popolare è Jenkins, che consente agli sviluppatori di testare il nuovo codice su ogni nuova build in un linguaggio a misura di sviluppatore. Un altro strumento simile è Bitbucket di Atlassian. Bitbucket funge da repository di controllo della versione basato sul web che ospita servizi di sviluppo e codice sorgente.

Migliorare la sicurezza

Ci sono troppe organizzazioni che non riescono a prendere sul serio la propria sicurezza. In generale, uno dei lati positivi di DevOps è il miglioramento delle pratiche di sicurezza. Implementare strumenti per aiutarti a verificare le vulnerabilità del sistema nella tua organizzazione (test di penetrazione è tuo amico).

Netsparker è un'applicazione web automatica utilizzata per i test di penetrazione. Può eseguire la scansione di oltre 1.000 applicazioni Web al giorno e identificare qualsiasi cosa, dalle iniezioni SQL allo scripting cross-site. E Aircrack è in grado di identificare i difetti all'interno delle connessioni wireless. Non solo può testare i dispositivi Wi-Fi, ma può anche testare le capacità del driver.

Indipendentemente dagli strumenti che usi, non puoi mai eliminare completamente l'elemento umano. Gli errori possono e accadranno, ma è spesso la negligenza che sta alla base di molti problemi di sicurezza dell'organizzazione.

Mitigare i rischi per la sicurezza

  • Durante la distribuzione di applicazioni Web, che tipo di certificati SSL / TLS stai distribuendo?
  • Il tuo disco rigido è crittografato?
  • Stai usando un gestore di password?

La cooperazione e il software tra dipartimenti aumenta la possibilità di diffondere un unico difetto di sicurezza nell'intera azienda (anziché rimanere contenuti in un singolo dipartimento). La corretta implementazione di DevOps richiede un completo cambiamento di mentalità nel modo in cui l'organizzazione si avvicina alla sicurezza.

Implementazione di DevOps in ambienti di lavoro creativi

I reparti creativi, come sviluppatori e designer, sono tagliati da una stoffa diversa rispetto a quelli delle operazioni. Molto spesso un web designer richiede più di un semplice skillset tecnico. Richiedono la creatività per implementare quelle abilità per produrre un prodotto unico che si distingue dalla concorrenza.

Pertanto, le regole che rispettano sono solo leggermente diverse e i luoghi di lavoro creativi richiedono un cambiamento nel modo in cui approcci la tua strategia DevOps.

Incoraggiare la risoluzione creativa dei problemi

Quando gli ingegneri del software risolvono un bug, devono considerare la possibilità che possa arrestarsi in modo anomalo nel sistema successivo su cui viene eseguito. Per evitare problemi futuri, i tipi creativi hanno bisogno di mettere i loro limiti di pensiero e guardare il problema da tutte le angolazioni.

Una persona veramente creativa non vedrebbe solo il bug come un incidente isolato, ma come un possibile sintomo di un problema più diffuso. Scrivere codice, creare nuovo software o progettare un sito Web richiede un pensiero immediato.

Spesso gli sviluppatori e i creativi affrontano i progetti senza prendere in considerazione ciò che l'altro sta pensando. Il semplice lancio di un file PDF di un progetto sul team di sviluppatori della porta accanto comporta inevitabilmente un miscuglio di problemi di comunicazione.

La cooperazione tra dipartimenti può essere migliorata stabilendo una chiara comprensione del progetto, lavorando fianco a fianco, concordando pietre miliari e comprendendo che entrambe le parti probabilmente approccieranno al progetto con metodologie diverse.

L'implementazione di DevOps in un ambiente di lavoro creativo richiede una cultura di crescita della creatività. Altrimenti, i membri del tuo team creativo stanno semplicemente completando le attività loro assegnate.

Elimina la mentalità da 9 a 5

Più lavori con i membri del team creativo, più diventa chiaro che la creatività non funziona secondo un programma prestabilito. Una svolta creativa potrebbe non verificarsi durante l'orario di lavoro. Può colpire a casa, durante una vacanza o proprio alla fine di un turno.

Per i tipi di creatività, il lavoro non dovrebbe essere determinato dalle ore trascorse sul lavoro, ma dal valore effettivo del prodotto finale. Questo tipo di innovazione deriva dall'essere stato consegnato un problema e dato tutto il tempo necessario per trovare una soluzione.

Detto questo, è ancora imperativo seguire gli orari e le scadenze. Questo è il motivo principale per cui è importante che i professionisti creativi della tua organizzazione lavorino con i professionisti nelle operazioni che aiuteranno a mantenerli in linea con programmi e scadenze.

Fai evolvere la cultura creativa

Le organizzazioni creative hanno una cultura unica nel loro genere. Sostenere un ambiente DevOps creerà cambiamenti in quella cultura. La chiave qui è garantire che il cambiamento migliori i processi, la produzione e il prodotto finale, piuttosto che ostacolare queste cose.

Un ottimo modo per farlo è con attività di team building come "Giochi di guerra". I giochi di guerra sono una variazione di simulazioni ed esercizi a cui entrambe le squadre possono prendere parte. Incoraggiano la collaborazione e allo stesso tempo migliorano l'efficienza mettendo alla prova competenze diverse e dando ai team la capacità di gestire situazioni di vita reale con maggiore sicurezza.

Ecco alcuni giochi di guerra che le organizzazioni creative possono implementare:

  • Test di penetrazione – Attacca il tuo sistema e lascialo al team per risolvere il problema. Un test come questo aumenterà la consapevolezza della sicurezza quasi immediatamente. Tuttavia, per mantenere le tue squadre in punta di piedi, è importante farlo a tempo indeterminato (passando da una volta al trimestre a una semestrale).
  • Simula la domanda di picco – Cosa succede ai tuoi sistemi durante l'esecuzione al picco della domanda (o peggio, un attacco DDOS)? Il sistema sarà in grado di ridimensionarsi o arrestarsi in modo anomalo? Non si sa mai fino a quando non si esegue questo scenario.
  • Interruzione a linea singola – Esegui il flusso di lavoro di sviluppo e distribuzione modificando una singola riga di codice. Il disturbo viene notato, viene corretto con la successiva iterazione? Questo è un ottimo modo per migliorare la precisione dei tuoi team.
  • Ripristino di emergenza – In questo scenario, eseguire il backup del sistema e simulare un disastro particolare. Guarda come i team collaborano e superano l'evento. Sono stati in grado di porre rimedio al problema o le cose hanno raggiunto un fallimento catastrofico? Metti alla prova diversi disastri il più possibile per mantenere le tue squadre in punta di piedi.

DevOps è un processo continuo

Quando DevOps è implementato in modo appropriato nella tua organizzazione, otterrai i vantaggi di portare i tuoi prodotti sul mercato molto più velocemente mentre ti concentri sul miglioramento della tua attività.

DevOps non è un affare una tantum, tuttavia. È un processo che richiede e migliora continuamente la collaborazione e la comunicazione. Dai un'occhiata al luogo di lavoro in cui intendi implementare la tua strategia DevOps e concentrati sulle migliori pratiche per garantire il tuo successo.