DevOps: ¿qué es, para qué sirve y cuán demandado está?

DevOps: ¿qué es, para qué sirve y cuán demandado está?

Hace unos años, surgió en el sector de TI una nueva profesión: el ingeniero DevOps. Rápidamente se convirtió en una de las más populares y demandadas en el mercado. Pero aquí está la paradoja: la popularidad de DevOps se debe en parte a que las empresas que contratan a estos especialistas a menudo los confunden con profesionales de otras disciplinas. 
 
Este artículo está dedicado a examinar los matices de la profesión de DevOps, la situación actual del mercado y las perspectivas. Nos adentramos en esta compleja cuestión con la ayuda del decano de la facultad de DevOps en GeekBrains en la universidad en línea GeekUniversity, Dmitry Burkovsky.

Entonces, ¿qué es DevOps?

El término se desglosa como Desarrollo y Operaciones. No es tanto una profesión, sino un enfoque para organizar el trabajo en una empresa mediana o grande al desarrollar un producto o servicio. Cabe destacar que en el proceso de desarrollo participan diferentes departamentos de una misma empresa, y sus acciones no siempre están bien coordinadas. 
 
Por ejemplo, los desarrolladores a menudo no saben cuáles son los problemas que enfrentan los usuarios que utilizan el software o servicio publicado. El soporte técnico lo sabe todo perfectamente, pero puede no estar al tanto de lo que sucede "dentro" del software. Aquí es donde entra el ingeniero DevOps, que ayuda a coordinar el proceso de desarrollo, promueve la automatización de procesos y mejora su transparencia. 
 
La concepto de DevOps une personas, procesos y herramientas. 
 

¿Qué debe saber y ser capaz de hacer un ingeniero DevOps?

Según uno de los más conocidos defensores del concepto de DevOps, Joe Sánchez, un representante de esta profesión debe comprender bien los matices del concepto en sí, tener experiencia en la administración tanto de sistemas Windows como Linux, comprender el código programado en diferentes lenguajes de programación, y trabajar con Chef, Puppet, Ansible. Es evidente que para analizar el código es necesario conocer varios lenguajes de programación, y no solo conocerlos, sino también tener experiencia en desarrollo. Además, es muy deseable tener experiencia en pruebas de productos y servicios de software terminados. 
 
