¿Por qué los administradores de sistemas, desarrolladores y evaluadores deben aprender las prácticas de DevOps?



Dónde ir con este conocimiento, qué hacer en el proyecto y cuánto ganar, qué decir y preguntar en la entrevista, dice Alexander Titov, socio gerente de Express 42 y autor del curso en línea "Prácticas y herramientas DevOps" .

¡Hola! Aunque el término DevOps existe desde 2009, todavía no hay consenso en la comunidad rusa. Seguramente, notó que algunos consideran DevOps una especialidad, otros: una filosofía, otros bajo el término significan un conjunto de tecnologías. Ya he dado conferencias muchas veces sobre el desarrollo de esta área, por lo que no entraré en detalles en este artículo. Solo puedo decir que en Express 42 ponemos lo siguiente:

DevOps: una técnica específica, una cultura de crear un producto digital, cuando todos los especialistas del equipo participan en la producción.

En el desarrollo corporativo clásico, todo va en secuencia: programación, pruebas y solo luego explotación, y la velocidad de dicho proceso desde la idea hasta la producción es de 3 meses. Para los productos digitales, este es un problema global, ya que no puede recibir rápidamente comentarios de los clientes.

En DevOps, las herramientas y los enfoques se agudizan para que los procesos de desarrollo, prueba y operación se inicien simultáneamente.

¿Qué se sigue de este enfoque?


  • No puede contratar a un cierto "ingeniero" que vendrá y resolverá todos los problemas de producción. Todo el equipo debe aplicar la técnica.


  • DevOps NO es la siguiente forma de sysadmin a la que puede actualizar. El ingeniero DevOps se parece bastante al desarrollador ágil.



  • Si el equipo usa Kubernetes, Ansible, Prometheus, Mesosphere y Docker, esto no significa que las prácticas DevOps se implementen allí.





La vida después de DevOps no será la misma


El enfoque DevOps es, en primer lugar, una forma diferente de pensar, la percepción del desarrollo en su conjunto y su lugar en el proceso. Dividimos nuestro curso en línea en 2 bloques:

1. Autodeterminación

Primero, analizamos en detalle la esencia del enfoque de DevOps, y los estudiantes descubren nuevos roles en el equipo, ven cuál responde más y determinan por sí mismos qué camino desarrollar.

2. Herramientas y prácticas

Los estudiantes dominan tecnologías específicas en términos del método DevOps.

Las herramientas DevOps se pueden usar tanto en el enfoque DevOps como en el desarrollo clásico. El ejemplo más claro sería usar la herramienta de administración de configuración Ansible. Fue creado y concebido para implementar la práctica de DevOps "Infraestructura como código", lo que significa que se describen diferentes estados del sistema desde la configuración del sistema operativo hasta el software de la aplicación. La descripción se divide en capas y le permite administrar una configuración compleja que cambia constantemente. Pero a menudo, los ingenieros usan Ansible como una forma de ejecutar scripts de bash en múltiples máquinas. Esto no es malo ni bueno, pero debe comprender que la presencia de Ansible no garantiza la presencia de DevOps en la empresa.

Con nosotros durante el cursote sumergirás en el proceso de desarrollo de una aplicación similar a la conocida Reddit, primero con su versión monolítica, pasando paso a paso a los microservicios. Paso a paso aprenderemos nuevas herramientas: Git, Ansible, Gitlab y terminaremos Kubernetes y Prometheus.

Mediante la práctica, seguiremos las tácticas de los tres caminos descritos en el Manual de DevOps: prácticas de entrega continua, prácticas de retroalimentación y la esencia de todo el curso de educación continua con su sistema.

¿Qué aporta este conocimiento a cada uno de los especialistas?


Administradores del sistema


Las prácticas permitirán alejarse de la administración para crear una tubería de entrega continua y una plataforma de entrega de software de infraestructura. El punto es que crea un producto, una plataforma de infraestructura para desarrolladores, que los ayuda a promover rápidamente sus cambios en la producción.

Anteriormente, los administradores del sistema eran el último bastión, después del cual todo entra en producción. Y básicamente se dedicaron a la extinción continua de incendios, en vista de lo cual es bastante difícil profundizar en las necesidades del negocio, pensar en el producto y los beneficios para el usuario.
Gracias al método DevOps, el pensamiento está cambiando. El administrador del sistema comprende cómo traducir la configuración en código, que existe para esta práctica.

Esto es importante porque las empresas se están dando cuenta cada vez más de que no solo necesitan automatizar todo y todo, es decir, en lo que, en esencia, los administradores de sistemas de la vieja escuela están acostumbrados a hacer, lo cual, además, no se comunicaron mucho y no informaron al equipo sobre todos los cambios realizados. Ahora los equipos están buscando a quienes se convertirán en el fabricante del producto de infraestructura interna y ayudarán a combinar los procesos divididos en uno.

A los desarrolladores


El desarrollador deja de pensar solo con algoritmos. Adquiere la habilidad de trabajar con infraestructura, la habilidad de la conciencia arquitectónica del paisaje. Tal desarrollador comprende cómo funciona la aplicación, cómo pasa por una tubería de entrega continua, cómo monitorearla, cómo asegurarla, para que beneficie al cliente. Como resultado, todo este conocimiento le permite escribir código relevante.

