Que é a metodoloxía DevOps e quen a necesita

Imos descubrir cal é a esencia da metodoloxía e a quen pode beneficiar.

Tamén falaremos dos especialistas de DevOps: as súas tarefas, soldos e habilidades.

Que é a metodoloxía DevOps e quen a necesita
foto Matt Moore /Flickr/CC BY-SA

Que é DevOps

DevOps é unha metodoloxía de desenvolvemento de software cuxa tarefa é establecer a interacción entre programadores e administradores de sistemas nunha empresa. Se os especialistas informáticos de diferentes departamentos non entenden as tarefas dos outros, atrasase o lanzamento de novas aplicacións e actualizacións para eles.

DevOps crea un ciclo de desenvolvemento "sen interrupcións", axudando así a acelerar o lanzamento dun produto de software. A aceleración conséguese mediante a introdución de sistemas de automatización. Ademais, os programadores comezan a participar na configuración dos servidores e na busca de erros, por exemplo, poden escribir probas automatizadas.

Isto mellora a interacción entre os departamentos. Os empregados comezan a comprender mellor por que fases pasa un produto de software antes de que chegue a mans do usuario.

Cando un desenvolvedor entende a que se enfronta un administrador ao configurar un servidor, tentará suavizar posibles "esquinas afiadas" do código. Isto reduce o número de erros ao despregar unha aplicación - segundo as estatísticas, iso diminúe unhas cinco veces.

Quen precisa e non precisa da metodoloxía

Moitos Os expertos en TI crenque DevOps beneficiará a calquera organización que desenvolva software. Isto é certo aínda que a empresa sexa un simple consumidor de servizos informáticos e non desenvolva as súas propias aplicacións. Neste caso, implementar unha cultura DevOps axudarache a centrarte na innovación.

Excepción maquillaxe startups, pero aquí todo depende da escala do proxecto. Se o teu obxectivo é lanzar un produto mínimo viable (MVP) para probar unha nova idea, podes prescindir de DevOps. Por exemplo, o fundador de Groupon comezou a traballar no servizo manualmente enviou todas as ofertas no sitio web e pedidos recollidos. Non utilizou ningunha ferramenta de automatización.

Só ten sentido implementar metodoloxía e ferramentas de automatización cando a aplicación comeza a gañar popularidade. Isto axudará a axilizar os procesos comerciais e a acelerar a publicación de actualizacións.

Como implementar DevOps

A continuación móstranse algunhas recomendacións para cambiar a unha nova metodoloxía.

Identificar problemas nos procesos de negocio. Antes de aplicar a metodoloxía, destaca os obxectivos e problemas da organización. Deles dependerá a estratexia para a transición a DevOps. Para iso, fai unha lista de preguntas, por exemplo:

  • Que leva máis tempo ao actualizar o software?
  • É posible automatizar este proceso?
  • Inflúe isto a estrutura da organización?

Máis información sobre a identificación de problemas nunha organización pódese ler nos libros «Proxecto "Phoenix""E"Guía DevOps» dos autores da metodoloxía.

Cambiar a cultura na empresa. É importante convencer a todos os empregados para que cambien as súas formas habituais de traballo e amplíen o seu abano de competencias. Por exemplo, en Facebook todos os programadores resposta para todo o ciclo de vida da aplicación: desde a codificación ata a implementación. Ademais, Facebook non ten un departamento de probas separado: as probas son escritas polos propios desenvolvedores.

Comezar pequeno. Escolle o proceso que leva máis tempo e esforzo ao publicar actualizacións e automatízao. Isto quizais proceso de proba ou implantación de aplicacións. Expertos aconsellar O primeiro paso é implementar ferramentas de control de versións distribuídas. Facilitan a xestión das fontes. Entre tales solucións, as máis famosas son Git, Mercurial, Subversion (SVN) e CVS.

Tamén merece a pena prestar atención aos sistemas de integración continua encargados de montar e probar o produto final. Exemplos de tales ferramentas: Jenkins, TeamCity e Bamboo.

Avaliar as melloras. Desenvolver métricas de rendemento para as solucións implementadas e crear unha lista de verificación. As métricas poden incluír a frecuencia de lanzamento, o tempo dedicado a traballar nas funcións do software e o número de erros no código. Discuta os resultados non só cos directivos, senón tamén co resto do equipo implicado no proxecto. Pregunta que ferramentas faltan. Teña en conta estas solicitudes ao optimizar aínda máis os seus procesos.

Crítica a DevOps

Aínda que a metodoloxía axuda as organizacións poden tomar decisións máis rápidas sobre o desenvolvemento de aplicacións, cortes o número de erros no software e anima aos empregados a aprender cousas novas, tamén ten críticas.

Ten opiniónque os programadores non deben comprender os detalles do traballo dos administradores do sistema. Supostamente, DevOps leva a que en lugar de especialistas en desenvolvemento ou administración, a empresa ten persoas que o entenden todo, pero superficialmente.

