Video: 3000€ al mese da programmatore freelance (in pigiama) (Novembre 2024)
Se la tua piccola e media impresa (SMB) utilizza una buona quantità di software proprietario e di terze parti, probabilmente dovresti prendere in considerazione l'assunzione di un professionista delle operazioni di sviluppo (DevOps). Questi sviluppatori intelligenti sono responsabili di una vasta gamma di attività, tra cui la scrittura di codice, la creazione di app, il ridimensionamento dell'infrastruttura, la creazione di ambienti virtuali e l'automazione di sistemi e procedure. Supervisionano la progettazione, il controllo qualità (QA) e le operazioni regolari per tutte le comunicazioni software interdipartimentali.
Pensa a questo scenario: il tuo team delle risorse umane (HR) vuole implementare un software HR che può aiutarli a gestire i registri dei dipendenti. Il tuo ingegnere DevOps, che lavora a fianco del tuo team di sviluppo, aiuta a implementare il nuovo strumento, verifica continuamente lo strumento per garantire funzionalità costante, sviluppa funzionalità aggiuntive in base alle esigenze dell'azienda, supervisiona la manutenzione e gli aggiornamenti richiesti, aiuta ad automatizzare processi prevedibili e legami il sistema ad altri sistemi all'interno dell'organizzazione, come lo strumento CRM (Customer Relationship Management). L'ingegnere DevOps dovrebbe essere in grado di contribuire in questo scenario e in tutti gli scenari simili che coinvolgono l'implementazione, la sperimentazione e la comunicazione tra diversi strumenti IT.
"DevOps è molto più che automatizzare il codice", ha affermato EZ Bardeguez, ingegnere DevOps di Zynga, il produttore di giochi responsabile di Farmville e Words with Friends. "Per un'azienda più piccola, un buon ingegnere DevOps è in realtà l'elemento chiave di un prodotto tecnologico".
Secondo Bardeguez, l'obiettivo principale di un ingegnere DevOps è quello di gestire i server di un'azienda, in particolare quelli che utilizzano sistemi operativi (SO) open source come BSD o Linux. Sebbene lavorare con il sistema operativo Windows sia un'alternativa popolare e praticabile, poiché Microsoft addebita a ciascun server e utente, in definitiva è più costoso rispetto all'utilizzo di uno strumento open source, la maggior parte dei quali è gratuito e modificabile all'infinito. Con i sistemi open-source, la tua spesa più grande sarà un ingegnere DevOps in grado di gestire le comunicazioni software dalla A alla Z.
La storia di DevOps Origin
La necessità di DevOps come pratica è iniziata con una linea di pensiero che ha avuto origine all'inizio della Conferenza Agile nel 2008. Durante la conferenza, lo sviluppatore software Patrick Debois (a volte chiamato "Il padrino di DevOps") ha parlato ai suoi colleghi di colmare il divario operativo e filosofico tra sviluppatori e team operativi. Debois, che era stato precedentemente incaricato di un progetto di migrazione dei dati per il governo belga, notò una palpabile tensione tra gli sviluppatori del progetto e gli amministratori di sistema.
L'anno seguente Debois iniziò a promuovere la propria conferenza, Devopsdays, che fu commercializzata per i team di sviluppo e operativi. Presentazioni incluse, "Creazione di infrastrutture agili con Puppet", "Integrazione continua, pipeline e distribuzione" e "Automatizzare la gestione della configurazione". Dopo l'evento, l'hashtag #DevOps di Twitter è diventato (e continua ad essere) l'epicentro di consigli, opinioni e notizie su DevOps (vedi sotto).
#DevOps Tweets
Oggi, il 74% delle imprese ha adottato le pratiche DevOps secondo un rapporto della società IaaS (Infrastructure-as-a-Service) RightScale. E il 70 percento delle PMI intervistate nel rapporto ha anche adottato i principi DevOps.
Dovresti optare per DevOps?
Nel 2014, Forrester Research e IBM hanno gettato le basi per quella che sarebbe diventata la tabella di marcia per il successo di DevOps. Il rapporto, basato su un sondaggio condotto su 600 professionisti IT, ha riscontrato che il successo di DevOps, in particolare per quanto riguarda le distribuzioni di software, si basa su otto best practice chiave. La filosofia si basa sull'idea che le organizzazioni dovrebbero fornire il prodotto minimo praticabile per iniziare e quindi migliorarlo gradualmente nel tempo nelle versioni successive.
Il team DevOps dovrebbe essere un gruppo dedicato con discipline interfunzionali che evita l'eccessiva specializzazione. Il team dovrebbe creare un'architettura liberamente accoppiata tra le applicazioni al fine di semplificare la consegna e dovrebbe ridurre al minimo il numero di passaggi tra i processi per accelerare il flusso di lavoro. I membri del team dovrebbero essere trasparenti sui progressi e sugli ostacoli al fine di comprendere meglio il rischio, ma il team stesso dovrebbe ridurre al minimo i rapporti sullo stato e le riunioni che distraggono dall'effettiva consegna in piccoli lotti. Al fine di semplificare l'intero processo DevOps, il team dovrebbe automatizzare il proprio processo di test in modo da evitare test manuali e dispendiosi in termini di tempo.
Sebbene Bardeguez sia fiducioso sull'importanza del suo ruolo, mette in guardia contro ogni piccola impresa che assume un ingegnere DevOps. "L'idea di tutti coloro che necessitano di questo ruolo è pericolosa. Potrebbe essere del tutto superfluo. Ad esempio, se sei una piccola azienda che si occupa di contabilità per aziende più grandi e fai affidamento principalmente su un file server ed e-mail, allora probabilmente non ' ho bisogno di un ingegnere DevOps. Ma se hai bisogno di automatizzare qualsiasi cosa relativa ai sistemi in relazione al tuo prodotto o servizio, allora sicuramente ne hai bisogno."
L'ideale DevOps Professional
Quindi cosa dovresti cercare in una recluta DevOps? Cominciamo con lo stipendio: l'ingegnere medio DevOps ha registrato un reddito medio annuo di $ 105.600 nel 2015 secondo i dati della rete di distribuzione dei contenuti (CDN) e della società di sicurezza informatica Incapsula. I datori di lavoro in genere cercano candidati con esperienza pratica nei sistemi rispetto ai neolaureati che si sono laureati in informatica. Questo perché gli ingegneri DevOps sono tenuti ad interagire in tutte le discipline aziendali, il che significa che saranno responsabili di convincere i leader di tutte le linee di business che le procedure tecnologiche sperimentali saranno, a lungo termine, più economiche e migliori per l'organizzazione. A questo proposito, qualcuno con un profondo background tecnologico ed esperienza in un ambiente aziendale batte qualcuno che è appena uscito da una scuola della Ivy League.
Dopo aver trovato alcuni candidati con solidi background aziendali o di avvio, cerca persone con una profonda esperienza nell'amministrazione Linux o Unix e con esperienza nell'automazione dei processi utilizzando Chef o Puppet, che sono gli strumenti di automazione IT più comuni sul mercato. Avrai anche bisogno di qualcuno con un ricco background usando i servizi cloud, in particolare Amazon Web Services (AWS). Questa persona dovrebbe essere fluente in MySQL e SQL, nonché nei linguaggi di programmazione PHP, Python o Ruby.