El ecosistema DevOps está creciendo rápidamente desde los últimos 5 años, pero siempre he visto la misma pregunta que de alguna manera es difícil de responder en algunas líneas: ¿Cómo convertirse en un ingeniero DevOps? Recientemente creé : una bolsa de trabajo dedicada para la comunidad DevOps y aprovecho esta oportunidad para compartir una hoja de ruta de aprendizaje que podría responder la misma pregunta. Jobs For DevOps 1 — Comience por aprender sobre la cultura DevOps es un movimiento y una cultura antes de ser un trabajo, por eso los aspectos culturales son muy importantes. Consulte mi artículo para obtener más información al respecto. La lista de verificación de DevOps de 15 puntos 2 — Aprende un lenguaje de programación En mi experiencia, un buen ingeniero DevOps es alguien que tiene habilidades en desarrollo y operaciones. Python, Go, Nodejs... ¡tienes una gran variedad! No necesariamente necesita aprender el mismo idioma principal que usa su empresa, pero es realmente bueno tener habilidades de programación. 3 — Aprenda a administrar servidores Una de las principales tareas que realiza un profesional de DevOps es la gestión de servidores. Saber cómo funcionan los servidores es imprescindible y para ello se necesita un buen conocimiento del hardware (CPU, arquitectura, memoria...). La otra cosa a aprender son los sistemas operativos y especialmente Linux. Puede comenzar eligiendo una distribución como Ubuntu. Si es realmente un principiante con Linux, puede probarlo primero en su computadora portátil/escritorio y comenzar a jugar para aprender. También puede usar , Amazon Lightsail o Linode para iniciar un servidor económico y comenzar a aprender Linux. DigitalOcean 4 — Aprenda los conceptos básicos de redes y seguridad Probablemente pueda decir que estas son habilidades para ingenieros de redes y seguridad. No ! Saber cómo funcionan HTTP, DNS, FTP y otros protocolos, asegurar su software implementado, anticipar fallas de seguridad en el código y configurar su red de infraestructura son cosas que debe saber. Usar Kali Linux podría ser una buena manera de aprender sobre redes y seguridad. También puede aprender leyendo buenos libros como . Kali Linux Revealed: Mastering the Penetration Testing Distribution 5 — Aprenda secuencias de comandos Incluso con el creciente número de herramientas que podrían ser una alternativa a la creación de sus propios scripts, la creación de scripts es imprescindible y la necesitará con seguridad. En mi experiencia, Bash es uno de los lenguajes de programación más utilizados. Python también es un buen lenguaje de secuencias de comandos que podría usarse para ir rápido mientras se escribe menos código. Comience por escribir guiones básicos y consulte los recursos en línea como . Awesome Bash 6 — Aprenda a instalar y configurar middlewares Apache y Nginx son los middleware más utilizados en la industria DevOps y saber cómo instalar y configurar cosas como hosts virtuales, proxies inversos, nombres de dominio y SSL te ayudará mucho en tus tareas diarias. Comience implementando Nginx como un servidor web para un blog de wordpress y luego como un equilibrador de carga para dos servidores back-end. 7 — Aprenda a implementar software Una vez que sepa cómo implementar y configurar Nginx, debe saber cómo implementar aplicaciones en un servidor de producción. Cree aplicaciones hello world usando Python, Nodejs y PHP. Implemente estas 3 aplicaciones. Puede usar Nginx como proxy inverso para todos ellos. 8 — Aprende GIT GIT es uno de los sistemas de control de versiones que se utilizan en la industria de TI. No necesita ser un experto en GIT, pero esta es una tecnología que lo seguirá a través de todas sus experiencias de DevOps. Los conceptos básicos de GIT están bien explicados en la documentación oficial. es el libro que realmente necesitas leer si quieres aprender GIT. Pro Git 9 — Aprende a construir software La construcción viene antes que la ejecución. La creación de software generalmente se trata de ejecutar un procedimiento de creación de una versión de software que podría ejecutarse en un servidor de producción. Un profesional de DevOps necesita conocer esta parte importante del ciclo de vida del software. Cree una aplicación en el idioma de su elección y consulte las diferentes formas de instalar sus dependencias y compilar su código. 10 — Aprenda a automatizar su fábrica de software DevOps no se trata de automatización, pero la automatización es uno de los pilares de la transformación empresarial de DevOps. Una vez que haya aprendido a crear software, puede usar herramientas como Jenkins para automatizar las compilaciones y conectar su código al repositorio de código. Si no está familiarizado con todo esto, lea sobre Integración continua y Entrega continua. 11 — Aprenda a administrar la configuración Una vez que las cosas se vuelvan más complejas y necesite administrar múltiples entornos y configuraciones, aprender a usar una herramienta de administración de configuración le facilitará la vida. Hay muchas herramientas de CM como , Ansible, Chef, Puppet, etc., y puede encontrar recursos en línea que comparan estas herramientas. En función de lo que necesites, elige una herramienta de CM y empieza a aprenderla. Saltstack Escribí un libro sobre Saltstack (Saltstack para DevOps), por lo que si está interesado en esta tecnología, puede obtener el libro . aquí 12 — Aprenda la infraestructura como código IaC es absolutamente importante para automatizar su infraestructura y aprovisionar sus entornos con scripts simples o herramientas alternativas. DevOps se trata de reducir el tiempo de comercialización manteniendo una buena calidad de software e IaC lo ayudará en esto. Elija un proveedor de nube (AWS, GCP, etc.) y encontrará una gran cantidad de recursos gratuitos en línea para iniciar su infraestructura. También puede aprender a usar tecnologías de "administradores de la nube", algunas herramientas de CM como podrían ayudarlo a aprovisionar infraestructura en AWS o GCP; de lo contrario, si necesita más, busque tecnologías como Terraform. Saltstack 13 — Aprenda a monitorear el software y la infraestructura Se debe monitorear un software implementado en producción y la infraestructura que lo aloja. El monitoreo y las alertas son una de las habilidades importantes que necesita saber. Zabbix, Icinga, Sensu, prometheus... hay muchas herramientas que puedes aprender, pero comienza comparando estas herramientas y elige la que mejor se adapte a tus necesidades. También puede considerar aprender a implementar y usar una pila ELK. 14 — Más información sobre contenedores y orquestación ¡Los contenedores como Docker se están convirtiendo en una habilidad imprescindible! Debe tener buenas habilidades para crear, construir, implementar y administrar contenedores en entornos de desarrollo y producción. Escribí y estoy seguro de que esto podría ayudarlo a aprender Docker y más, incluso si es un principiante. Puedes encontrar el libro . Painless Docker aquí 15 — Aprenda a implementar y administrar aplicaciones sin servidor Serverless es una de las tecnologías más populares de 2017 y pronto se convertirá en un requisito en muchas descripciones de trabajo. AWS Lambda, Azure Functions, Google Cloud Functions, IBM OpenWhisk o Auth0 WebTask, tiene la opción de comenzar a aprender uno de ellos. También puede unirse a mi boletín : un boletín independiente enfocado en contenedores y orquestación. Enviado 16 — Aprende y comparte ¡El aprendizaje es un proceso continuo y compartir su conocimiento podría ayudarlo a aprender más! Únase a , una comunidad de apasionados y profesionales de DevOps donde puede aprender y compartir cosas increíbles. DevOpsLinks 17 — Envía tu CV a bolsas de trabajo y ponte a prueba Una de las mejores formas de probar si tenemos el nivel requerido para ser aceptado en un trabajo de DevOps es siendo entrevistados y pasando pruebas técnicas con reclutadores y empresas. Si fallas en una entrevista, inténtalo una y otra vez, la gente exitosa fracasó en su camino hacia el Éxito. Recientemente comencé , una bolsa de trabajo dedicada al ecosistema DevOps. Puede crear un perfil de candidato , también brindamos servicios adicionales como escribir, optimizar y revisar su CV. Puedo ayudarte personalmente si lo necesitas. Jobs For DevOps aquí Conectar más profundo Si resonó con este artículo, suscríbase a : una comunidad en línea de miles de expertos en TI y entusiastas de DevOps de todo el mundo. DevOpsLinks También puede estar interesado en unirse a nuestro boletín , un boletín centrado en contenedores, orquestación y tecnologías sin servidor. Enviado Puede encontrarme en , o mi y también puede consultar mis libros: , & . Twitter Clarity sitio web SaltStack For DevOps The Jumpstart Up Painless Docker No olvide unirse a y enviar su CV. Jobs For DevOps Si te ha gustado este post, recomiéndalo y compártelo con tus seguidores.