DEV Community

Tincho
Tincho

Posted on

Administración de servidores y DevOps

Que es DevOps?

No es un cargo o una persona, es una cultura que agrupa una serie de practicas y principios para mejorar y automatizar los procesos entre los equipos de desarrollo e infraestructura (IT) para hacer el lanzamiento de software de una manera rápida, eficiente y segura.

Un concepto importante y uno de los pilares fundamentales en DevOps es la automatización de procesos, que incluye los procesos de construcción, pruebas y lanzamiento del software con herramientas como Git, Jenkins, Circle CI, Travis, Terraform, entre otras.

Estas herramientas hacen pruebas a nuestra aplicación, antes de salir a producción, para identificar errores y solucionarlos, con esto los usuarios no se verán afectados.

Beneficios de implementar DevOps en una organización

  • Confiabilidad: la aplicación es probada para verificar su correcta funcionalidad antes de ser llevada al usuario final.
  • Velocidad: optimización de tiempo y reducción de la intervención humana al probar la aplicación.

Son impresionantes las ventajas que tiene el utilizar o implementar DevOps en el flujo de trabajo, ahora veamos cómo encaja DevOps dentro de este flujo:

  1. Desarrollo: nuevas características, mejoras, corrección de errores.
  2. Se crea el Pull Request.
  3. Se compila o construye lo que sea necesario y se ejecutan las pruebas: automatización de procesos con GitHub y herramientas como Jenkins, Travis, CircleCI, entre otras.
  4. Se aprueba el Pull Request.
  5. Se hace merge con Master.
  6. Se compila o construye lo que sea necesario para un entorno de staging o producción y se ejecutan las pruebas
  7. Deploy: lo ejecuta automáticamente Jenkins, o la herramienta utilizada, una vez las pruebas pasan.

Cómo puedo trabajar en DevOps?

Ya se dijo que DevOps no es una persona, pero su correcta implementación, seguimiento y mejora de los procesos necesita personas que se encarguen de este flujo para que todo funcione de forma eficiente.

  1. Podemos implementar sistemas de integración continua como Jenkins Travis y CircleCI, en algunos casos se deben instalar en un servidor y se configuran, y otros solo se deben configurar ya que son SaaS (Software As A Service) en la que solo creas una cuenta, personalizas el servicio y lo conectas con tu repositorio.
  2. Siempre se pueden mejorar los procesos de DevOps, optimizar la construcción y los procesos de despliegue, que es otro campo de acción para las personas que se enfocan y especializan en DevOps.
  3. Otro campo donde también se puede aplicar los conocimientos en DevOps es estandarizando los entornos de desarrollo, gracias a herramientas como Docker.
  4. El campo de acción para alguien que estudie y aprenda sobre DevOps es bastante amplio y puede estar involucrado en varios puntos del desarrollo de software.

Con el aumento de la complejidad de las aplicaciones se hace cada vez más indispensable la automatización de procesos que permitan asegurar la calidad, estabilidad y fiabilidad de las aplicaciones, grandes empresas están siempre en busca de este tipo de perfiles que ayuden a mejorar todo el proceso de pruebas y lanzamientos.

Top comments (0)