DevOps — cos'è, a cosa serve e quanto è richiesto?

DevOps — cos'è, a cosa serve e quanto è richiesto?

Qualche anno fa, nel settore IT è emersa una nuova professione: l'ingegnere DevOps. Questa figura è rapidamente diventata una delle più popolari e richieste sul mercato. Ma c'è un paradosso: in parte, la popolarità di DevOps è spiegata dal fatto che le aziende che assumono questi specialisti spesso li confondono con professionisti di altri settori. 
 
Questo articolo è dedicato all'analisi delle specificità della professione DevOps, della situazione attuale nel mercato e delle prospettive future. Abbiamo approfondito questa complessa questione con l'aiuto del decano del dipartimento di DevOps in GeekBrains nell'università online GeekUniversity, Dmitrij Burkovskij.

Allora, cosa significa DevOps?

Il termine si riferisce a Development Operations. Non è tanto una professione, quanto un approccio all'organizzazione del lavoro in una media o grande azienda durante la preparazione di un prodotto o servizio. Infatti, nel processo di preparazione sono coinvolti diversi reparti della stessa azienda, e le loro azioni non sempre sono ben coordinate. 
 
Gli sviluppatori, ad esempio, non sempre sono a conoscenza dei problemi che gli utenti riscontrano con il software o il servizio rilasciato. Il supporto tecnico è ben informato, ma potrebbe non conoscere i dettagli 'interni' del software. In questo caso, interviene l'ingegnere DevOps, che aiuta a coordinare il processo di sviluppo, favorisce l'automazione dei processi e migliora la loro trasparenza. 
 
Il concetto di DevOps unisce persone, processi e strumenti. 
 

Cosa deve conoscere e saper fare un ingegnere DevOps?

Secondo uno dei più noti sostenitori del concetto di DevOps, Joe Sanchez, un professionista deve comprendere bene le sfumature del concetto stesso, avere esperienza nell'amministrazione di sistemi sia Windows che Linux, comprendere il codice sorgente scritto in diversi linguaggi di programmazione, e saper lavorare con Chef, Puppet e Ansible. È chiaro che per analizzare il codice è necessario conoscere diversi linguaggi di programmazione e, non basta saperli, ma è preferibile avere anche esperienza nello sviluppo. Inoltre, è molto desiderabile avere esperienza nel testing di prodotti software e servizi già pronti. 
 
Tuttavia, questo è il livello ideale; un'esperienza e una formazione di questo tipo non si trovano in ogni professionista IT. Ecco un insieme di conoscenze e competenze minime necessarie per un buon DevOps:

  • OS GNU/Linux, Windows.
  • Almeno 1 linguaggio di programmazione (Python, Go, Ruby).
  • Lingua di scripting della shell — bash per Linux e powershell per Windows.
  • Sistema di controllo versioni — Git.
  • Sistemi di gestione della configurazione (Ansible, Puppet, Chef).
  • Almeno una delle piattaforme per l'orchestrazione dei contenitori (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
  • Capacità di lavorare con fornitori di servizi cloud (ad esempio: AWS, GCP, Azure e altri) utilizzando Terraform, conoscenza del modo in cui un'applicazione viene distribuita nel cloud.
  • Competenze nella configurazione di pipeline CI/CD (Jenkins, GitLab), stack ELK e sistemi di monitoraggio (Zabbix, Prometheus).

Ecco l'elenco delle competenze che più spesso indicano gli specialisti DevOps su Habr Career.

DevOps — cos'è, a cosa serve e quanto è richiesto?
 
Inoltre, uno specialista DevOps deve comprendere le esigenze e i requisiti del business, vedere il suo ruolo nel processo di sviluppo e saper costruire il processo tenendo conto degli interessi del cliente. 

E riguardo alla soglia d'ingresso?

La lista di conoscenze e competenze presentata in precedenza non è stata fornita invano. Ora diventa più facile capire chi può diventare un professionista DevOps. Sembra che la transizione a questa professione sia più semplice per chi proviene da altre specializzazioni IT, in particolare per amministratori di sistema e sviluppatori. Entrambi possono rapidamente colmare il gap di esperienza e conoscenze. Metà delle competenze necessarie è già in loro possesso, e spesso anche di più.
 
Inoltre, ottimi ingegneri DevOps provengono anche dai tester. Sanno come e cosa funziona, sono a conoscenza dei difetti e delle lacune del software e dell'hardware. Si può dire che un tester che conosce i linguaggi di programmazione e sa scrivere programmi è praticamente un DevOps in erba.
 
D'altra parte, per chi proviene da una specializzazione non tecnica, e che non ha mai avuto a che fare né con lo sviluppo né con l'amministrazione di sistemi, sarà difficile. Certo, nulla è impossibile, ma i principianti devono essere realistici nella valutazione delle proprie capacità. Ci vorrà tempo per acquisire il necessario "bagaglio". 

Dove può lavorare un DevOps?

In a large company whose work is directly or indirectly related to application development and hardware administration. The greatest shortage of DevOps engineers is in companies that provide a large number of services to end consumers. These include banks, telecommunications operators, and major Internet service providers. Among the companies that actively hire DevOps engineers are Google, Facebook, Amazon, and Adobe.
 
Startups with small businesses are also implementing DevOps, but for many of these companies, hiring DevOps engineers is more of a trend than a real necessity. Of course, there are exceptions, but they are not that many. Small companies need someone who can handle various tasks, like a jack-of-all-trades. A good CTO can manage all of this. The key point is that speed is crucial for small businesses, while process optimization is critical for medium and large enterprises. 

Here are some job listings (you can follow new ones on Habr Career at questo link):

DevOps — cos'è, a cosa serve e quanto è richiesto?
 

The salary of DevOps engineers in Russia and worldwide

In Russia, the average salary of a DevOps engineer is around 132 thousand rubles per month. This is based on the salary calculator data from the Habr Career service, derived from 170 surveys for the second half of 2020. Yes, the sample size is not very large, but it serves as a reasonable 'average temperature' for the industry. 
 
DevOps — cos'è, a cosa serve e quanto è richiesto?
Salaries can reach up to 250 thousand rubles, while some may be around 80 thousand or slightly less. It all depends on the company, the qualifications, and, of course, the expert themselves. 

DevOps — cos'è, a cosa serve e quanto è richiesto?
Regarding other countries, salary statistics are also known. The specialists at Stack Overflow did a great job analyzing surveys from about 90 thousand people — not only DevOps but also representatives from various technical fields. It turned out that Engineering Managers and DevOps professionals earn the most. 
 
A DevOps engineer earns about $71 thousand per year. According to Ziprecruiter.com, salaries in this field start at $86 thousand per year. Meanwhile, Payscale.com presents even more appealing figures — the average salary of a DevOps specialist, according to their data, exceeds $91 thousand. This is for junior specialists; a senior can earn up to $135 thousand. 
 
In conclusione, va detto che la domanda per i professionisti del DevOps sta crescendo, e la richiesta supera l'offerta per specialisti di ogni livello. Quindi, se hai il desiderio, puoi provare a intraprendere questo campo. Tuttavia, è importante ricordare che non basta avere voglia: è necessario continuare a svilupparsi, studiare e lavorare.

Fonte: habr.com

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