paint-brush
La hoja de ruta para convertirse en un DevOps Dude: de servidor a sin servidorpor@eon01
75,421 lecturas
75,421 lecturas

La hoja de ruta para convertirse en un DevOps Dude: de servidor a sin servidor

por Aymen (@eon01)2017/07/18
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

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?

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - La hoja de ruta para convertirse en un DevOps Dude: de servidor a sin servidor
Aymen (@eon01) HackerNoon profile picture

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é Jobs For DevOps : 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.

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 La lista de verificación de DevOps de 15 puntos para obtener más información al respecto.

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 DigitalOcean , Amazon Lightsail o Linode para iniciar un servidor económico y comenzar a aprender Linux.

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.

Pro Git es el libro que realmente necesitas leer si quieres aprender 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 Saltstack , 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.

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 Saltstack podrían ayudarlo a aprovisionar infraestructura en AWS o GCP; de lo contrario, si necesita más, busque tecnologías como Terraform.

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í Painless Docker y estoy seguro de que esto podría ayudarlo a aprender Docker y más, incluso si es un principiante. Puedes encontrar el libro 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 Enviado : un boletín independiente enfocado en contenedores y orquestación.

16 — Aprende y comparte

¡El aprendizaje es un proceso continuo y compartir su conocimiento podría ayudarlo a aprender más!

Únase a DevOpsLinks , una comunidad de apasionados y profesionales de DevOps donde puede aprender y compartir cosas increíbles.

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é Jobs For DevOps , una bolsa de trabajo dedicada al ecosistema DevOps. Puede crear un perfil de candidato aquí , también brindamos servicios adicionales como escribir, optimizar y revisar su CV. Puedo ayudarte personalmente si lo necesitas.

Conectar más profundo

Si resonó con este artículo, suscríbase a DevOpsLinks : una comunidad en línea de miles de expertos en TI y entusiastas de DevOps de todo el mundo.

También puede estar interesado en unirse a nuestro boletín Enviado , un boletín centrado en contenedores, orquestación y tecnologías sin servidor.

Puede encontrarme en Twitter , Clarity o mi sitio web y también puede consultar mis libros: SaltStack For DevOps , The Jumpstart Up & Painless Docker .

No olvide unirse a Jobs For DevOps y enviar su CV.

Si te ha gustado este post, recomiéndalo y compártelo con tus seguidores.