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

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

Adónde ir con este conocimiento, qué hacer en el proyecto y cuánto ganar, qué decir y preguntar en una entrevista - dice Alexander Titov, socio director de Express 42 y autor curso online “Prácticas y herramientas DevOps”.

¡Hola! Aunque el término DevOps existe desde 2009, todavía no existe consenso en la comunidad rusa. Probablemente hayas notado que algunos consideran DevOps una especialidad, otros lo consideran una filosofía y otros consideran el término un conjunto de tecnologías. Ya he actuado muchas veces con conferencias sobre el desarrollo de esta dirección, por lo que no entraré en detalles en este artículo. Permítanme decirles que en Express 42 incluimos lo siguiente:

DevOps es una metodología específica, una cultura de creación de un producto digital, cuando todos los especialistas del equipo participan en la producción.

En el desarrollo corporativo clásico todo va de forma secuencial: programación, pruebas y solo luego operación, y la velocidad de este proceso desde la idea hasta la producción es de 3 meses. Este es un problema global para los productos digitales, porque es imposible recibir rápidamente comentarios de los clientes.

En DevOps, las herramientas y los enfoques están diseñados para garantizar que los procesos de desarrollo, pruebas y operaciones se ejecuten simultáneamente.

¿Qué se desprende de este enfoque?

  • No se puede contratar a un “ingeniero” que venga y resuelva todos los problemas de producción. Todo el equipo debe aplicar la técnica.

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

  • DevOps NO es la próxima forma de administrador de sistemas a la que hay que actualizar. "Ingeniero de DevOps" suena más o menos igual que "desarrollador ágil".

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

  • Si un equipo utiliza Kubernetes, Ansible, Prometheus, Mesosphere y Docker, esto no significa que se hayan implementado prácticas de DevOps allí.

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

La vida después de DevOps nunca volverá a ser la misma

El enfoque DevOps es, ante todo, una forma diferente de pensar, una percepción del desarrollo en su conjunto y del lugar que uno ocupa en el proceso. Dividimos nuestro curso online en 2 bloques:

1. Autodeterminación

Primero, examinamos en detalle la esencia del enfoque DevOps y los estudiantes descubren nuevos roles en el equipo, ven cuál responde mejor y determinan por sí mismos en qué dirección desarrollarse.

2. Herramientas y prácticas

Los estudiantes dominan tecnologías específicas desde el punto de vista del método DevOps.

Las herramientas DevOps se pueden utilizar tanto en el enfoque DevOps como en el desarrollo clásico. El ejemplo más obvio sería utilizar la herramienta de gestión de configuración Ansible. Fue creado y concebido para implementar la práctica 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 está dividida en capas y le permite gestionar una configuración compleja y en constante cambio. Pero los ingenieros suelen utilizar Ansible como una forma de ejecutar scripts bash en varias máquinas. Esto no es ni malo ni bueno, pero hay que entender que la presencia de Ansible no garantiza la presencia de DevOps en la empresa.

estamos en el proceso por supuesto Estarás inmerso en el proceso de desarrollo de una aplicación similar al famoso Reddit, comenzando por su versión monolítica, pasando paso a paso a los microservicios. Paso a paso dominaremos nuevas herramientas: Git, Ansible, Gitlab y terminaremos con Kubernetes y Prometheus.

En términos de prácticas, 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 es la práctica del aprendizaje continuo junto con su sistema.

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

Para administradores de sistemas

Las prácticas le permitirán alejarse de la administración y crear un canal de entrega continua y una plataforma de infraestructura para la entrega de software. El punto es que crea un producto: una plataforma de infraestructura para desarrolladores que les ayuda a impulsar rápidamente sus cambios a producción.

Anteriormente, los administradores de sistemas eran el último bastión, después del cual todo entraba en producción. Y básicamente se dedicaban a una lucha continua contra incendios, por lo que 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, la forma de pensar cambia. El administrador del sistema comprende cómo traducir la configuración en código y qué prácticas existen para ello.

Esto es importante porque las empresas se están dando cuenta cada vez más de que no sólo necesitan automatizar todo, es decir, en lo que esencialmente estaban acostumbrados a hacer los administradores de sistemas de la vieja escuela, quienes además de esto se comunicaban poco y no informaban al equipo sobre todos los cambios realizados. Ahora los equipos están buscando a alguien que se convierta en el fabricante del producto de infraestructura interna y ayude a combinar los procesos separados en uno solo.

Para desarrolladores

El desarrollador deja de pensar únicamente en algoritmos. Adquiere la habilidad de trabajar con infraestructura, la habilidad de la conciencia arquitectónica del paisaje. Un desarrollador de este tipo comprende cómo funciona la aplicación, cómo pasa por el proceso de entrega continua, cómo monitorearla y cómo registrarla para que beneficie al cliente. Como resultado, todo este conocimiento le permite escribir código relevante.

Para probadores

