Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Pubblico di riferimento

Sei uno sviluppatore che desidera orientare la propria carriera verso un modello DevOps più avanzato? Sei un classico ingegnere Ops e vorresti avere un'idea di cosa significhi DevOps? Oppure non sei né l'uno né l'altro e, dopo aver trascorso del tempo nel settore delle tecnologie informatiche, desideri cambiare lavoro e non hai idea da dove cominciare?
Se sì, continua a leggere per scoprire come diventare un ingegnere DevOps di livello intermedio in sei mesi! Infine, se hai già lavorato per anni nel DevOps, potrai comunque trarre molte informazioni utili da questo ciclo di articoli e scoprire dove si trova attualmente il settore dell'integrazione e dell'automazione e dove sta andando nel suo sviluppo.

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Che cos'è esattamente?

Innanzitutto, che cos'è DevOps? Puoi cercare definizioni su Google e districarti attraverso tutto questo gergo, ma sappi che la maggior parte delle definizioni è solo un miscuglio di parole, travestito da forma elegante. Ecco quindi un riassunto di tutte queste definizioni: DevOps è un modo di fornire software in cui il dolore e la responsabilità sono condivisi da tutti i soggetti coinvolti. Questo è tutto.

Va bene, ma cosa significa veramente questa abbreviazione? Significa che tradizionalmente gli sviluppatori (Developers), le persone che creano software, erano guidati da stimoli che differivano notevolmente da quelli degli Operations, ovvero le persone che gestiscono il software. Per esempio, come sviluppatore voglio creare il maggior numero possibile di nuove funzionalità il prima possibile. Dopotutto, questo è il mio lavoro e questo è ciò che i clienti richiedono! Tuttavia, se sono una persona Ops, ho bisogno del minor numero possibile di nuove funzionalità, perché ogni nuova funzionalità è una modifica, e ogni modifica è soggetta a guasti. È stata quindi questa discordanza negli stimoli a dare vita a DevOps.

DevOps cerca di unire sviluppo e operazioni (integrazione e automazione) in un unico gruppo. L'idea è che ora un unico gruppo condividerà sia il dolore che la responsabilità (e probabilmente il premio) per la creazione, il deployment e la monetizzazione di software orientato al cliente.

I puristi vi diranno che non esiste una figura chiamata "ingegnere DevOps". "DevOps è una cultura, non un ruolo", vi diranno. Certamente, da un punto di vista tecnico, hanno ragione, ma, come accade spesso, questo termine ha superato il suo significato originale. Quindi, l'ingegnere DevOps è qualcosa di simile a un "ingegnere di sistema 2.0". In altre parole, è qualcuno che comprende il ciclo di vita dello sviluppo software e crea strumenti e processi di sviluppo software per risolvere classiche sfide operative.

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

In definitiva, DevOps significa creare pipeline digitali che prendono il codice dal laptop dello sviluppatore e lo trasformano in entrate dal prodotto finale, questo è il punto. È importante notare che la scelta di una carriera DevOps è abbastanza ben retribuita, e quasi ogni azienda o fa DevOps o pretende di farlo. Indipendentemente da dove si trovino queste aziende, le opportunità di lavoro come DevOps sono piuttosto elevate e implicano un'occupazione "divertente" e significativa per molti anni a venire.

Tuttavia, fate attenzione alle aziende che assumono una "team DevOps" o un "dipartimento DevOps". Strettamente parlando, tali cose non dovrebbero esistere, perché in fin dei conti, DevOps è comunque una cultura e un modo di consegnare software, non il reclutamento di un nuovo team o la creazione di un reparto con un nome alla moda.

Dichiarazione di non responsabilità

Ora mettiamo da parte per un momento il bicchiere di "Cool-Aid" e pensiamo a questo. Avete sentito il vecchio detto "non ci sono ingegneri DevOps junior"? Se non lo sapete, sappiate che è un tropo popolare su Reddit e StackOverflow. Ma cosa significa?

In parole semplici, questa frase significa che sono necessari molti anni di esperienza combinati con una solida comprensione degli strumenti per diventare veramente un praticante efficace come Senior DevOps. E, sfortunatamente, non esiste una scorciatoia per raggiungere questo obiettivo. Pertanto, non si tratta di cercare di ingannare il sistema: non credo che si possa davvero simulare di essere un ingegnere DevOps senior con pochi mesi di esperienza in questo settore. Raggiungere una chiara comprensione degli strumenti e delle metodologie in rapida evoluzione richiede anni di esperienza, e non ci si può sfuggire. Tuttavia, esiste un menu quasi concordato (alla moda, se vuoi) di strumenti e concetti utilizzati dalla maggior parte delle aziende, ed è di questo di cui parleremo.

Ancora una volta, gli strumenti sono diversi dalle competenze, quindi mentre studi gli strumenti, assicurati di non trascurare le tue abilità (interviste, creazione di reti, comunicazione scritta, risoluzione dei problemi, ecc.). La cosa principale è non perdere di vista ciò che vogliamo trovare: un modo per creare una pipeline digitale completamente automatizzata che prenda idee e le trasformi in frammenti di codice redditizi. Questa è l'unica e più importante conclusione di tutto questo articolo!

Basta chiacchiere, quando posso iniziare?

Di seguito è riportata la mappa delle "Competenze fondamentali DevOps". Dopo aver padroneggiato tutto ciò che è rappresentato lì, puoi tranquillamente e onestamente definirti ingegnere DevOps! O ingegnere cloud, se non ti piace il titolo di "DevOps".

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Questa mappa riflette la mia (e probabilmente quella della maggior parte delle persone che lavorano in questo settore) idea di ciò che un ingegnere DevOps competente dovrebbe sapere. Tuttavia, questa è solo un'opinione, e ci saranno sicuramente dissensi al riguardo. Va bene! Non puntiamo alla perfezione, ma a costruire una base solida sulla quale sia realmente possibile costruire.

Devi seguire questo percorso gradualmente, strato dopo strato. Dovresti iniziare (e continuare!) dalle basi fondamentali, studiando prima gli elementi contrassegnati in blu: Linux, Python e AWS. Poi, se il tempo o la domanda del mercato del lavoro lo consentono, occupati delle cose in viola: Golang e Google Cloud.

A dire il vero, il livello superiore fondamentale è qualcosa che dovrete studiare all'infinito. Il sistema operativo Linux è molto complesso e richiede anni per essere padroneggiato. Python richiede pratica costante per rimanere aggiornati. AWS si evolve così rapidamente che ciò che sapete oggi sarà solo una parte del vostro bagaglio di conoscenze tra un anno. Una volta che avrete imparato le basi, passate a un vero insieme di abilità. Ricordate che ci sono 6 colonne blu (Configurazione, Versione, Imballaggio, Distribuzione, Avvio, Monitoraggio), una per ogni mese di studio.

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Certamente avrete notato l'assenza di una fase cruciale nel nostro programma semestrale: il collaudo. Non l'ho inclusa intenzionalmente nella roadmap, poiché scrivere moduli, integrazioni e test di accettazione sono compiti impegnativi e tradizionalmente ricadono sui programmatori. L'assenza della fase 'test' è dovuta al fatto che lo scopo di questa roadmap è apprendere il più rapidamente possibile le competenze e gli strumenti di base. La mancanza di esperienza nel collaudo, secondo l'autore, è solo un ostacolo minore per un uso corretto del DevOps.

Inoltre, tenete presente che non stiamo studiando qui un mucchio di tecnicismi sconnessi, ma puntiamo a comprendere gli strumenti che, in modo coeso, creano una storia comprensibile. Questa storia rappresenta l'automazione end-to-end del processo: una catena digitale che muove i bit come una catena di montaggio. Non volete studiare una quantità di strumenti e fermarvi di continuo! Il toolkit DevOps cambia rapidamente, mentre i concetti lo fanno molto più raramente. Pertanto, dovete cercare di utilizzare gli strumenti come proxy didattici per concetti di livello superiore.

Bene, andiamo un po' più a fondo!

Conoscenze fondamentali

Sotto il gradino superiore con la scritta Foundation, vedete le competenze che ogni ingegnere DevOps deve padroneggiare. Queste competenze consistono nel saper gestire con sicurezza i tre "pilastri" del settore: il sistema operativo, il linguaggio di programmazione e il cloud pubblico. Queste cose non sono facili da apprendere rapidamente e poi abbandonare. È necessario migliorare continuamente e affinare la propria abilità nell'usarli, per rimanere all'avanguardia del settore e aggiornare l'ambiente professionale che vi circonda. Passiamo in rassegna ciascuna di queste competenze.

Linux è il luogo in cui tutto funziona. Potete essere un pratico DevOps straordinario rimanendo completamente nell'ecosistema Microsoft? Certamente, potete! Non esiste una legge che obblighi ad utilizzare solo Linux. Tuttavia, tenete presente che, nonostante tutte le cose di Linux possano essere realizzate anche in Windows, ciò avviene in modo molto più difficile e con minori funzionalità. Al momento, si può affermare con certezza che senza la conoscenza di Linux è impossibile diventare un vero professionista DevOps, quindi Linux è qualcosa che dovete assolutamente studiare e approfondire.

A essere onesti, il modo migliore per farlo è semplicemente installare Linux (Fedora o Ubuntu) a casa e usarlo il più possibile. Certo, romperete molte cose, rimarrete bloccati in vari processi di lavoro, e dovrete correggere tutto, ma così facendo imparerete Linux!

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

A proposito, in Nord America le varianti RedHat sono più diffuse, quindi ha senso iniziare con Fedora o CentOS. Se vi state chiedendo se acquistare l'edizione KDE o Gnome, scegliete KDE. È quello che usa lo stesso Linus Torvalds.

Oggi Python è il linguaggio back-end dominante. È facile iniziare a lavorare con esso ed è ampiamente utilizzato. Python è molto diffuso nel campo dell'intelligenza artificiale e del machine learning, quindi se mai vorrete passare a un altro settore in forte crescita, sarete completamente pronti.

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Amazon Web Services: di nuovo, è impossibile diventare un professionista DevOps esperto senza una solida comprensione di come funziona il cloud pubblico. E se volete sapere il più possibile su questo argomento, studiate Amazon Web Services. Questo è il leader nel settore dei servizi, che offre la più ricca gamma di strumenti di lavoro.

È possibile iniziare con Google Cloud o Azure invece di questo? Certo, si può! Tuttavia, considerando l'ultimo crisi finanziaria, è importante notare che AWS è l'opzione più sicura, almeno nel 2018, poiché consente di registrarsi gratuitamente e iniziare a esplorare le potenzialità dei servizi cloud. Inoltre, la console di AWS offre all'utente un menu semplice e chiaro per la selezione. La buona notizia è che per questo non è necessario conoscere tutte le tecnologie di Amazon.

Come diventare un ingegnere DevOps in sei mesi o anche prima. Parte 1. Introduzione

Inizia con i seguenti: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing sotto EC2) e Security Group. Queste cose sono sufficienti per iniziare, e ogni impresa cloud moderna utilizza attivamente questi strumenti. Il sito di formazione ufficiale di AWS è un ottimo punto di partenza.

Ti consiglio di dedicare 20-30 minuti al giorno per studiare e praticare con il linguaggio Python, il sistema operativo Linux e il servizio cloud AWS, oltre ad altre cose che dovrai apprendere. In generale, ritengo che dedicare un'ora al giorno cinque volte a settimana sia sufficiente per comprendere i processi in corso nel settore DevOps in sei mesi o anche meno. Ci sono in totale 6 elementi principali, ciascuno dei quali corrisponde a un mese di apprendimento. Questo è tutto ciò che ti servirà per acquisire conoscenze di base.
Negli articoli successivi esamineremo il livello successivo di complessità: come automatizzare completamente la configurazione, la versione, il pacchettizzazione, il deploy, l'esecuzione e il monitoraggio del software.

Il seguito arriverà molto presto…

Un po' di pubblicità 🙂

Grazie per rimanere con noi. Ti piacciono i nostri articoli? Vuoi vedere più contenuti interessanti? Supportaci effettuando un ordine o raccomandandoci a qualcuno. VPS cloud per sviluppatori a partire da $4.99., unica alternativa ai server entry-level, concepita da noi per te: Tutta la verità sui VPS (KVM) E5-2697 v3 (6 Core) 10GB DDR4 480GB SSD 1Gbps a partire da $19 o come dividere correttamente un server? (sono disponibili opzioni con RAID1 e RAID10, fino a 24 core e fino a 40GB DDR4).

Dell R730xd a metà prezzo nel data center Equinix Tier IV ad Amsterdam? Solo da noi 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB a partire da $199 nei Paesi Bassi! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — a partire da $99! Leggi di Come costruire un'infrastruttura di livello enterprise utilizzando server Dell R730xd E5-2650 v4 del valore di 9000 euro a pochi spiccioli?

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster