Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Целевая аудитория

¿Es usted un desarrollador que busca orientar su carrera hacia un modelo DevOps más avanzado? ¿Es usted un ingeniero de operaciones clásico y le gustaría tener una idea de lo que significa DevOps? ¿O no eres ninguna de las dos cosas y, después de pasar un tiempo trabajando en TI, quieres cambiar de carrera y no tienes idea de por dónde empezar?
En caso afirmativo, siga leyendo para descubrir cómo puede convertirse en un ingeniero de DevOps de nivel medio en seis meses. Finalmente, si ha estado involucrado en DevOps durante muchos años, aún obtendrá mucho de esta serie de artículos para saber dónde se encuentra actualmente la industria de la integración y la automatización y hacia dónde se dirige.

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

¿De qué se trata?

En primer lugar, ¿qué es DevOps? Puede buscar definiciones en Google y leer toda la palabrería, pero sepa que la mayoría de las definiciones son solo un revoltijo de palabras envueltas en una forma simplificada. Por eso, te haré un resumen de todas estas definiciones: DevOps es un método de entrega de software en el que el dolor de cabeza y la responsabilidad se comparten entre todos los involucrados. Eso es todo.

Vale, pero ¿qué significa esta abreviatura? Significa que tradicionalmente, los Desarrolladores (las personas que crean software) han sido motivados a hacer su trabajo mediante incentivos que son significativamente diferentes de los de Operaciones (las personas que administran el software). Por ejemplo, como desarrollador, quiero crear tantas funciones nuevas lo más rápido posible. Después de todo, ¡este es mi trabajo y esto es lo que exigen los clientes! Sin embargo, si soy una persona de Operaciones, entonces necesito la menor cantidad posible de funciones nuevas, porque cada función nueva es un cambio, y cualquier cambio está plagado de problemas. Como resultado de esta desalineación de incentivos, nació DevOps.

DevOps intenta combinar desarrollo y operaciones (integración y automatización) en un solo grupo. La idea es que un grupo ahora compartirá tanto el dolor como la responsabilidad (y probablemente las recompensas) de crear, implementar y generar ingresos a partir del software orientado al cliente.

Los puristas le dirán que no existe un "ingeniero de DevOps". "DevOps es una cultura, no un rol", le dirán. Por supuesto, desde un punto de vista técnico tienen razón, pero, tal como está A menudo es el caso, el término se ha ido de las manos Más allá de su significado original, un ingeniero DevOps es algo así como un “ingeniero de sistemas 2.0”. En otras palabras, es alguien que entiende el ciclo de vida del desarrollo de software y crea herramientas y procesos de desarrollo de software. para resolver problemas operativos clásicos.

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

En última instancia, DevOps significa crear canales digitales que toman código de la computadora portátil de un desarrollador y lo convierten en ingresos por el uso del producto final, de eso se trata. Tenga en cuenta que elegir una carrera en DevOps se ve altamente compensado por recompensas financieras, y casi todas las empresas "hacen DevOps" o afirman serlo. Independientemente de dónde estén ubicadas estas empresas, las oportunidades laborales generales como DevOps son bastante altas y ofrecen empleo "divertido" y significativo durante muchos años.

Sin embargo, tenga cuidado con las empresas que contratan un "equipo DevOps" o un "departamento DevOps". Estrictamente hablando, tales cosas no deberían existir, porque en última instancia, DevOps sigue siendo una cultura y una forma de entregar software, no dotar de personal a un nuevo equipo o crear un departamento con un nombre elegante.

La negación de la responsabilidad

Ahora dejemos el vaso de Kool-Aid a un lado por un momento y pensemos en lo siguiente. ¿Has escuchado el viejo dicho "no hay ingenieros junior de DevOps"? Si no, sepa que este es un tropo popular en Reddit y StackOverflow. Pero, ¿qué significa?

En pocas palabras, esta frase significa que se necesitan muchos años de experiencia combinados con una sólida comprensión de las herramientas para convertirse en un practicante senior de DevOps verdaderamente eficaz. Y, lamentablemente, no existe ningún atajo para lograr el objetivo. Así que este no es un intento de engañar al sistema; no creo que sea posible pretender ser un ingeniero senior de DevOps con unos meses de experiencia en la industria. Lograr una comprensión sólida de las herramientas y metodologías que cambian rápidamente requiere años de experiencia y no hay forma de evitarlo. Sin embargo, existe un menú casi consistente (de moda, por así decirlo) de herramientas y conceptos que utilizan la mayoría de las empresas, y de eso hablaremos.

Nuevamente, las herramientas son diferentes de las habilidades, así que mientras aprende las herramientas, asegúrese de no descuidar sus habilidades (encuestas, establecimiento de contactos, comunicación escrita, resolución de problemas, etc.). Lo más importante es no perder de vista lo que queremos encontrar: una forma de crear un canal digital totalmente automatizado que tome ideas y las convierta en piezas de código que generen ingresos. ¡Esta es la conclusión más importante de todo este artículo!

Basta de charla, ¿cuándo puedo empezar?

A continuación se muestra la hoja de ruta del conocimiento fundamental de DevOps. Habiendo dominado todo lo que se describe allí, ¡puede llamarse a sí mismo de manera segura y honesta un ingeniero de DevOps! O un ingeniero de la nube si no le gusta el nombre "DevOps".

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Este mapa representa mi idea (y probablemente la de la mayoría de las personas que trabajan en este espacio) de lo que debe saber un ingeniero de DevOps competente. Sin embargo, esto es sólo una opinión y, por supuesto, habrá quienes no estén de acuerdo con ella. ¡Esto esta bien! Aquí no buscamos la perfección, sino una base sólida sobre la que realmente podamos construir.

Debes recorrer este camino gradualmente, capa por capa. Comencemos (¡y continuemos!) con los fundamentos aprendiendo primero sobre los elementos en azul: Linux, Python y AWS. Luego, si el tiempo o la demanda del mercado laboral lo permiten, haga lo morado: Golang y Google Cloud.

Honestamente, la capa superior fundamental es algo que tendrás que estudiar para siempre. El sistema operativo Linux es muy complejo y lleva años dominarlo. Python requiere práctica constante para mantenerse actualizado. AWS está evolucionando tan rápidamente que lo que sabe hoy solo será parte de su cartera general de conocimientos dentro de un año. Una vez que aprenda los conceptos básicos, pase al conjunto de habilidades real. Tenga en cuenta que hay un total de 6 columnas azules (Configuración, Versión, Empaquetado, Implementación, Lanzamiento, Monitoreo), una por mes de estudio.

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Por supuesto, usted ha notado la ausencia de una etapa importante en nuestro proceso de seis meses: las pruebas. Deliberadamente no lo incluí en la hoja de ruta porque escribir un módulo, las pruebas de integración y aceptación no es fácil y tradicionalmente recae sobre los desarrolladores. Y saltarse la etapa de “prueba” se explica por el hecho de que el objetivo de esta hoja de ruta es dominar las habilidades y herramientas básicas lo más rápido posible. La falta de experiencia en pruebas, según el autor, es sólo un obstáculo menor para el uso correcto de DevOps.

Además, recuerde que aquí no estamos aprendiendo un montón de palabrería técnica no relacionada, sino más bien una comprensión de las herramientas que se combinan para crear una historia clara. Esta historia trata sobre la automatización de procesos de un extremo a otro: una línea de ensamblaje digital que mueve piezas como una línea de ensamblaje. ¡No querrás aprender un montón de herramientas y seguir parando! Las herramientas de DevOps cambian rápidamente, pero los conceptos cambian con mucha menos frecuencia. Por lo tanto, debe esforzarse por utilizar herramientas como sustitutos de la enseñanza para conceptos de nivel superior.

Bien, ¡profundicemos un poco más!

Conocimientos fundamentales

Debajo del paso superior que dice Fundación, puede ver las habilidades que todo ingeniero de DevOps debería dominar. Estas habilidades suponen un manejo seguro de los tres pilares de la industria, que son: el sistema operativo, el lenguaje de programación y la nube pública. Estas cosas no son algo que puedas aprender y seguir adelante rápidamente. Estas habilidades deben mejorarse y dominarse constantemente para estar a la vanguardia de la industria y ser relevantes para el entorno profesional que lo rodea. Repasémoslos uno por uno.

Linux es donde todo funciona. ¿Puedes ser un excelente practicante de DevOps y al mismo tiempo permanecer completamente dentro del ecosistema de Microsoft? ¡Seguro que puede! No existe ninguna ley que dicte que sólo se utilice Linux. Sin embargo, tenga en cuenta que, a pesar de que todas las cosas de Linux se pueden hacer en Windows, allí sucede de manera mucho más dolorosa y con menos funcionalidad. En este punto, es seguro asumir que sin conocer Linux es imposible convertirse en un verdadero profesional de DevOps, por lo que Linux es algo que debes estudiar y aprender.

Honestamente, la mejor manera de hacerlo es simplemente instalar Linux (Fedora o Ubuntu) en casa y usarlo tanto como sea posible. Por supuesto, romperás muchas cosas, te quedarás atrapado en los procesos de trabajo, tendrás que arreglar todo, ¡pero aprenderás Linux!

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Por cierto, las variantes de RedHat son más comunes en Norteamérica, por lo que tiene sentido comenzar con Fedora o CentOS. Si se pregunta si debería comprar la edición KDE o Gnome, elija KDE. Esto es lo que utiliza el propio Linus Torvalds.

Python es el lenguaje back-end dominante en estos días. Es fácil comenzar con él y se usa ampliamente. Python es muy común en el campo de la inteligencia artificial y el aprendizaje automático, por lo que si alguna vez deseas pasar a otro campo candente, estarás completamente preparado.

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Amazon Web Services: Nuevamente, es imposible convertirse en un profesional experimentado en DevOps sin una comprensión sólida de cómo funciona la nube pública. Y si desea obtener más información al respecto, consulte Amazon Web Services. Es un actor líder en este campo de servicios y ofrece el conjunto más rico de herramientas de trabajo.

¿Es posible empezar con Google Cloud o Azure? ¡Por supuesto que puede! Pero recordando la última crisis financiera, cabe señalar que AWS es la opción más segura, al menos en 2018, ya que permite registrar una cuenta de forma gratuita y empezar a explorar las posibilidades de los servicios en la nube. Además, la consola de AWS proporciona al usuario un menú sencillo y claro para seleccionar. La buena noticia es que no es necesario conocer todas las tecnologías de Amazon para hacer esto.

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción

Comience con lo siguiente: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing bajo el paraguas de EC2) y Security Group. Estas cosas son suficientes para comenzar, y todas las empresas modernas basadas en la nube utilizan estas herramientas de manera bastante activa. El propio sitio de formación de AWS es un buen lugar para empezar.

Te recomiendo que dediques entre 20 y 30 minutos todos los días a aprender y practicar con el lenguaje Python, el sistema operativo Linux y el servicio en la nube de AWS, además de otras cosas que tendrás que aprender. En general, creo que dedicar una hora al día, cinco veces a la semana es suficiente para comprender la industria DevOps en 6 meses o menos. Hay un total de 6 componentes principales, cada uno de los cuales corresponde a un mes de formación. Eso es todo lo que necesitas para adquirir conocimientos básicos.
En artículos posteriores, veremos el siguiente nivel de complejidad: cómo automatizar completamente la configuración, el control de versiones, el empaquetado, la implementación, la ejecución y el monitoreo del software.

Continuará muy pronto...

Algunos anuncios 🙂

Gracias por estar con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más contenido interesante? Apóyanos haciendo un pedido o recomendándonos a amigos, VPS en la nube para desarrolladores desde $4.99, un análogo único de servidores de nivel de entrada, que fue inventado por nosotros para usted: Toda la verdad sobre VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps desde $19 o como compartir servidor? (disponible con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

Dell R730xd 2 veces más barato en el centro de datos Equinix Tier IV en Amsterdam? Solo aqui 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $199 ¡en los Paises Bajos! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡desde $99! Leer acerca de Cómo construir infraestructura corp. clase con el uso de servidores Dell R730xd E5-2650 v4 por valor de 9000 euros por un centavo?

Fuente: habr.com

Añadir un comentario