Probadores


Las pruebas han pasado al modo automático durante mucho tiempo, todos decimos que muchas pruebas no deben hacerse, sino que deben escribirse :) Las pruebas se convierten en parte de toda la tubería para entregar su producto. El probador no solo necesita aprender a escribir código, sino también comprender cómo integrarlo en los sistemas de entrega continua, cómo recibir comentarios del código en todas las etapas de la entrega, cómo mejorar constantemente las pruebas para detectar errores lo antes posible.

Entonces resulta que las tres etapas ocurren simultáneamente . Por ejemplo, puede verse así:

el desarrollador escribe el código, inmediatamente escribe pruebas para él y describe el contenedor del acoplador para el código que debe ejecutarse. También describe de inmediato la supervisión que supervisará el funcionamiento de este servicio en producción, y todos estos compromisos.

Cuando comienza la integración continua, los procesos se ejecutan simultáneamente. El servicio comienza, configurable. Al mismo tiempo, se inicia el contenedor acoplable, se verifica que funcione. Al mismo tiempo, toda la información va al sistema de registro. Y así, en cada etapa del desarrollo, resulta el verdadero trabajo en equipo de los administradores de sistemas, desarrolladores y probadores.

Estudió DevOps, ¿y luego qué?


Como sabes, uno en el campo no es un guerrero. Si su empresa no utiliza este método, las habilidades adquiridas estarán inactivas. Y después de reunirse con los enfoques de DevOps, lo más probable es que no desee ser un engranaje en el desarrollo corporativo. Puede haber una excepción: usted es un administrador del sistema en el equipo y puede reconstruir todos los procesos de una manera nueva. Aquí vale la pena agregar que hay un montón de compañías que usan este enfoque, y que no están afectadas por el bloqueo y están buscando especialistas. Porque DevOps se trata de crear productos en línea.
Y ahora sobre lo agradable: la posesión de prácticas y herramientas de DevOps es aproximadamente + 30% de su valor en el mercado laboral. Los salarios comienzan en 140 mil rublos, pero están determinados, por supuesto, por su especialidad y funcionalidad principales.

Puede ver las vacantes marcadas "con un enfoque en la infraestructura", donde hay automatización de pruebas, desarrollo de aplicaciones de microservicios utilizando tecnologías en la nube, vacantes de ingenieros de infraestructura y todo tipo de referencias a DevOps. Solo recuerde que cada compañía significa algo diferente bajo esta definición: lea cuidadosamente la descripción.

Durante el lanzamiento de nuestro curso, recibí una idea: muchas personas después del curso caen en la trampa de un ingeniero de DevOps. Encuentran una vacante con el nombre antes mencionado, reciben una buena oferta, y luego vienen a trabajar y entienden que tendrán que soportar un script bash de tres páginas en Jenkins. ¿Y dónde están Kubernetes, ChatOps, lanzamientos canarios, y eso es todo? Y no hay nada, porque la empresa no necesita DevOps, como metodología, sino que utiliza innovaciones separadas.

Esta es una ocasión para averiguar de manera intensiva por parte de la compañía cómo se organiza el proceso de entrega de software, la pila tecnológica y qué responsabilidades cumplirás.

Si el empleador responde a sus preguntas de manera abstracta, como en un libro, sin detalles, lo más probable es que la compañía aún no tenga el proceso DevOps, pero esto no es una razón para rechazar, estudiar la compañía y sus productos, ¿hay algún servicio en línea que la compañía desarrolle, aplicaciones móviles? , ideas de productos.

En caso afirmativo, especifique si tiene que trabajar directamente con estos sistemas o si es posible pasar horizontalmente a los equipos de estos servicios mientras demuestra buenos resultados en las prácticas de DevOps. Si es así, vale la pena ir y ser activo y útil, y si termina nuestro curso, este último está garantizado.

Es importante tener en cuenta que el verdadero valor de las prácticas Devops solo se adquiere si tiene experiencia en desarrollo / administración / pruebas. Solo entonces el conocimiento no será abstracto, sino que enriquecerá al especialista (en todos los sentidos). Por lo tanto, la idea de "aprender a diseñar desde cero" es casi lo mismo que aprender a "usar lentes desde cero" si nunca ha sostenido una cámara en sus manos o dirigido una sesión. Para ayudarlo a decidir si el curso es adecuado para usted, realizamos una prueba introductoria que evaluará un nivel de conocimiento suficiente.

Creo que una de las fichas del curso- el hecho de que durante el curso de capacitación cada alumno determina por sí mismo de qué manera quiere desarrollarse. A menudo observamos transiciones cuando un desarrollador se convierte en ingeniero de infraestructura, y el administrador comprende que está interesado en escribir código; luego, además, aprende el idioma y lo complementa con las habilidades adquiridas de DevOps. Por lo tanto, esperamos especialmente a aquellos que sienten que su carrera está estancada en una encrucijada. El curso comienza el 28 de mayo, pero puedes unirte 2 semanas después del comienzo de las clases. Puedes ver el programa y hacer la prueba aquí . ¡Nos vemos en OTUS!

All Articles