¿Qué es la metodología DevOps y quién la necesita?

Averigüemos cuál es la esencia de la metodología y a quién puede beneficiar.

También hablaremos de los especialistas en DevOps: sus tareas, salarios y habilidades.

¿Qué es la metodología DevOps y quién la necesita?
Galleria Matt Moore /Flickr/CC BY-SA

¿Qué es DevOps?

DevOps es una metodología de desarrollo de software cuya tarea es establecer la interacción entre programadores y administradores de sistemas en una empresa. Si los especialistas de TI de diferentes departamentos no comprenden las tareas de los demás, se retrasa el lanzamiento de nuevas aplicaciones y actualizaciones.

DevOps crea un ciclo de desarrollo "sin interrupciones", lo que ayuda a acelerar el lanzamiento de un producto de software. La aceleración se logra mediante la introducción de sistemas de automatización. Además, los programadores comienzan a participar en la configuración de servidores y la búsqueda de errores; por ejemplo, pueden escribir pruebas automatizadas.

Esto mejora la interacción entre departamentos. Los empleados comienzan a comprender mejor por qué etapas pasa un producto de software antes de llegar a manos del usuario.

Cuando un desarrollador comprende a qué se enfrenta un administrador al configurar un servidor, intentará suavizar posibles "rincones agudos" en el código. Esto reduce la cantidad de errores al implementar una aplicación; según las estadísticas, disminuye unas cinco veces.

Quién necesita y quién no necesita la metodología

Muchos Los expertos en TI creenque DevOps beneficiará a cualquier organización que desarrolle software. Esto es cierto incluso si la empresa es un simple consumidor de servicios de TI y no desarrolla sus propias aplicaciones. En este caso, implementar una cultura DevOps le ayudará a centrarse en la innovación.

La excepción cuenta para startups, pero aquí todo depende de la escala del proyecto. Si su objetivo es lanzar un producto mínimo viable (MVP) para probar una nueva idea, entonces puede prescindir de DevOps. Por ejemplo, el fundador de Groupon empezó a trabajar en el servicio manualmente. al corriente todas las ofertas de la web y pedidos recogidos. No utilizó ninguna herramienta de automatización.

Sólo tiene sentido implementar metodologías y herramientas de automatización cuando la aplicación comienza a ganar popularidad. Esto ayudará a agilizar los procesos comerciales y acelerar la publicación de actualizaciones.

Cómo implementar DevOps

A continuación se presentan algunas recomendaciones para cambiar a una nueva metodología.

Identificar problemas en los procesos de negocio. Antes de implementar la metodología, resalte los objetivos y problemas de la organización. De ellos dependerá la estrategia de transición a DevOps. Para hacer esto, haga una lista de preguntas, por ejemplo:

  • ¿Qué lleva más tiempo al actualizar el software?
  • ¿Es posible automatizar este proceso?
  • ¿La estructura de la organización afecta esto?

Obtenga más información sobre cómo identificar problemas en una organización. se puede leer en libros «Proyecto "Fénix""Y"Guía de DevOps» de los autores de la metodología.

Cambiar la cultura en la empresa. Es importante convencer a todos los empleados de que cambien su forma habitual de trabajar y amplíen su gama de competencias. Por ejemplo, en Facebook todos los programadores reunirse para todo el ciclo de vida de la aplicación: desde la codificación hasta la implementación. Además, Facebook no tiene un departamento de pruebas independiente: las pruebas las escriben los propios desarrolladores.

Comience poco a poco. Elija el proceso que requiera más tiempo y esfuerzo al publicar actualizaciones y automatícelo. Este tal vez proceso de prueba o implementación de aplicaciones. Expertos aconsejar El primer paso es implementar herramientas de control de versiones distribuidas. Facilitan la gestión de fuentes. Entre estas soluciones, las más famosas son Git, Mercurial, Subversion (SVN) y CVS.

También vale la pena prestar atención a los sistemas de integración continua encargados del montaje y prueba del producto final. Ejemplos de tales herramientas: Jenkins, TeamCity y Bamboo.

Evaluar mejoras. Desarrollar métricas de desempeño para las soluciones implementadas y crear una lista de verificación. Las métricas pueden incluir la frecuencia de lanzamiento, el tiempo dedicado a trabajar en las funciones del software y la cantidad de errores en el código. Discuta los resultados no solo con los gerentes, sino también con el resto del equipo involucrado en el proyecto. Pregunte qué herramientas faltan. Tenga en cuenta estas solicitudes a la hora de optimizar aún más sus procesos.

Críticas a DevOps

Aunque la metodología ayudado las organizaciones pueden tomar decisiones más rápidas con respecto al desarrollo de aplicaciones, reduce La cantidad de errores en el software y alienta a los empleados a aprender cosas nuevas, también tiene críticas.

Hay verque los programadores no deberían comprender los detalles del trabajo de los administradores de sistemas. Supuestamente, DevOps lleva al hecho de que en lugar de especialistas en desarrollo o administración, la empresa tiene personas que entienden todo, pero superficialmente.

También se cree que DevOps no funciona con mala gestión. Si los equipos de desarrollo y administración no tienen objetivos comunes, los responsables son los responsables de no organizar la comunicación entre los equipos. Para resolver este problema lo que se necesita no es una nueva metodología, sino un sistema de evaluación de los directivos basado en la retroalimentación de los subordinados. Puede leerlo aquí, ¿Qué preguntas deben incluirse en los formularios de encuesta a los empleados?.

¿Qué es la metodología DevOps y quién la necesita?
Galleria Ed Ivanushkin /Flickr/CC BY-SA

¿Quién es un ingeniero de DevOps?

Un ingeniero de DevOps implementa la metodología DevOps. Sincroniza todas las etapas de la creación de un producto de software: desde escribir el código hasta probar y lanzar la aplicación. Dicho especialista controla los departamentos de desarrollo y administración, además automatiza la ejecución de sus tareas mediante la introducción de diversas herramientas de software.

El truco de un ingeniero DevOps es que combina muchas profesiones: administrador, desarrollador, tester y manager.

Joe Sánchez, evangelista de DevOps en VMware, una empresa de software de virtualización, señalado una serie de habilidades que debe tener un ingeniero de DevOps. Además del conocimiento obvio de la metodología DevOps, esta persona debe tener experiencia en la administración de sistemas operativos Windows y Linux y experiencia trabajando con herramientas de automatización como ChefMarionetaAnsible. También debería poder escribir scripts y códigos en un par de idiomas y comprender las tecnologías de red.

Un ingeniero de DevOps es responsable de cualquier automatización de tareas relacionadas con la configuración e implementación de aplicaciones. La monitorización de software también recae sobre sus hombros. Para resolver estos problemas, utiliza varios sistemas de gestión de configuración, soluciones de virtualización y herramientas en la nube para equilibrar recursos.

quien esta contratando

Los ingenieros de DevOps pueden beneficiar a cualquier organización que desarrolle aplicaciones o administre una gran cantidad de servidores. ingenieros devops estan contratando Gigantes de TI como Amazon, Adobe y Facebook. También trabajan en Netflix, Walmart y Etsy.

No contratar Los ingenieros de DevOps son sólo empresas emergentes. Su trabajo es lanzar un producto mínimo viable para probar una nueva idea. En la mayoría de los casos, las startups pueden prescindir de DevOps.

Cuánto pago

ingenieros devops ganar más que nadie en la industria. Los ingresos medios de estos especialistas en todo el mundo oscilan entre 100 y 125 mil dólares al año.

En los EE.UU. ellos conseguir 90 mil dólares al año (500 mil rublos al mes). En Canadá ellos ser pagado 122 mil dólares al año (670 mil rublos al mes) y en el Reino Unido, 67,5 mil libras esterlinas al año (490 mil rublos al mes).

En cuanto a Rusia, las empresas de Moscú готовы Pague a los especialistas de DevOps de 100 a 200 mil rublos por mes. En San Petersburgo, los empleadores son un poco más generosos: ofrecen entre 160 y 360 mil rublos al mes. En las regiones, los salarios se cotizan entre 100 y 120 mil rublos al mes.

Cómo convertirse en un especialista en DevOps

DevOps es una dirección relativamente nueva en TI, por lo que no existe una lista establecida de requisitos para los ingenieros de DevOps. En las vacantes, entre los requisitos para este puesto se pueden encontrar habilidades de administración de Debian y CentOS y capacidad para trabajar con unidades de disco. matrices RAID.

En base a esto, podemos concluir que, en primer lugar, un ingeniero de DevOps debe tener una buena perspectiva técnica. Es importante que una persona así aprenda constantemente nuevas herramientas y tecnologías.

La forma más sencilla de convertirse en ingeniero de DevOps sería ser administrador o desarrollador de sistemas. Ya tienen una serie de habilidades que sólo necesitan desarrollarse. La tarea principal es mejorar el conjunto mínimo de conocimientos en DevOps, comprender cómo trabajar con herramientas de automatización y llenar vacíos en habilidades de administración, programación y virtualización.

Para comprender dónde aún falta conocimiento, puede utilizar mini-Wikipedia en GitHub o mapa mental. Los residentes de Hacker News también Recomendar leer libros "Proyecto "Fénix""Y"Guía de DevOps" (que mencionamos anteriormente) y "Filosofía DevOps. El arte de la gestión de TI» bajo el sello de O'Reilly Media.

También puedes suscribirte a Boletín semanal de Devops, leer artículos de actualidad portal DZone y comience a comunicarse con los ingenieros de DevOps en charla floja. También vale la pena consultar los cursos gratuitos sobre Udacity o Edx.

Publicaciones de nuestro blog:



Fuente: habr.com

Añadir un comentario