DevOps versus SysAdmin: ¿Rivales o Colaboradores?

DevOps versus SysAdmin: ¿Rivales o Colaboradores?

Hace una pocas publicaciones atrás hablábamos sobre los SysAdmin, específicamente en la publicación llamada “Sysadmin: El Arte de ser un Administrador de Sistemas y Servidores”. Y decíamos que los mismos eran una especie de “… experimentado Profesional IT todo en uno, cuyo día normal suele estar lleno de una gran cantidad de variadas actividades programadas o no… ” y “… el responsable de garantizar el correcto funcionamiento de toda plataforma tecnológica e informática de donde trabaja, …”.

En esta publicación hablaremos de los DevOps, esa especie de nueva “raza” (generación) de Desarrolladores de Software, de la que se escucha desde aproximadamente ocho o diez años atrás. Esta nueva generación de programadores nacida de las entrañas de los Centros Tecnológicos y las modernas Empresas IT de alto renombre mundial, y que debe su nombre al término derivado de las palabras inglesas “Development” y “Operation”.

Introducción

En pocas palabras podríamos decir que un DevOps es un programador capaz de realizar todas las funciones que intervienen en el ciclo de vida del “Desarrollo del Software” y más, tales como: Programación, Operación, Pruebas, Desarrollo, Soporte, Servidores, Base de Datos, Web y cualquier otra que sea necesaria.

Se dice que esta nueva “Generación de Desarrolladores de Software” surgió en esas pequeñas, modernas y exitosas “Startup Tecnologicas” formadas por pequeños grupos de “Especialistas TI”, principalmente Desarrolladores de Software.

Y como ya sabemos por lo general esas “Startups” lo que hacen es desarrollar soluciones de software expeditas (de 6 a 12 meses) y así resolver problemas y necesidades puntuales y complejas del mundo real. Esto hace que las mismas, tiendan a tener una tasa de mortalidad extremadamente alta.

De esa realidad vivida en esas Startups se origina una nueva “Cultura de Desarrollo de Software” basada en la filosofía conocida como “Release Early, Release Often” (Lanzamientos Tempranos, Lanzamientos Frecuentes) donde el Software es modificado y lanzando “On Fly” (En vuelo), es decir, sobre la marcha para ser utilizado inmediatamente por los usuarios del mismo.

Usuarios que alimentaban a los Desarrolladores a partir de los “Feedbacks” obtenidos con los que realizaban las mejoras y actualizaciones al código sobre la marcha.

Esta nueva “Cultura de Desarrollo de Software” ha ido cambiando la “tradicional Cultura de Desarrollo de Software” en donde cada integrante de una “Unidad TI” (Informática / Tecnología) tiene un cargo con funciones bien definidas y especificas, tales como: Desarrollador Junior, Desarrollador Senior, Administrador de Base de Datos, Administrador de Sistemas y/o Servidores , Analista y/o Probador de Aplicaciones, Soporte Técnico, entre otros.

Esta situación es la que hace precisamente un DevOps se parezca mucho a un SysAdmin, es decir, pequeñas Empresas de gran actividad que tratan de reducir el tamaño del personal de Especialistas TI para producir una disminución de los costos operativos de la misma y toda la organización. Dando origen a “Desarrolladores de Software” y “Administradores de Sistemas y Servidores” que manejan comunes muchas áreas y funciones multi-disciplinarias de la tecnología.

Por ende, el DevOps no es solo una persona o un cargo, es también una tendencia, un movimiento, una cultura organizacional muy extendida actualmente. Sobre la que se puede saber más leyendo estos otro 2 artículos llamados: “DevOps” y “¿Qué es DevOps?“.

Contenido

Lo antes expuesto es precisamente por lo que actualmente los DevOps y Sysadmin son vistos literalmente como unos “Jack of all Trades” o “Master of None”, es decir, unos “Sirvientes de todo” o “Maestros de nada”, ya que son capaces de “hacerlo todo o muchas cosas sin llegar a ser experto en nada”.

Lo que tiende a devaluar el valor de dichos profesionales en el mercado laboral, ya que la especialización a largo plazo es la mejor inversión para un profesional y una organización. Esto debido a que la tecnología de la información está compuesta por múltiples y extensas áreas de conocimiento que virtualmente es imposible dominar (aprender, retener, actualizar) completamente para un solo profesional.

Para un DevOps o un Sysadmin poder contar con la capacidad intelectual de resolver casi cualquier problema tecnológico que se presente implica un costo cognitivo altísimo, lo que favorece que los mismos tiendan a presentar ciertos grados de “Estrés laboral” (Burn Out), y sufran en consecuencia una disminución en su productividad o eficiencia laboral.

SysAdmin

Los Sysadmin tienden a abarcar las siguientes funciones y actividades:

  1. Implementar nuevos o remover obsoletos
  2. Realizar respaldos
  3. Monitorizar el rendimiento
  4. Administrar los cambios de configuración
  5. Operar las Aplicaciones y los Sistemas Operativos
  6. Gestionar las cuentas de usuarios
  7. Vigilar la seguridad informática
  8. Afrontar los fallos y las caídas
  9. Atender los requerimientos de los usuarios
  10. Reportar a los niveles directos responsables de la Organización
  11. Documentar las actividades informáticas del Sistema y la Plataforma

Y ha tener ciertos conocimientos de:

  1. Programación
  2. Bases de Datos
  3. Seguridad Informática
  4. Redes
  5. Sistemas Operativos

DevOps

