¿Qué habilidades son necesarias para convertirse en un ingeniero de DevOps?

Para convertirse en un ingeniero de DevOps, debe tener una buena experiencia práctica con las principales herramientas de DevOps, como Git, Jenkins, Puppet, Chef, etc.

Permítame explicarle primero DevOps, solo para demostrar que las herramientas DevOps no siempre son necesarias.

¿Qué es DevOps?

Vamos a entender por qué DevOps se introdujo primero, y luego veremos qué es exactamente DevOps.

Antes de DevOps, se usaba el modelo de cascada tradicional.

Modelo de cascada:

Consideremos el desarrollo de software de forma tradicional utilizando un modelo de cascada.

En el diagrama anterior verá las fases que implicará:

  • En la fase 1: se reúne el requisito completo y se desarrolla SRS
  • En la fase 2: este sistema está planeado y diseñado utilizando el SRS
  • En la fase 3: se lleva a cabo la implementación del sistema
  • En la fase 4: el sistema se prueba y se garantiza su calidad
  • En la fase 5: el sistema se implementa para los usuarios finales
  • En la fase 6: se realiza el mantenimiento regular del sistema

Desafíos del modelo de cascada

El modelo Water-fall funcionó bien y funcionó bien durante muchos años, sin embargo, tuvo algunos desafíos. En el siguiente diagrama, se destacan los desafíos del modelo de cascada.

En el diagrama anterior, puede ver que tanto el desarrollo como las operaciones tuvieron desafíos en el modelo de cascada. Desde el punto de vista de los desarrolladores, hubo dos desafíos principales:

Después del desarrollo, el tiempo de implementación del código fue enorme.

La presión del trabajo sobre el código antiguo, pendiente y nuevo era alta porque el tiempo de desarrollo e implementación era alto.

Por otro lado, Operaciones tampoco estaba completamente satisfecho. Hubo cuatro desafíos principales que enfrentaron según el diagrama anterior:

Fue difícil mantener ~ 100% de tiempo de actividad del entorno de producción.

Las herramientas de automatización de infraestructura no fueron muy afectivas.

El número de servidores a monitorear sigue aumentando con el tiempo y, por lo tanto, la complejidad.

Fue muy difícil proporcionar comentarios y diagnosticar problemas en el producto.

En el siguiente diagrama se destaca la solución propuesta a los desafíos del Modelo de Cascada.

En el diagrama anterior, las soluciones probables para los problemas que enfrentan los desarrolladores y las operaciones se resaltan en azul. Esto establece las pautas para una estrategia de desarrollo de software ideal.

Desde el punto de vista de los desarrolladores:

Un sistema que permite la implementación del código sin demora ni tiempo de espera.

Un sistema donde el trabajo ocurre en el código actual, es decir, los sprints de desarrollo son cortos y están bien planificados.

Desde el punto de vista de Operaciones:

El sistema debe tener al menos un 99% de tiempo de actividad.

Existen herramientas y sistemas para facilitar la administración.

El sistema eficaz de monitoreo y retroalimentación debe estar allí.

Mejor colaboración entre desarrollo y operaciones y es un requisito común para el equipo de desarrolladores y operaciones.

Supongo que es hora de que exploremos qué es DevOps y cómo supera estos desafíos.

DevOps:

DevOps integra desarrolladores y equipo de operaciones para mejorar la colaboración y la productividad.

De acuerdo con la cultura de DevOps, un solo grupo de ingenieros (desarrolladores, administradores de sistemas, controles de calidad, probadores, etc. convertidos en ingenieros de DevOps) tiene la responsabilidad de extremo a extremo de la aplicación (software) desde el cumplimiento del requisito hasta el desarrollo, las pruebas y la infraestructura. despliegue, despliegue de aplicaciones y, finalmente, monitoreo y recopilación de comentarios de los usuarios finales, luego nuevamente implementando los cambios.

Este es un ciclo interminable y el logotipo de DevOps tiene mucho sentido para mí. Solo mire el diagrama anterior: ¿Qué podría haber sido un símbolo mejor que el infinito para simbolizar DevOps?

Ahora veamos cómo DevOps se ocupa de los desafíos que enfrentan el Desarrollo y las Operaciones. La siguiente tabla describe cómo DevOps aborda los desafíos de desarrollo.

Yendo más allá, la tabla a continuación describe cómo DevOps aborda los desafíos de Ops.

Sin embargo, aún se preguntará cómo implementar DevOps. Para acelerar y actualizar el proceso de DevOps además de aceptarlo culturalmente, también se necesitan varias herramientas de DevOps como Puppet, Jenkins, GIT, Chef, Docker, Selenium, AWS, etc. para lograr la automatización en varias etapas que ayudan a lograr el Desarrollo continuo, Integración continua, Continuo Pruebas, implementación continua, monitoreo continuo para entregar un software de calidad al cliente a un ritmo muy rápido.

Ahora eche un vistazo al siguiente diagrama de DevOps con varias herramientas de DevOps de cerca e intente decodificarlo.

Estas herramientas se han categorizado en varias etapas de DevOps. Por lo tanto, es importante que primero le cuente sobre las etapas de DevOps y luego hable más sobre las herramientas de DevOps.

El ciclo de vida de DevOps se puede dividir en términos generales en las siguientes etapas de DevOps:

  • Desarrollo continuo
  • Integración continua
  • Pruebas continuas
  • Monitoreo continuo
  • Virtualización y Containerización

Estas etapas son los bloques de construcción para lograr DevOps en su conjunto.

Puede consultar los videos a continuación para tener una mejor idea de qué es exactamente DevOps:

También le recomendaría que consulte los siguientes blogs sobre las principales herramientas de DevOps que lo ayudarán a obtener mejores conocimientos:

Git

Jenkins

Estibador

Marioneta

Cocinero

Ansible

ALERTA DE SPOILER !!!

¡No es un viaje fácil convertirse en ingeniero de DevOps!

Uno de los principales desafíos o deficiencias de la nueva generación de ingenieros de DevOps se puede resumir con el dicho ” Jack de todos los oficios, maestro de ninguno.

Esto es muy cierto para los estudiantes de primer año o las personas del equipo de operaciones o desarrollo que están tratando de ingresar a la carrera de DevOps al ver la demanda actual de ingenieros de DevOps en el sector de TI.

No estoy tratando de decir que es muy difícil para alguien convertirse en ingeniero de DevOps. Es solo que necesita hacer mucha preparación, investigación y trabajo duro antes de que pueda ser reconocido como un buen ingeniero de DevOps.

Dónde empezar

Donde las personas generalmente fallan en su viaje DevOps es que ponen más esfuerzo en aprender las herramientas y los marcos de DevOps en lugar de comprender los principios de DevOps o ser conscientes de lo que es DevOps en sí. He revisado cientos de hojas de vida de candidatos interesados ​​en los puestos de trabajo de DevOps en varias organizaciones y la mayoría de las veces destacan su conocimiento en las herramientas en lugar de DevOps en sí.

En segundo lugar, la gente piensa que DevOps tiene que ver con la automatización, aunque esto es cierto hasta cierto punto, no se dan cuenta de que herramientas como Hudson, Jenkins, scripting y Cron existían mucho antes de que DevOps se hiciera popular.

Mientras entrevistaba a candidatos para roles de DevOps, generalmente les hago esta simple pregunta.

Explíqueme qué es DevOps sin jerga técnica” o “Imagínese que soy de un entorno no técnico: explique DevOps”

Solo unos pocos candidatos pudieron dar una respuesta satisfactoria. La mayoría de las veces las personas terminan diciendo que es automatización, integración continua e implementación, DevOps es un marco, etc. Aunque algunas de las respuestas son verdaderas, quizás en un aspecto práctico, la mayoría de ellas no definen “Qué es DevOps” .

Solo si puede comprender DevOps desde un punto de vista holístico a partir de cuál fue la razón por la cual DevOps nació, cuál es la necesidad de DevOps, los desafíos que enfrentan los equipos de desarrollo y operaciones, etc., entonces solo usted puede comenzar a dar sentido a DevOps y dar una respuesta adecuada a tales preguntas.

Entonces, para resumir el primer punto, ¿Dónde comenzar? – Comprenda los principios de DevOps y por qué DevOps es una cultura antes de comenzar a centrarse en las herramientas para DevOps. Una forma de comenzar ese viaje es leyendo el libro / novela – The Phoenix Project. Aunque es una obra de ficción, ayuda a que el lector pueda obtener más información sobre los conceptos de DevOps de una manera muy práctica. Tanto en un punto de vista comercial como técnico, el lector comenzará a entender por qué tanto como individuo como organización necesita adoptar DevOps.

Métete en los zapatos de los desarrolladores

No hay forma de evitar esto y estoy seguro de que los ingenieros de DevOps que provienen de antecedentes de desarrollo estarán de acuerdo con esto. Debe ser consciente de lo que el desarrollador está haciendo realmente durante el proceso de codificación, desarrollo, prueba e implementación.

Para personas de operaciones, experiencia en administración de sistemas o novatos: no estoy diciendo que necesiten aprender el desarrollo en profundidad o convertirse en expertos en desarrollo / programación. Por el contrario, si desea implementar de manera efectiva dichas prácticas y herramientas de DevOps, debe pensar como los desarrolladores, comprender sus requisitos y darles la mejor solución.

El conocimiento básico a intermedio en varios lenguajes y marcos de programación lo ayudará en gran medida. Es por eso que muchos ingenieros de DevOps que trabajaron como desarrolladores durante algunos años tienen mucho éxito en su carrera.

Para resumir, comprenda lo que hacen los desarrolladores durante el proceso de desarrollo del software. Cómo gestionan sus versiones de código, integrando el código en la base de código existente, resolviendo conflictos de fusión y cómo están compilándolos y desplegándolos en los servidores (aunque el equipo de Ops maneja esto, los desarrolladores también hacen su parte).

Una vez que haya entendido cómo se hacen las cosas manualmente sin herramientas de automatización, puede incorporar las prácticas y herramientas de DevOps de manera más efectiva.

¡Conviértete en un experto en operaciones incluso antes de PENSAR DevOps!

No sé cuánto más puedo estresar o hacer que este punto sea importante para todos los aspirantes a ingenieros de DevOps. Debe ser un experto en administración y operaciones del sistema antes de convertirse en experto en DevOps. El mundo de TI existió y funcionó con éxito mucho tiempo antes de que DevOps apareciera en la imagen. Y esto se debió principalmente a los superhéroes nombrados como Sysadmins y Ops. Y estos eran una raza rara de ingenieros (ahora cada vez más raros gracias a todas las herramientas de automatización) que conocían varios lenguajes de script mejor que su lengua materna.

Tenían una buena experiencia en ingeniería de sistemas donde administraban servidores Linux / Windows, configuraban servidores web, implementaban artefactos en ellos a través de FTP y SSH, administraban n cantidad de servidores. Y conocían a Shell mejor que su esposa / novia. Incluso antes del amanecer de DevOps tenían experiencia en la creación de tareas automatizadas (a través de Scripts) para automatizar la implementación, las compilaciones y el monitoreo del servidor y las aplicaciones. No necesita experiencia en la administración de estas herramientas, sistemas operativos y scripts para convertirse en un ingeniero de DevOps. No es verdad.

A menos que seas bueno en Ops, no te convertirás en un experto en DevOps. Debe familiarizarse y tener experiencia en ingeniería / administración de sistemas antes de emprender su viaje DevOps. Puedes comenzar esto,

  • Instalación de aprendizaje y administración de varias distribuciones de Linux
  • Comience a aprender a hacer scripts, aprenda bash, Perl, python, ruby, etc. (sea experto en al menos un lenguaje de scripting que no sea bash script)
  • Sepa cómo configurar servidores web, servidores DNS, equilibradores de carga – Apache, Nginx
  • Aprenda a configurar el monitoreo proactivo para la infraestructura y el software
  • Comprensión profunda de los conceptos de red: ejemplo: puertas de enlace IP, TCP, CID, ARP, etc.
  • Comprender cómo implementar manualmente varios artefactos en los servidores
  • Obtenga experiencia en varios sistemas RDBMS como PostgreSQL
  • Experiencia en gestión de sistemas de archivos como ext, ext4, NFS ext.

Sé que la lista se ve bastante exhaustiva. Pero confía en mí, no lo es. A medida que comience a adquirir experiencia en cada una de las herramientas, marcos, procesos y diversas tecnologías anteriores, comenzará a adquirir más conocimiento en herramientas más relacionadas / dependientes, sistemas operativos, aplicaciones de sistemas, etc.

Luego, aprenda cómo administrar su código

Las herramientas de gestión de configuración existían mucho antes de que DevOps fuera popular. Y una de las herramientas iniciales que se utilizaron para el mismo fueron SVN, ClearCase, Mercurial y Git para Control de versiones. Antes de continuar, déjame aclarar esto. Debe tener un buen comando en cualquier Sistema de control de versiones distribuido si quiere llamarse a sí mismo como ingeniero DevOps. Por VCS distribuido me refiero a herramientas como Git y Mercurial (prefiero Git – se explicará en otro artículo).

En cierto modo, fue el uso extenso y las características que ofrecían herramientas como Git lo que impulsó el crecimiento de las herramientas DevOps. Atrás quedaron los días en que el equipo de Ops usa FTP, WinSCP, rsync, etc. para transferir su código, artefactos y datos entre sus servidores.

Estas herramientas no solo son eficientes en la versión que controla su código, sino que también ayuda al equipo de operaciones a usar estas herramientas para permitir que el código y los artefactos se envíen, procesen e implementen utilizando otras herramientas de configuración como Jenkins, Chef, Puppet, etc. materia segura, más rápida y fácil de manejar.

Para resumir: conviértase en un experto en Git y aprenda los conceptos básicos de SVN, Mercurial y ClearCase (para usuarios heredados y requisitos de migración).

Que haya Jenkins ( o cualquier otro servidor de CI para el caso )

Como había dicho antes. Jenkins existió mucho tiempo antes de que DevOps se hiciera popular. Pero esta herramienta fue lo que le dio al equipo de Ops un gran éxito al permitir una compilación y lanzamiento más estables con sus características de automatización. Y durante mucho tiempo Jenkins y Hudson (Jenkins vino de Hudson) gobernaron el reino de la Integración Continua (CI) y el Despliegue Continuo (CD). Actualmente, herramientas como TeamCity, Bamboo, GoCD y actualmente muchas herramientas están inflando el dominio DevOps CI y CD. Pero personalmente, con el soporte comunitario masivo y los complementos disponibles, personalmente siento que Jenkins sigue siendo la mejor solución de CI y CD fácil de usar y confiable.

Entonces, ¿qué es Jenkins? Es una solución de Integración Continua y Entrega Continua. Lo que hace CI es fusionar el código de diferentes desarrolladores en un único repositorio / proyecto varias veces al día mientras se prueba continuamente la base del código para evitar problemas posteriores. Ahora CD es el siguiente paso más allá donde se asegurará de que todo el código combinado esté listo para la producción.

Tanto para los desarrolladores como para las operaciones, Jenkins fue una dicha. Ayudó a automatizar el proceso tanto como sea posible, desde empujar el código del sistema de desarrolladores hasta implementarlo en producción.

Por lo tanto, dedique un poco de tiempo y esfuerzo para adquirir experiencia en Jenkins primero. Y como dije anteriormente, solo puede usar Jenkins en todo su potencial una vez que haya reunido un conocimiento y experiencia significativos como ingeniero de operaciones / administradores de sistemas.

De nuevo, no estoy promocionando a Jenkins. Pero para los nuevos usuarios, Jenkins es mucho más fácil de aprender y administrar en comparación con la otra herramienta de CI / CD que existe en el mercado. (Por favor, corríjame si estoy equivocado)

Aprenda a tratar su “Infraestructura como código” – Gestión de la configuración

Aquí es donde te ensucias las manos con las herramientas DevOps. Y antes de continuar, permítame recordarle nuevamente que necesita adquirir una buena experiencia en todas las herramientas y procesos mencionados antes de comenzar a aprender estas herramientas de administración de configuración.

A menos que tenga un buen conocimiento en el lado de las operaciones (Administración de servidores Linux / Windows, Administración de servidores web, Redes), control de versión de código (git, svn) y CI y CD (Jenkins, Bamboo, etc.), no podrá comprender realmente donde las herramientas de gestión de configuración (de aquí en adelante llamadas CM) encajan.

Demasiado honesto, fueron las herramientas CM como Puppet, Chef, Ansible, SaltStack, etc. lo que atrajo la atención de DevOps al mercado. Lo que las herramientas CM aprovisionadas fue la capacidad de administrar su infraestructura como código. Ya sea todo el trabajo manual que había hecho antes para instalar un sistema operativo, instalar y configurar sus dependencias, configurar los diversos parámetros de red y configurar los niveles de acceso, copiar y desplegar los artefactos y administrar los recursos de hardware, todo esto se hizo manualmente, lo que siempre condujo a las posibilidades de fracaso. E imagine hacer esto varias veces para muchos servidores diferentes. Fue muy difícil hacer un seguimiento y tener una infraestructura confiable de esta manera. Aquí fue donde estas herramientas vinieron al rescate.

Sugeriría a los principiantes que comiencen con Ansible y luego aprendan Chef, Puppet y otras herramientas de CM según los requisitos.

Monitoreo proactivo en DevOps

El monitoreo continuo existió mucho tiempo antes de que DevOps entrara en escena. Pero comenzó a llamar la atención y recientemente llegaron más herramientas al mercado o al monitoreo proactivo del medio ambiente. Estas herramientas monitorean sus registros y recursos del sistema y pueden identificar posibles cuellos de botella y enviar alertas para evitar interrupciones y problemas de rendimiento.

Herramientas como Nagios, senSU, logstash, New Relic, etc. pueden ayudarlo a comenzar.

Entrando en el mundo de la virtualización (ahora evolucionando a la contenedorización)

La virtualización fue conocida por más de una década con herramientas como VirtualBox, KVM, VMware, etc. La diferencia que DevOps trajo aquí es la automatización de la configuración, configuración y administración de estas máquinas virtuales. Esto es posible a través de herramientas como Vagrant, Packer, etc.

Otro dominio que es de la mayor demanda que ayudó a muchas organizaciones a impulsar DevOps son los contenedores. Los contenedores son entornos de ejecución autónomos y livianos. En comparación con las soluciones de virtualización habituales, los contenedores son más eficientes de ejecutar y más fáciles de administrar. Además, lo que han hecho los contenedores es encapsular el software junto con el entorno adecuado donde debe ejecutarse con todas las dependencias requeridas. El desarrollador puede implementar su código en contenedores que ya tienen el entorno correcto donde el código puede ser probado y luego enviado al equipo de operaciones para verificarlo e implementarlo, todo en cuestión de minutos o menos en comparación con los métodos tradicionales.

Los contenedores se hicieron populares debido a Docker. También hay otras herramientas para administrar y escalar contenedores, como Kubernetes, Mesos, etc. Le sugiero que comience su viaje con Docker antes de tener en sus manos otras herramientas para escalar y administrar contenedores.

Mudarse a la nube

Junto con las herramientas de administración de configuración mencionadas anteriormente, fue la demanda de pasar a la nube y administrar la infraestructura de la nube lo que aumentó aún más la demanda de DevOps. Tener una experiencia profunda con varios proveedores de la nube y sus servicios es esencial para un ingeniero de DevOps. Se requiere mucho conocimiento y experiencia con proveedores de la nube como AWS, Azure, Google Cloud, etc. Además, obtener las certificaciones proporcionadas por estos proveedores agregará valor a su experiencia en DevOps.

Resumen

Bueno, como dije antes, en realidad es un viaje largo y difícil para obtener experiencia en DevOps y será más difícil para los principiantes y las personas sin experiencia en operaciones ni desarrollo. Pero una vez que haya comenzado a trabajar de manera práctica con dichas herramientas y procesos y comience a trabajar en proyectos en vivo donde se está implementando DevOps, obtendrá un buen conocimiento y podrá desarrollar su experiencia en él.

Aunque es muy importante fortalecerse en los principios y la cultura de DevOps, al final para que una persona o el equipo implementen o pongan en práctica DevOps, se necesitan las herramientas correctas y el proceso correcto para trabajar juntos muy bien.

PD: Sé que este artículo no es perfecto o una guía infalible para el camino de convertirse en un ingeniero de DevOps exitoso. Siéntete libre de corregirme si tienes algo mal o necesitas agregar más puntos. Gracias

Las habilidades de los ingenieros de devOps se pueden agrupar en los siguientes encabezados:

  1. Conceptos : Uno necesita conocer las diversas terminologías y conceptos que se utilizan en el campo devOps. Esto lo ayudará a estar listo para su rol como ingeniero devOps.
  2. Infraestructura: necesita conocer la infraestructura en la que está trabajando. La infraestructura podría ser de dos tipos:
  1. Tradicional: su infraestructura local. Se requieren conocimientos sobre edición básica basada en Linux / Unix, monitoreo y otras herramientas basadas en comandos.
  2. Nube: el conocimiento sobre al menos una infraestructura de nube es preferible de un ingeniero devops. AWS tiene muchos servicios web incorporados dedicados al perfil devops (por ejemplo, CodeCommit, CodeBuild, CodeDeploy, Codepipeline), etc.
  • Lenguaje de programación / scripting: se necesita al menos un lenguaje de scripting junto con scripting de shell para el rol devOps. Python puede cumplir con los requisitos, ya que es fácil de aprender y ampliamente adoptado en la industria, y puede funcionar tanto para scripts pequeños como para el desarrollo completo de aplicaciones.
  • Herramientas Devops: hay varias herramientas disponibles para automatizar todo el proceso del ciclo de vida del desarrollo de aplicaciones. Diferentes compañías prefieren diferentes herramientas. Sin embargo, uno puede comenzar con las herramientas devOps más aceptadas primero. Como git para la gestión del código fuente, Jenkins para la compilación y prueba, chef para la gestión de la configuración e infraestructura de AWS para la implementación.
  • Habilidades de integración: en última instancia, el ingeniero de devOps debería poder utilizar toda su experiencia para integrar todas las habilidades mencionadas anteriormente para crear un entorno totalmente automatizado e integrado. El objetivo debe ser la intervención manual cero desde la administración del código fuente hasta el estado de implementación, es decir, Integración continua, Entrega continua e Implementación continua.
  • Habilidades blandas: al final del día, DevOps es una cultura de colaboración y comunicación constante entre varios equipos responsables del desarrollo y la entrega de aplicaciones. Por lo tanto, uno debe ser dinámico, jugador de equipo, solucionador de problemas y aprendiz rápido.
  • Para obtener información detallada sobre los aspectos técnicos del perfil de devOps, puede visitar DevOps – Mastering DevOps Training en Bangalore – ZekeLabs es el mejor DevOps – Mastering DevOps Training en Bangalore.

    Si desea convertirse en un buen ingeniero de DevOps, debe:

    • trabaje con diferentes herramientas involucradas en diferentes etapas de DevOps de manera consistente durante el desarrollo de las aplicaciones o productos
    • manténgase siempre actualizado con las herramientas de tendencias utilizadas en el entorno DevOps

    Qué tan cómodo se sienta al usar las herramientas DevOps decidirá cuánto va a disfrutar del entorno DevOps.

    • Licenciatura en Informática o equivalente
    • Más de 5 años de experiencia con algunos lenguajes de script como Perl, Ruby, etc.
    • Experiencia en el desarrollo y mantenimiento de procesos CI / CD para SaaS empresarial y aplicaciones locales utilizando herramientas como Git, Gerrit, Jenkins, Maven, Gradle, etc.
    • Experiencia en Linux System Admin y Bash Scripting
    • Experiencia con herramientas de gestión de configuración como Ansible, Chef, Fabric, Puppet o SaltStack
    • Experiencia práctica en la construcción y administración de máquinas virtuales y contenedores utilizando herramientas como Docker, Vagrant, Kubernetes.
    • Experiencia en diseño y mantenimiento de soluciones basadas en la nube con Azure
    • Familiaridad con las tecnologías de registro y monitoreo como Nagios, Log Insight

    Los roles que debe desempeñar como ingeniero de DevOps en una organización son:

    • Comprender las necesidades y los desafíos de un cliente en todas las operaciones y el desarrollo, y asociarse para formular soluciones que respalden sus objetivos y estrategias comerciales y técnicas.
    • Desarrolle soluciones que abarquen tecnología, procesos y personas para:
    • Entrega continua
    • Estrategia y operaciones de infraestructura (incluida la nube)
    • Gestión de compilación y lanzamiento
    • Conocimientos básicos de redes
    • Seguridad (comprensión justa de la seguridad de la aplicación y la infraestructura)
  • Recomendar e implementar soluciones. Sé totalmente práctico y ten la capacidad de trabajar de forma independiente
  • Garantizar la entrega de soluciones técnicas excepcionales.
  • Mantener una sólida experiencia y conocimiento de los procesos, técnicas y herramientas actuales y emergentes.
  • Desarrolle la práctica de DevOps dentro de ThoughtWorks e impulse nuestro liderazgo de pensamiento externamente
  • Identifica y resuelve problemas de manera oportuna.
  • Diseñe, cree y mantenga la infraestructura y las herramientas de CI / CD para ofrecer Horizon Cloud Service
  • Trabaje en estrecha colaboración con los equipos de desarrollo para garantizar que las soluciones se diseñen teniendo en cuenta la experiencia del usuario, la escala / el rendimiento y la viabilidad.
  • Algunos de los perfiles de trabajo relacionados con DevOps son:

    • Arquitecto DevOps
    • Ingeniero de automatización
    • Probador de software
    • Ingeniero de seguridad
    • Especialista en integración
    • Gerente de lanzamiento

    Puede utilizar cualquiera de los perfiles de trabajo anteriores que se adapte a su calificación y experiencia sabia.

    Si desea conocer las principales herramientas de DevOps de tendencias que se utilizan en diversos procesos involucrados en el entorno de DevOps, puede consultar este blog.

    Las 10 mejores herramientas de DevOps que debes conocer en 2018 | Edureka

    Si desea saber cómo estas herramientas juegan en la cultura de DevOps, puede hacer clic en el enlace mencionado a continuación.

    Herramientas de DevOps: cómo organizarlos para resolver nuestros problemas

    Ahora, si le gustó el blog anterior, es posible que desee profundizar en los detalles sobre esas herramientas. Así que a continuación hay un tutorial de videos de youtube para ti.

    Videos Tutoriales de Herramientas DevOps – YouTube

    Si desea desarrollar su carrera profesional en DevOps , puede hacer clic en el siguiente enlace para inscribirse en el curso de certificación y capacitación de DevOps proporcionado por Edureka.

    El curso DevOps de Edureka es suficiente para que te conviertas en un experto en el dominio. El curso está diseñado con precisión teniendo en cuenta los requisitos industriales actuales. Este curso le proporcionará una idea profunda sobre:

    • Desarrollo continuo, integración continua y pruebas continuas con GIT, Jenkins y Selenium
    • Gestión de configuración e implementación continua con Puppet, Ansible y Docker
    • Finalmente, obtendrá información al monitorear continuamente el software utilizando Nagios

    Para obtener más información, puede visitar el siguiente enlace para inscribirse en la Certificación y Capacitación DevOps de Edureka.

    Entrenamiento DevOps | Certificación DevOps | Curso DevOps | Edureka

    Buena suerte para tu futuro y feliz aprendizaje.

    10 habilidades de DevOps para buscar en solicitantes de empleo

    # 1 – Un administrador de sistemas impecable

    Debe ser un administrador de Windows / Linux de nivel superior (ya sea / o / ambos según su tienda) con 5 a 10 años de experiencia. ¿Por qué? Porque necesitan poder construir y administrar servidores mientras duermen. Pero esa no es la única razón, mucho depende de alguien para automatizar las implementaciones de servidores porque este es un gran problema en la mayoría de las tiendas de TI.

    # 2 – Experiencia de virtualización

    Debe tener de 3 a 5 años de experiencia en virtualización con VMware, KVM, Xen, Hyper-V o cualquier hipervisor que esté ejecutando en su nube privada. Ahora, es posible que nunca se involucren en el soporte diario del trabajo de infraestructura, pero lo entienden mejor porque la mayoría de las nubes públicas ejecutan múltiples tipos de virtualización.

    # 3 – Amplia experiencia técnica

    Junto con la experiencia de virtualización, deben comprender el almacenamiento y las redes. ¿Por qué? Porque ya pasaron los días en que la red y el almacenamiento son silos. Necesita personas que puedan diseñar una solución que se ajuste y funcione con alta disponibilidad y tiempo de actividad. Los solicitantes también deben comprender la tolerancia a fallas y los dominios de fallas para no poner todos los huevos en una canasta.

    # 4 – Gurú de secuencias de comandos

    ¿Ya he dicho que necesitan poder hacer script? Bash, Powershell, Perl, Ruby, JavaScript, Python: lo que sea. Deben poder escribir código en procesos repetibles automatizados. Pero no nos detendremos allí porque también necesitan poder codificar en API RESTFUL. Así es, si va a reemplazar procesos manuales como asignar direcciones IP y reservas de DNS, alguien necesita escribir algún código.

    # 5 – Borderline Developer (más es mejor)

    ¿He dicho que necesitan codificar en C +, C ++, .NET, ASP? No, no me estoy repitiendo. Estoy hablando de escribir guiones que dispararán y organizarán las implementaciones completas de entornos DEV, QA y Producción a través de herramientas como Chef, Puppet, CFEngine u otras herramientas de este tipo. ¿Por qué? Porque ya pasaron los días en que alguien instala Windows o Linux desde un CD. Hoy en día, se dispara un comando que dispara una compilación del servidor, luego dispara otro script que instala aplicaciones, luego lame sus labios y dispara otros scripts que realizan configuraciones y comprobaciones de validación. ¿Quién crees que va a escribir todo este código? No es un administrador de sistemas. Los ingenieros de DevOps lo harán.

    Para más información HAGA CLIC aquí

    De Wikipedia: http://upload.wikimedia.org/wiki

    Un puesto típico de DevOps combina aspectos de TI, desarrollo de software y control de calidad para entregar y / o integrar productos. Aquí hay una breve muestra de los tipos de habilidades que las empresas buscarán para ocupar un puesto de DevOps:

    • Administración de sistemas, por ejemplo, administración de sistemas Linux, incluida la automatización y la implementación del sistema (piense en BASH, Python, Perl o incluso PowerShell).
    • Desarrollo de software, especialmente lenguajes cercanos a la implementación automatizada, como Python, BASH, et al. Conocer los idiomas de la empresa también es una gran ventaja: si la empresa a la que se postula es una tienda de Ruby on Rails, será útil conocer RoR o tener experiencia en la implementación de aplicaciones similares.
    • Mecanismos de construcción automatizados, por ejemplo, Jenkins (consulte Integración continua para otros)
    • Mecanismos de implementación automatizados para sistemas y aplicaciones, por ejemplo, Puppet, Chef, Kickstart y otros.
    • Marcos de prueba, como la experiencia con pruebas unitarias, pruebas de integración, pruebas de aceptación, etc. estos toman la forma de varios marcos y bibliotecas para cada idioma

    Simple respuesta sabia para esto,

    • Leer libros relacionados con DevOps
    • Suscríbase a los sitios web y comunidades que hablan mucho sobre DevOps
    • Mira videos y comprende los conceptos básicos.
    • Conéctese con personas de mentalidad similar y haga sugerencias en LinkedIn
    • Juega con diferentes herramientas DevOps disponibles como AWS, Shippable, Docker, Puppet, Chef, etc.
    • Lea este artículo ‘Cómo convertirse en un gran ingeniero de DevOps’

    Espero que mi respuesta sea de ayuda 🙂