Tamén se cre que DevOps non funciona cunha mala xestión. Se os equipos de desenvolvemento e administración non teñen obxectivos comúns, os responsables son os responsables de non organizar a comunicación entre os equipos. Para solucionar este problema, o que se precisa non é unha nova metodoloxía, senón un sistema de avaliación dos xestores baseado na retroalimentación dos subordinados. Podes lelo aquí, que preguntas deben incluírse nos formularios de enquisas dos empregados.

Que é a metodoloxía DevOps e quen a necesita
foto Ed Ivanushkin /Flickr/CC BY-SA

Quen é enxeñeiro de DevOps

Un enxeñeiro de DevOps implementa a metodoloxía DevOps. Sincroniza todas as fases da creación dun produto de software: desde a escritura de código ata a proba e a liberación da aplicación. Este especialista controla os departamentos de desenvolvemento e administración, ademais de automatizar a execución das súas tarefas introducindo diversas ferramentas de software.

O truco dun enxeñeiro de DevOps é que combina moitas profesións: administrador, programador, probador e xestor.

Joe Sanchez, evanxelista de DevOps en VMware, unha empresa de software de virtualización, sinalado unha serie de habilidades que debe ter un enxeñeiro de DevOps. Ademais do coñecemento obvio da metodoloxía DevOps, esta persoa debe ter experiencia na administración de sistemas operativos Windows e Linux e experiencia traballando con ferramentas de automatización como XefeTítereAnsible. Tamén debería ser capaz de escribir scripts e código nun par de idiomas e comprender tecnoloxías de rede.

Un enxeñeiro de DevOps é responsable de calquera automatización das tarefas relacionadas coa configuración e implantación de aplicacións. A vixilancia do software tamén cae sobre os seus ombreiros. Para resolver estes problemas, utiliza varios sistemas de xestión de configuración, solucións de virtualización e ferramentas na nube para equilibrar os recursos.

Quen está contratando

Os enxeñeiros de DevOps poden beneficiar a calquera organización que desenvolva aplicacións ou xestione un gran número de servidores. Enxeñeiros de DevOps están contratando Xigantes da TI como Amazon, Adobe e Facebook. Tamén traballan en Netflix, Walmart e Etsy.

Non contratar Os enxeñeiros de DevOps son só startups. O seu traballo é lanzar un produto mínimo viable para probar unha nova idea. Na maioría dos casos, as startups poden prescindir de DevOps.

Canto paga

Enxeñeiros de DevOps gañar máis que ninguén no sector. As ganancias medias de tales especialistas en todo o mundo oscilan entre 100 e 125 mil dólares ao ano.

En EEUU eles obter 90 mil dólares ao ano (500 mil rublos ao mes). En Canadá eles pagar 122 mil dólares ao ano (670 mil rublos ao mes), e no Reino Unido - 67,5 mil libras esterlinas ao ano (490 mil rublos ao mes).

En canto a Rusia, as empresas de Moscova listo pagar aos especialistas de DevOps de 100 a 200 mil rublos ao mes. En San Petersburgo, os empresarios son un pouco máis xenerosos: ofrecen 160-360 mil rublos ao mes. Nas rexións, os salarios cítanse en 100-120 mil rublos ao mes.

Como converterse nun especialista en DevOps

DevOps é unha dirección relativamente nova en TI, polo que non hai unha lista establecida de requisitos para os enxeñeiros de DevOps. Nas vacantes, entre os requisitos para este posto podes atopar tanto coñecementos de administración de Debian como CentOS e a capacidade de traballar con unidades de disco. Arrays RAID.

En base a isto, podemos concluír que, en primeiro lugar, un enxeñeiro de DevOps debe ter unha boa perspectiva técnica. É importante que unha persoa así aprenda constantemente novas ferramentas e tecnoloxías.

A forma máis sinxela de converterse nun enxeñeiro de DevOps sería un administrador ou programador de sistemas. Xa teñen unha serie de habilidades que só hai que desenvolver. A tarefa principal é mellorar o conxunto mínimo de coñecementos en DevOps, comprender como traballar con ferramentas de automatización e cubrir lagoas nas habilidades de administración, programación e virtualización.

Para comprender onde aínda falta o coñecemento, podes usar mini-Wikipedia en GitHub ou mapa mental. Tamén os residentes de Hacker News recomendo Ler libros "Proxecto "Phoenix""E"Guía DevOps" (que mencionamos anteriormente) e "Filosofía DevOps. A arte da xestión informática» baixo o selo de O'Reilly Media.

Tamén podes subscribirte Boletín semanal de Devops, ler artigos de actualidade portal DZone e comeza a comunicarse cos enxeñeiros de DevOps Slack chat. Tamén paga a pena consultar os cursos gratuítos Udacity ou EDX.

Publicacións do noso blog:



Fonte: www.habr.com

Engadir un comentario