¿Qué es un ingeniero Devops? ¿Y cómo haces para ser uno?

Un ingeniero Devops debe comprender no solo las herramientas, sino también la filosofía y los procesos que hacen que los Devops funcionen.
Devops es una cultura y filosofía que, en pocas palabras, tiene como objetivo unificar los silos de desarrollo anteriormente separados(las personas que crean aplicaciones) y las operaciones (las personas que se aseguran de que esas aplicaciones funcionen como deberían) en un solo equipo. Este equipo utiliza integración continua, entrega continua y pruebas para lanzar mejoras incrementales frecuentes a la base de código existente en producción.
Lógicamente, entonces, un ingeniero devops es alguien con las habilidades necesarias para servir en dicho equipo. Pero como todas las cosas de DevOps, la definición precisa de un ingeniero de DevOps puede ser difícil de precisar, y algunas personas afirman que el término "ingeniero de DevOps" no es una descripción de trabajo significativa . Sin embargo, cada vez más compañías dicen que quieren contratar ingenieros devops y están dispuestos a pagarles un buen dinero. Veamos qué es lo que están buscando.
¿Quién es un ingeniero de DevOps?
Bueno, DevOps Engineer es alguien que comprende el Ciclo de vida del desarrollo de software y tiene una comprensión total de varias herramientas de automatización para desarrollar canalizaciones digitales (canalizaciones de CI / CD).
Si usted es un Desarrollador, o una persona de Ops, o un tipo de Garantía de Calidad, o incluso si está más fresco, puede convertirse en un Ingeniero de DevOps.Pero es un camino largo.
Comencemos este viaje, enumerando algunas habilidades importantes que las organizaciones buscan en un ingeniero de DevOps :
Fundamentos de Linux y conocimiento de scripting
Buen conocimiento práctico de diversas tecnologías de desarrollo, prueba e implementación (herramientas DevOps como Git , Jenkins , Docker , Kubernetes ,Puppet , Chef , Ansible , Nagios , Splunk , etc.)
Experiencia en el desarrollo de integracion digitales (integracion CI / CD )
Buena comprensión de conceptos como Infraestructura como Código
Conocimiento de plataformas de servicios en la nube ( AWS , GCP , Azure )
Sigue este camino:
Sea competente con al menos una herramienta de control de versiones / gestión de código fuente, preferiblemente Git, debe tener un buen conocimiento práctico de los flujos de trabajo de Git.
2. Aprenda cómo integrar las herramientas de compilación y las herramientas de administración del código fuente para la compilación / integración continua (CI):
Una vez que conozca Git, el siguiente paso es comprender cómo puede automatizar el proceso de compilación, cómo puede construir continuamente la última confirmación en el repositorio de código fuente. Para eso, debe comprender cómo funcionan los servidores de automatización como Jenkins. Básicamente, cómo puedes integrar herramientas de construcción como Maven con herramientas de administración de código fuente como Git. Este proceso se denomina integración continua.
3. Aprenda cómo llevar la integración continua al siguiente paso (entrega continua) para pruebas continuas:
El siguiente paso es aprender cómo puede automatizar la etapa de prueba, y también cómo puede hacerlo menos complejo porque creo que todos ustedes se han enfrentado a problemas como que el código funciona bien en el entorno de desarrollo pero no en el entorno de prueba. Debe comprender cómo puede replicar el entorno Dev en sus servidores de prueba. Para esto, debe comprender cómo funcionan las herramientas como Puppet, Chef, etc. También puede usar contenedores Docker para este propósito, por lo que diría que aprender Docker es imprescindible. Además, debe aprender cómo puede probar continuamente su código después de cada confirmación. Una vez más, necesita integrar herramientas de prueba de automatización como Selenium con Jenkins. Esto se denomina entrega continua.
4. Aprenda cómo implementar y configurar el entorno de desarrollo, prueba y producción:
Finalmente, debe comprender cómo puede implementar de manera segura la aplicación en el servidor de producción. Nuevamente, necesita herramientas como Puppet o Docker para configurarlo e implementarlo en el entorno de producción.
5. Aprenda cómo puede usar las herramientas de monitoreo para recopilar comentarios útiles:
Además, es muy importante que un ingeniero de DevOps recopile comentarios e implemente los cambios rápidamente, para eso debe tener conocimiento de herramientas de monitoreo como Nagios, Splunk, etc.
6. Comprenda cómo funcionan las plataformas de servicios en la nube:
Junto con todas estas cosas, debe tener un buen conocimiento de la nube para combinar los beneficios de Cloud y DevOps. La mayoría de las organizaciones tienen su infraestructura en la nube, por lo que es una habilidad que se debe aprender.
Hay varios portales en Internet con cursos y proyectos que puedes hacer para comenzar a tomar prácticas para que este encaminado al desarrollo de tu perfil.
Comentarios
Publicar un comentario