Introducción a DevOps para principiantes

DevOps se ha convertido en una palabra de moda, lo que significa muchas cosas diferentes para mucha gente.


Es difícil entender y definir qué es exactamente DevOps. Y es por eso que si conoces los conceptos fundamentales de DevOps con los que la mayoría de las personas se asocian y la historia de cómo evolucionó, obtén una visión integral.

El origen de DevOps

DevOps es un ejemplo perfecto de desarrollo de software ágil. La idea de DevOps surgió de la necesidad de mantenerse al día con el aumento de la velocidad del software y lograr métodos ágiles. Los grandes avances en la cultura y las prácticas ágiles durante la última década expusieron el requisito de un enfoque más integral del ciclo de vida de entrega de software de extremo a extremo..

Tal vez se pregunte qué es el desarrollo ágil de software:

Desarrollo ágil es un término amplio para definir varias metodologías de desarrollo de software iterativas e incrementales. Las metodologías ágiles populares son Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development y Extreme Programming (XP).

Los valores centrales y la visión de todas estas metodologías ágiles son las mismas, pero cada una de ellas tiene un enfoque único. Todas estas metodologías incorporan iteraciones y retroalimentación continua para perfeccionar y entregar software escalable con éxito. Todas estas metodologías implican una planificación continua, pruebas continuas, integración continua y otras formas infinitas tanto para el proyecto como para el software..

A diferencia de los procesos convencionales de estilo cascada, estas metodologías ágiles son livianas y tienen una naturaleza inherentemente adaptable. Una de las mejores cosas de estas metodologías ágiles es que todas se centran en empoderar a las personas cuando se trata de colaborar y tomar decisiones rápidas juntas.

Imagen de Segue

Los ideales de DevOps ejecutan la práctica de desarrollo ágil extendido para refinar el movimiento del cambio de software a través de la construcción, validación, implementación y diferentes etapas de entrega. Permite que el equipo multifuncional tenga la propiedad total del producto de software, desde el diseño hasta la producción..

Desafíos resueltos por DevOps

Proceso de implementación Las aplicaciones distribuidas a menudo requieren la implementación de los archivos binarios y de configuración en varios servidores. Se vuelve más desafiante tener una granja de servidores. Se vuelve difícil descubrir qué, cómo y dónde implementar. El resultado obvio?

La larga espera para llevar los artefactos al siguiente entorno de la ruta para vivir provoca retrasos en todo, como las pruebas, el tiempo de vida, etc..

DevOps permite el software o desarrolladores de sitios de Internet y operaciones de TI para implementar el proceso en una sesión de colaboración que es completamente irreprochable. Nos permitirá verificar qué funciona y luego llevarlo al siguiente nivel con automatización para implementar el desarrollo continuo. También crea vías para un desarrollo más frecuente..

Objetivos de DevOps

Mejora la colaboración entre las partes interesadas desde la planificación hasta la entrega e implementa la automatización del proceso de entrega para:

  • Mejora la frecuencia del despliegue
  • Logre un tiempo más rápido para comercializar el producto final
  • Disminuye la tasa de fracaso de nuevos lanzamientos
  • Acorta el tiempo de espera entre arreglos
  • Mejora mientras tanto para el propósito de recuperación

Escenario de DevOps común

Todo el software llega al punto de encuentro antes de comenzar un nuevo proyecto de software. El equipo está formado por desarrolladores, evaluadores, profesionales de operaciones y soporte. El equipo hace el plan para crear un software completamente funcional que esté listo para la implementación.

Cada día se implementa un nuevo código una vez que los desarrolladores lo completan. El procedimiento de prueba automatizado asegura si el código está listo para ser implementado. Una vez que el código obtiene la señal verde del proceso de prueba de automatización, se implementa en un pequeño número de usuarios. El código se supervisa durante un breve período para garantizar que no haya problemas imprevistos y que sea estable. Luego, el nuevo código se implementa en el resto de los usuarios una vez que la supervisión final ha demostrado que el código es estable. Una parte importante de los pasos después de la planificación y el desarrollo se realiza sin intervención humana..

Diferentes fases de madurez de DevOps

Hay muchas fases diferentes de madurez de DevOps. Aquí están las frases clave que debes saber.

Desarrollo de cascada

Antes del momento de la integración continua, los equipos de desarrollo solían escribir una cantidad masiva de código y luego los de diferentes equipos se fusionaron para el lanzamiento. Las versiones del código eran tan diferentes que solían requerir una gran cantidad de cambios..

Hacer estos números de cambios utilizados -toma más de unos pocos meses. Este proceso no fue productivo.

Integración continua

Es una práctica de integrar un código recientemente desarrollado con el código principal que se lanzará de la manera más rápida. Cuando se trata de liberar el código, el desarrollo continuo ayuda a ahorrar mucho tiempo.

DevOps no introdujo este término. La integración continua es una práctica de ingeniería ágil que proviene de la metodología de programación extrema. DevOps ha adoptado esta práctica porque cuando se trata de ejecutar exitosamente la integración continua, se requiere automatización. La integración continua es a menudo la primera en el camino hacia la madurez de DevOps.

La integración continua desde la perspectiva de DevOps incluye los pasos como verificar el código, compilar en código utilizable y ejecutar algunas de las pruebas de validación necesarias. ‘

Entrega continua

Es una extensión de la integración continua y también, la segunda etapa de DevOps.

La entrega continua le permite agregar automatización y pruebas adicionales. Para que no solo combine el código con la línea de código principal rápidamente, sino que también tenga el código casi listo para implementar sin intervención humana.

Es una práctica mantener su base de código en un estado casi listo para desplegar.

Despliegue continuo

El despliegue continuo es la evolución avanzada de la entrega continua. Esta práctica nos permite desplegar todas las formas de producción sin intervención humana..

El equipo que trabaja en el desarrollo continuo nunca implementa ningún código sin realizar pruebas. Todo el código recién creado se ejecuta a través de pruebas automatizadas antes de pasar a la etapa de producción. El código se implementa en un pequeño número de usuarios y hay un ciclo de retroalimentación automatizado que monitorea la calidad y los usos antes de que el código llegue al siguiente nivel..

Hay un pequeño número de compañías como Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU y Google, etc. que realizan un desarrollo continuo.

El valor

DevOps se enfoca en desarrollar una cultura colaborativa y mejorar la eficiencia a través de la automatización con diferentes herramientas DevOps. Para implementar DevOps para su solución de software, debe utilizar la combinación de cultura y herramientas..

Cultura DevOps

DevOps es una cultura particular que ayuda a mejorar la colaboración, disminuir el caos, manejar las responsabilidades compartidas de una mejor manera, implementar la automatización, la mejora de la calidad, la valoración de comentarios y aumentar la automatización..

Los métodos ágiles siempre han sido la mejor forma holística de entregar software. Cuando se trata de medir el progreso, el equipo de desarrollo ágil lo hace en términos de software de trabajo. El método ágil de la cultura DevOps permite a los propietarios de productos, desarrolladores, evaluadores y personas de experiencia de usuario trabajar en estrecha colaboración con el mismo objetivo en mente..

Herramientas DevOps

Incluye las herramientas para la gestión de configuración, pruebas y creación de sistemas, desarrollo de aplicaciones, control de versiones y monitoreo. Cuando se trata de implementar la integración continua, la entrega continua y la implementación continua, requieren diferentes herramientas y, al mismo tiempo, también usan las mismas herramientas. Deberá usar más herramientas a medida que avanza en la cadena de entrega.

Conozcamos algunas de las herramientas y prácticas populares..

Repositorio de código fuente – Este es un lugar donde los desarrolladores pueden registrarse y cambiar el código. El repositorio de código fuente gestiona varias versiones del código que se registra para que pueda asegurarse de que los desarrolladores escriben sobre el código del otro.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse, etc. son algunas de las herramientas populares de repositorio de código.

Construir servidor: – el servidor de compilación es la herramienta de automatización que se utiliza para compilar el código del código fuente respiratorio en la base del código ejecutable. Algunas de las herramientas de servidor de compilación muy utilizadas son Jenkins, SonarQube, Artifactory.

Gestión de la configuración – Puppet, Chef, Ansible, SaltStack, Run Deck, etc. ayuda a administrar la configuración de la aplicación y la infraestructura para mantener la consistencia en todos los entornos.

Infraestructura virtual – AWS, GCP, Azure es uno de los tres principales proveedores de nube pública que ofrece casi todos los servicios de infraestructura. Ofrecen API que le permite aprovisionar la infraestructura y administrarlos como un código.

Conclusión

Espero que te dé una idea sobre DevOps y si esto te emociona, entonces puedes probar esta clase magistral en línea curso.

Artículo de Payal Goyal

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map