Technology solutions that boost business performance

Contacto
MX: Insurgentes Sur 318, Roma Norte
Cuauhtemoc (06700), CDMX, Mexico ARG: Juramento 1475, Piso 12, oficina 8
Belgrano (C14 28DMQ), CABA Argentina

¿Sabemos de qué hablamos cuando hablamos de DevOps?

Allá lejos y hace tiempo (no tanto en realidad, pero a veces da la sensación de ser así) las áreas de Desarrollo y de Infraestructura se mantenían casi como compartimentos estancos, donde el diálogo era casi nulo, o por lo menos escaso. Pero las evoluciones tecnológicas, especialmente el crecimiento exponencial que han tenido en los últimos años las soluciones basadas en la nube, hicieron necesario que el diálogo entre desarrolladores y arquitectos se haga más fluido, y la comunicación, constante. Así surgió DevOps, una metodología y un perfil laboral que básicamente actúa como vaso comunicante entre ambas áreas y que le aporta a los proyectos una noción de integralidad y fluidez, esenciales para el estadío de  Transformación Digital y Reingeniería Tecnológica que están viviendo las empresas hoy en día.

Primero, veamos un poco en qué consiste esta metodología para la creación de software. ¿A ver qué dice Wikipedia?: “DevOps es un acrónimo inglés de development (desarrollo) y operations (operaciones), que se refiere a una metodología de desarrollo de software que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de sistemas en las tecnologías de la información (IT)”.

¿Por qué surge la necesidad de implementar DevOps?

El objetivo es ayudar a una organización a producir productos y servicios de software más rápidamente, de mejor calidad y a un menor precio. Generalmente, suelen estar asociados a integración continua (continuous integration) o bien a entrega continua (continuous delivery). Estos conceptos acompañan a la metodología Lean, una forma de gestionar los procesos de una empresa. Su objetivo es eliminar actividades que no aportan valor, para así poder obtener un producto o servicio de mayor calidad y que mejore la experiencia de los clientes (Fuente: Ekon).

Estos términos de agilidad y entrega continua se unen a otro: los microservicios, un enfoque arquitectónico y organizativo para el desarrollo de software, como una serie de pequeños servicios, cada uno ejecutándose de forma autónoma y comunicándose entre sí (fuente: AWS). Para armar el rompecabezas de una solución, no es necesario tener todas las piezas, sino que la premisa es resolver lo que se requiera de la manera más desacoplada posible de manera que cualquier cosa que tenga que cambiar, no tenga un costo alto. En la actualidad, con las ventajas que ofrece la nube, unido al concepto de servicio autogestionado, necesariamente las instancias de comunicación entre desarrolladores y sysadmins o sysops, necesariamente tienen que acortarse, para ser ágiles y veloces en la entrega (o delivery) de una solución.

DevOps: la persona detrás de la metodología

Es un perfil altamente buscado por las empresas hoy en día. Como muchas veces sucede, la formación profesional va detrás de un mercado laboral tan dinámico -hasta diríamos vertiginoso- como es el de la Tecnología. De la mano de la profundización del modelo cloud en las empresas, viene la necesidad de contar con estos profesionales que conectan y que integran las instancias de un proceso de trabajo o “pipeline”. Pero DevOps, ¿se hace o se nace?

Hoy en día, es esencial que los desarrolladores conozcan muy bien la infraestructura donde van a correr sus aplicaciones. De la misma manera, quienes vengan del área de infraestructura, deben estar interiorizados acerca de los pasos para el desarrollo de una aplicación y cómo va a terminar corriendo en los ambientes que va a administrar. Así, estas personas van a poder agregar valor, no sólo en lo que respecta a la administración de los entornos, sino también para mejorar el funcionamiento de la aplicación en sí.

Es importante aclarar que no existe aún una formación académica oficial para convertirse en DevOps, si bien ya existen algunas certificaciones que brindan distintas entidades. Este perfil de profesional de tecnología debe reunir un amplio abanico de conocimiento de las distintas áreas y también experiencia en los distintos puestos. También se requieren otras características, entre los que podemos destacar: habilidades de comunicación y que propicie el diálogo entre las distintas áreas; amplios conocimientos, tanto de desarrollo como de infraestructura; conocer los distintos lenguajes de programación que se utilizaron para la creación del software; saber implementar las metodologías ágiles; experiencia en la automatización de procesos, entre otros.

Los puntos se conectan gracias a DevOps. Por un lado, una metodología ágil que potencia la mejora continua en entornos complejos. Por el otro, un profesional con mirada global, que sobrevuela y contempla un proyecto desde que se escribe la primera línea de código hasta la puesta en producción. Una forma de construir software que llegó para quedarse.

Leave a Comment

English