Las pruebas llevan mucho tiempo pasando al modo automático, todos decimos que muchas pruebas no deben hacerse, sino escribirse :) Las pruebas se convierten en parte de todo el proceso de entrega de su producto. Un evaluador no solo necesita aprender a escribir código, sino también comprender cómo integrarlo en sistemas de entrega continua, cómo recibir comentarios del código en todas las etapas de la entrega y cómo mejorar constantemente las pruebas para detectar errores a medida. lo antes posible.

Así resulta que las tres etapas ocurren simultáneamente. Por ejemplo, podría verse así:

El desarrollador escribe el código, inmediatamente escribe pruebas para él y describe un contenedor acoplable para el código que debe ejecutarse. También describe inmediatamente el monitoreo que monitoreará el funcionamiento de este servicio en producción, y confirma todo esto.

Cuando comienza la integración continua, los procesos se ejecutan simultáneamente. El servicio se inicia y se configura. Al mismo tiempo se inicia el contenedor acoplable y se comprueba que se está ejecutando. Al mismo tiempo, toda la información va al sistema de registro. Y así sucesivamente en cada etapa del desarrollo: resulta ser un verdadero trabajo en equipo de administradores de sistemas, desarrolladores y evaluadores.

Estudié DevOps, ¿qué sigue?

Como sabes, uno en el campo no es un guerrero. Si su empresa no utiliza este método, las habilidades adquiridas quedarán inactivas. Y después de familiarizarse con los enfoques de DevOps, lo más probable es que no quiera ser un engranaje del desarrollo corporativo. Puede haber una excepción: usted es el administrador del sistema del equipo y puede reconstruir todos los procesos de una manera nueva. Vale la pena agregar aquí que hay muchas empresas que utilizan este enfoque, no se ven afectadas por el bloqueo y buscan especialistas. Porque DevOps se trata de crear productos en línea.

Y ahora, lo bueno: el dominio de las prácticas y herramientas de DevOps supone aproximadamente un +30 % de su valor en el mercado laboral. Los salarios comienzan en 140 mil rublos, pero están determinados, por supuesto, por su principal especialidad y funcionalidad.

Puede consultar las vacantes marcadas como "orientadas a la infraestructura", donde hay automatización de pruebas, desarrollo de aplicaciones de microservicios utilizando tecnologías en la nube, vacantes para ingenieros de infraestructura y todo tipo de referencias a DevOps. Sólo recuerde que cada empresa quiere decir algo diferente con esta definición: lea la descripción atentamente.

Durante el lanzamiento de nuestro curso, se me ocurrió una idea: muchas personas después del curso caen en la trampa de un ingeniero de DevOps. Encuentran una vacante con el título mencionado anteriormente, reciben una buena oferta y luego vienen a trabajar y se dan cuenta de que tendrán que mantener un script bash de tres páginas en Jenkins. ¿Dónde están Kubernetes, ChatOps, versiones canarias y todo eso? Pero no hay nada, porque la empresa no necesita DevOps como metodología, sino que utiliza innovaciones individuales.

Esta es una razón para aprender intensamente de la empresa cómo funciona el proceso de entrega de software, la pila de tecnología y qué responsabilidades desempeñará.

Si el empleador responde a sus preguntas de manera abstracta, como en un libro, sin detalles, lo más probable es que todavía no exista un proceso DevOps en la empresa, pero esto no es motivo para negarse, estudiar la empresa y sus productos, si los hay en línea. servicios que la propia empresa desarrolla, aplicaciones móviles, ideas de productos.

En caso afirmativo, aclare si tendrá que trabajar directamente con estos sistemas o si existe la posibilidad de movimiento horizontal a los equipos de estos servicios mientras demuestra buenos resultados en las prácticas de DevOps. En caso afirmativo, entonces vale la pena ir y ser activo y útil, y si completas nuestro curso, esto último está garantizado.

Es importante señalar que los profesionales de Devops obtienen verdadero valor sólo con experiencia en desarrollo/administración/pruebas. Sólo así el conocimiento no será abstracto, sino que enriquecerá al especialista (en todos los sentidos). Por lo tanto, la idea de “aprender DevOps desde cero” es más o menos lo mismo que aprender a “usar lentes desde cero” si nunca has sostenido una cámara en tus manos ni dirigido una sesión. Para ayudarte a decidir si el curso es adecuado para ti, hemos realizado una prueba de acceso que comprobará tu nivel suficiente de conocimientos.

Creo que uno de los trucos por supuesto — que durante el curso de la formación cada estudiante determine por sí mismo en qué dirección quiere desarrollarse. A menudo vemos transiciones cuando un desarrollador se convierte en ingeniero de infraestructura y un administrador se da cuenta de que está interesado en escribir código; luego estudia más a fondo el lenguaje y lo complementa con las habilidades adquiridas en DevOps. Por lo tanto, damos la bienvenida especialmente a aquellos que sienten que su carrera está estancada en una encrucijada. El curso comienza el 28 de mayo, pero podrás incorporarte 2 semanas después del inicio de clases. Puedes ver el programa y realizar el test. enlace. ¡Nos vemos en OTUS!

Fuente: habr.com

Añadir un comentario