Los DevOps tienden a dominar una gran variedad de lenguajes de programación, además de poseer capacidades técnicas y habilidades de gestión. Un DevOps suele ser también una mezcla de Desarrollador de Software y Sysadmin cuya función suele verse como una eliminación de las barreras entre ambos perfiles. Por lo que es de esperar que un DevOps posea conocimientos tanto del Software como del Hardware (Infraestructura/Plataforma) de la Organización donde se desempeñe.

Por ende, los DevOps suelen ser capaces de:

  1. Escribir código y realizar la función de un Programador.
  2. Administrar Servidores Multi-Plataformas y realizar la función de un SysAdmin.
  3. Gestionar Redes y realizar la función del NetAdmin.
  4. Manejar una base de datos (BD) y realizar la función de un DBA.

Esto nos deja como conclusión que un buen DevOps:

Es capaz de realizar las mínimas actividades y funciones de cada especialista de área en una Unidad TI. Lo cual suele no darse con frecuencia en el caso inverso, para los SysAdmin y otros Especialistas TI, ya que un SysAdmin, un NetAdmin, un DBA o un Especialista de Soporte Técnico, por lo generalmente no tiende a para escribir código consistente y eficientemente en lenguajes de alto nivel o popularidad comercial.

Lo que nos deja con que un DevOps, suele tener un conocimiento que le permite sustituir a todos los demás, sin que se de lo mismo a la inversa. Y esto hace que los DevOps sean más apreciados en el mercado laboral, es decir, estén de moda y toda pequeña o mediana organización (principalmente) quiera uno, causando una desvalorización del resto de los cargos tradicionales dentro de una Unidad TI.

Y que estos 2 cargos son de naturaleza diferente, aunque compartan muchas tareas que son comunes. Diferencias tales como que los DevOps:

  • Colaboran en un alto nivel de las Organizaciones y garantizan la sinergia en cada sección de la empresa, mientras los SysAdmin están más enfocados a Gestionar (Configurar, Mantener y Actualizar Servidores y sistemas informáticos).
  • Tienden a trabajar más a menudo en proyectos con un producto de extremo a extremo, mientras que los SysAdmin tienden a estar más limitados a un alcance y una responsabilidad más pequeña (puntual) con respecto a los mismos proyectos/productos.
  • Suelen poder hacer todo lo que un SysAdmin hace, pero un SysAdmin no suele poder hacer todo lo que hace un DevOps.

Conclusión

El objetivo que persigue el termino “DevOps” como tendencia o cultura organizacional es impulsar la cultura de equipo, basándose en la colaboración y comunicación entre los individuos de las distintas áreas involucradas en el Desarrollo de Sistemas de software. Por lo que el “DevOps” en una Organización favorece la integración entre los miembros de las área de Desarrolladores de Software, los Operadores de los Sistemas, o los Administradores de Sistemas y Servidores, tratando de hacerla más perfecta, transparente y amigable.

Aunque algunos dentro de las Organizaciones tiendan a ver el efecto contrario, es decir, a ver como la cultura DevOps representa la destrucción de la mayoría de los roles dentro de las Unidades TI. Por ejemplo, como los programadores tienden a convertirse en DevOps para luego reemplazar a los SysAdmin, NetAdmin, DBA, Especialistas de Soporte y demás, incluyendo a los Desarrolladores de Software que solo escriben código.

Si tienes más dudas sobre este tema te recomiendo que leas el papel de trabajo relacionado al mismo que se encuentran en este enlace.


6 comentarios, deja el tuyo

  1. Como se dice siempre, el conocimiento no ocupa lugar. Especializarse y ser un “todo terreno” en ciertas areas, llega a ser de gran valor para cualquier profesional, pero esto no debe implicar precarizacion laboral permitiendo que el mercado aproveche para reducir el valor que tienen dos grandes profesionales al precio de uno.

  2. Ciertamente creo que eso pasa mucho es países latinos donde quieren que el SysAdmin sirva hasta el café… Cada quien a lo suyo aunque uno sepa hacer hasta café 🙂

  3.   Amin Espinoza dijo

    Que buen post! Me encanta la manera en que abordaste como mil quinientos conceptos en algo tan compacto pero preciso. Un tema con un largo debate e incontables opiniones pero en lo personal estoy muy de acuerdo, lo que yo pienso para no ser un “bueno en todo” es apostar por la etapa de DevOps que te guste sobre las otras y atacar con especialidad eso.
    Gracias por el texto!

    1.    Linux Post Install dijo

      Gracias por tus positivos comentarios, me alegra mucho que a ti y a muchos otros haya sido de agrado la publicación.

  4.   valdo dijo

    Excelente post. Lo ideal sería que los DevOps reflejen la cultura del trabajo en equipo. No cabe duda de que los DevOps deben tener conocimientos profundos de todas las áreas involucradas en el Desarrollo de Sistemas de software pero también es evidente que la cantidad de trabajo que implica esa tarea requiere de más de una persona, cada una en lo posible con un conocimiento específico.
    Lamentablemente creo que muchas empresas medianas y/o pequeñas priorizan equivocadamente cuestiones económicas, si tienen un todo terreno para qué contratar alguien más?, olvidando que lo barato a la larga suele salir muy caro.
    Soy un simple aficionado en ésto del desarrollo de sistemas pero conozco las dificultades de tener que entenderse solo con algo tan simple como crear y administrar una página web de una muy pequeña organización que no dispone de dinero para contratar un equipo.
    En resumen, tal vez me equivoque, creo que se marcha hacia una fusión de las dos funciones dependiendo fundamentalmente de la capacidad económica de la organización para la que se trabaje y secundariamente de su filosofía de trabajo.

  5. Este es el articulo sobre solo los Sysadmin, para quien quiera expandir un poco más la lectura sobre los mismo!

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.