Pero esto es en lo ideal, tal nivel de experiencia y conocimientos no se encuentra en cada representante del sector de TI. Aquí hay un conjunto de conocimientos y experiencias mínimamente necesarios para un buen DevOps:

  • Sistemas operativos GNU/Linux, Windows.
  • Mínimo 1 lenguaje de programación (Python, Go, Ruby).
  • Lenguaje de scripting de shell — bash al trabajar con Linux y powershell en el caso de Windows.
  • Sistema de control de versiones — Git.
  • Sistemas de gestión de configuración (Ansible, Puppet, Chef).
  • Al menos una de las plataformas para la orquestación de contenedores (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
  • Capacidad para trabajar con proveedores de nube (por ejemplo: AWS, GCP, Azure, etc.) utilizando Terraform, saber cómo se despliega una aplicación en la nube.
  • Habilidad para configurar un pipeline CI/CD (Jenkins, GitLab), stack ELK, sistemas de monitoreo (Zabbix, Prometheus).

Aquí hay una lista de habilidades que con mayor frecuencia indican los especialistas en DevOps en Habr Carrera.

DevOps: ¿qué es, para qué sirve y cuán demandado está?
 
Además, un especialista en DevOps debe entender las necesidades y requisitos del negocio, ver su papel en el proceso de desarrollo y saber construir el proceso teniendo en cuenta los intereses del cliente. 

¿Y qué pasa con la barrera de entrada?

La lista de conocimientos y experiencia no fue presentada en vano. Ahora se hace más fácil entender quién puede convertirse en especialista en DevOps. Al parecer, es más sencillo para los representantes de otras especialidades de TI, especialmente para administradores de sistemas y desarrolladores, realizar esta transición. Ambos pueden rápidamente aumentar el volumen necesario de experiencia y conocimientos. Ya tienen la mitad del conjunto necesario, y a menudo más de la mitad.
 
Además, los excelentes ingenieros DevOps provienen de los testers. Saben qué y cómo funciona, están al tanto de las deficiencias y problemas del software y hardware. Se puede decir que un tester que conoce lenguajes de programación y sabe escribir programas está a un paso de ser un DevOps.
 
Sin embargo, a un representante de una especialidad no técnica que nunca ha tratado con desarrollo o administración de sistemas le será difícil. Por supuesto, nada es imposible, pero los principiantes deben evaluar adecuadamente sus capacidades. Se requerirá bastante tiempo para adquirir el 'bagaje' necesario. 

¿Dónde puede trabajar un DevOps?

En una gran empresa cuyo trabajo esté directa o indirectamente relacionado con el desarrollo de aplicaciones y la administración de hardware. Hay una gran escasez de ingenieros DevOps en empresas que ofrecen una gran cantidad de servicios a los consumidores finales. Esto incluye bancos, operadores de telecomunicaciones, los principales proveedores de Internet, entre otros. Algunas de las empresas que están contratando activamente ingenieros DevOps son Google, Facebook, Amazon, Adobe.
 
Las startups y pequeñas empresas están adoptando DevOps, pero para muchas de estas compañías, la contratación de ingenieros DevOps es más una cuestión de moda que una necesidad real. Por supuesto, existen excepciones, pero no son muchas. Las pequeñas empresas requieren más bien un "hombre orquesta", es decir, alguien que sea capaz de trabajar en múltiples áreas. Un buen CTO puede manejar todo esto. La cuestión es que para las pequeñas empresas, la velocidad de operación es crucial, mientras que la optimización de los procesos laborales es crítica para las empresas medianas y grandes. 

Aquí hay algunas ofertas de trabajo (puedes seguir las nuevas en Habr Carrera por este enlace):

DevOps: ¿qué es, para qué sirve y cuán demandado está?
 

Salario de DevOps en Rusia y el mundo

En Rusia, el salario promedio de un ingeniero DevOps es de alrededor de 132 mil rublos al mes. Estos son cálculos del calculador de salarios del servicio Habr Carrera, realizados sobre la base de 170 encuestas para el segundo semestre de 2020. Sí, la muestra no es muy grande, pero como "temperatura media del hospital", es bastante adecuada. 
 
DevOps: ¿qué es, para qué sirve y cuán demandado está?
Hay salarios que alcanzan los 250 mil rublos, y otros alrededor de 80 mil o un poco menos. Todo depende de la empresa, la cualificación y el propio especialista, por supuesto. 

DevOps: ¿qué es, para qué sirve y cuán demandado está?
En cuanto a otros países, también hay estadísticas salariales disponibles. Los especialistas de Stack Overflow realizaron un buen trabajo analizando las encuestas de alrededor de 90 mil personas, no solo DevOps, sino en general de representantes de profesiones técnicas. Resultó que los Engineering Managers y los DevOps son los que más ganan. 
 
Un ingeniero DevOps gana alrededor de $71 mil al año. Según datos de Ziprecruiter.com, el salario de un profesional en este campo varía desde los $86 mil al año. Y el servicio Payscale.com muestra cifras aún más agradables a la vista: el salario promedio de un especialista en DevOps, según el servicio, supera los $91 mil. Y este es el salario de un especialista junior, mientras que un senior puede ganar $135 mil. 
 
En conclusión, cabe señalar que la demanda de DevOps está aumentando gradualmente, y la demanda de especialistas de cualquier nivel supera la oferta. Así que si tienes ganas, puedes probar suerte en este campo. Sin embargo, hay que recordar que solo desearlo no es suficiente. Es necesario desarrollarse constantemente, aprender y trabajar.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster