¿Qué es DevOps? Conoce más sobre esta forma de trabajo

Es importante aclarar algo desde el inicio: No es lo mismo Ops y DevOps. Aunque muchas veces confundimos los términos.

Ops (Operaciones Web) comprende el diseño, implementación y gestión de servidores, redes, aplicaciones y ambientes de software en general (runtime environments, frameworks, etc) que se utilizan para poner en funcionamiento tecnologías de tipo web como web apps, por ejemplo.

DevOps es una forma de hacer el trabajo de Ops en la que los principales componentes como: provisionamiento de máquinas, redes y conectividad, monitoreo, mecanismos de seguridad, despliegue de las aplicaciones, entre otros, están todos controlados por medio de software, buscando el objetivo de la automatización completa.

DevOps (Development Operations)

Por dar un ejemplo claro de cómo funciona el Provisionamiento de Máquinas lo explicaremos en los dos escenarios:

  1. Ops: Servidor físico o virtual instalado y configurado de forma manual para su uso final. Puedes agilizar el proceso con un snapshot pero sigue siendo un proceso manual.
  2. DevOps: Un script genera una máquina virtual, o busca un servidor físico disponible en un pool de recursos, ejecuta un administrador de configuraciones como Ansible, Puppet, Chef, Cloud Formation, Terraform, Vagrant, etc., realizando todas las configuraciones por medio de un archivo tipo receta. El script al final realiza pruebas sobre los servicios y otras configuraciones y envía una notificación al humano encargado o a otro script que a su vez desplegará la aplicación y pondrá el servidor en producción.

Ventajas de DevOps en este caso:

  1. El proceso se puede realizar de forma paralela en múltiples servidores, locales o remotos, solo agregándolos a un archivo de lista
  2. Como se realiza todo de forma automática, evitamos el error humano y aseguramos la consistencia de las máquinas resultantes.
  3. En caso de querer realizar un cambio a cualquiera de las configuraciones, basta cambiar un archivo de texto y no es necesario generar un snapshot completo que demora mucho
  4. En caso de necesitar instalar el mismo tipo de servidor en otra ubicación, podemos enviar los archivos de texto plano de la “receta” (como si fuera una partitura) y no es necesario mover un snapshot súper pesado
  5. Podemos pasar estos archivos a nuestros equipos de seguridad, etc., que pueden auditar nuestras configuraciones, sin necesidad de un servidor activo. Esto facilita lograr el concepto de “Seguridad desde el diseño y seguridad por default”.

Con el provisionamiento de redes puedes hacer lo mismo, utilizando por ejemplo Nutanix, VM Ware, Vagrant, AWS, etc…Todo lo que tenga una api. Así que diseñas tu red, automatizas su provisionamiento y garantizas que el diseño aprobado por el equipo de seguridad sea siempre el que se aplica, sin lugar a errores por omisión.

DevOps es una moda y se usa mal el término todo el tiempo. Les dejo el link a la biblia del DevOps para que puedan ampliar esta información: https://12factor.net/es/.

¿Qué opinas sobre este tema? ¿Conocías el uso correcto del término DevOps?

Si quieres más información sobre nuestros otros planes y servicios diseñados para personas talentosas como tú, puedes contactarte con nosotros o dejarnos tu comentario en la parte de abajo de este post.

Imagen de geralt vía Pixabay.com bajo licencia creative commons.