DevOps versus SysAdmin: rivais ou colaboradores?
Hai unhas publicacións falabamos de SysAdmins, concretamente na publicación chamada «Sysadmin: a arte de ser administrador de sistemas e servidores ». E dixemos que eran unha especie de «... experimentado todo-en-un profesional de TI, cuxo día normal adoita estar cheo dunha gran cantidade de actividades variadas, programadas ou non ...» e «... a persoa responsable de garantir o bo funcionamento de todas as plataformas tecnolóxicas e TI onde traballas, ... ».
Nesta entrada falaremos de DevOps, ese tipo de nova "raza" (xeración) de desenvolvedores de software, da que se escoitou falar desde fai uns oito ou dez anos. Esta nova xeración de programadores nacidos das entrañas dos centros tecnolóxicos e das modernas empresas de TI de gran prestixio mundial e que debe o seu nome ao termo derivado das palabras en inglés "Development" e "Operation".
Introdución
En poucas palabras poderiamos dicir que un DevOps é un programador capaz de realizar todas as funcións implicadas no ciclo de vida do "Desenvolvemento de software" e moito máis., como: Programación, Operación, Probas, Desenvolvemento, Soporte, Servidores, Base de datos, Web e calquera outro que sexa necesario.
Dise que esta nova "Xeración de desenvolvedores de software" xurdiu nesas pequenas, modernas e exitosas "startups tecnolóxicas" composto por pequenos grupos de "especialistas en TI", principalmente desenvolvedores de software.
E como xa sabemos, estas "startups" normalmente fan desenvolver solucións de software aceleradas (de 6 a 12 meses) e así resolver problemas e necesidades específicos e complexos no mundo real. Isto fai que teñan unha taxa de mortalidade extremadamente alta.
Desa realidade orixinada nestas startups unha nova «Cultura de desenvolvemento de software» baseada na filosofía coñecida como «Release Early, Release often» (Versións anticipadas, lanzamentos frecuentes) onde se modifica o software e lanza «On Fly» (en voo), é dicir, en movemento para ser usado inmediatamente polos seus usuarios.
Usuarios que alimentan aos desenvolvedores con "Comentarios" obtido con aqueles que realizaron melloras e actualizacións do código sobre a marcha.
Esta nova "Cultura de desenvolvemento de software" está a cambiar a "cultura tradicional de desenvolvemento de software" onde cada membro dunha "Unidade de TI" (Informática / Tecnoloxía) ten un posto con funcións ben definidas e específicas, como: desenvolvedor junior, programador principal, administrador de bases de datos, administrador de sistemas e / ou servidores, analista e / ou Probador de aplicacións, soporte técnico, entre outros.
Esta situación é precisamente o que fai que DevOps se pareza moito a SysAdmin, é dicir, pequenas empresas de gran actividade que intentan reducir o tamaño do persoal dos especialistas en TI para producir unha redución dos custos operativos da mesma e de toda a organización. Dando lugar a "Programadores" e "Administradores de sistemas e servidores" que manexan moitas áreas e funcións multidisciplinarias da tecnoloxía en común.
Polo tanto, DevOps non é só unha persoa ou un posto, tamén é unha tendencia, un movemento, unha cultura organizativa moi estendida na actualidade. Sobre o que podes saber máis lendo estes outros 2 artigos chamados: «DevOps»E«Que é DevOps?«.
contido
O anterior é precisamente por iso que actualmente DevOps e Sysadmin son literalmente vistos como un "Jack of all Trades" ou "Master of None", é dicir, "Servos de todo" ou "Mestres de nada", xa que son capaces de "facer todo ou moitas cousas sen converterse nun experto en nada".
O que tende a desvalorizar o valor destes profesionais no mercado laboral, xa que a especialización a longo prazo é o mellor investimento para un profesional e unha organización. Isto ocorre porque a tecnoloxía da información está composta por múltiples e extensas áreas de coñecemento que é practicamente imposible dominar completamente (aprender, reter, actualizar) para un só profesional.
Para un DevOps ou un Sysadmin ter a capacidade intelectual para resolver case calquera problema tecnolóxico que xurda implica un custo cognitivo moi alto, Que favorece que tendan a presentar certos graos de «Estrés laboral» (Burn Out) e, consecuentemente, sufran unha diminución da súa produtividade ou eficiencia laboral.
SysAdmin
Sysadmin inclúe as seguintes funcións e actividades:
- Implementar novo ou eliminar obsoleto
- Fai copias de seguridade
- Monitorizar o rendemento
- Xestionar os cambios de configuración
- Operar aplicacións e sistemas operativos
- Xestionar contas de usuario
- Supervisar a seguridade do ordenador
- Xestionar fallos e caídas
- Cumprir os requisitos do usuario
- Informar aos niveis responsables directos da organización
- Documenta as actividades informáticas do sistema e da plataforma
E ten que ter algún coñecemento de:
- Programación
- Bases de datos
- Seguridade informática
- Redes
- Sistemas operativos
DevOps
Os DevOps adoitan dominar unha ampla variedade de linguaxes de programación, ademais de posuír capacidades técnicas e habilidades de xestión. Un DevOps normalmente tamén é unha mestura de programador de software e Sysadmin cuxa función adoita verse como unha eliminación das barreiras entre ambos perfís. Polo tanto, espérase que un DevOps teña coñecemento tanto do software como do hardware (infraestrutura / plataforma) da organización onde traballan.
Polo tanto, DevOps normalmente é capaz de:
- Escribe código e realiza a función de programador.
- Xestionar servidores multiplataforma e realizar a función de SysAdmin.
- Xestionar redes e realizar a función de NetAdmin.
- Xestionar unha base de datos (BD) e realizar a función dun DBA.
Isto déixanos como conclusión que un bo DevOps:
É capaz de realizar as actividades e funcións mínimas de cada especialista de área nunha unidade de TI. O que non adoita ser o caso inverso, para SysAdmins e outros especialistas en TIComo SysAdmin, NetAdmin, DBA ou especialista en soporte técnico, xeralmente non adoita escribir de forma consistente e eficiente en idiomas de alto nivel ou comercialmente populares.
O que nos deixa que un DevOps adoita ter un coñecemento que lle permite substituír a todos os demais, sen ser o mesmo á inversa. E isto fai que os DevOps sexan máis apreciados no mercado laboral, é dicir, estean de moda e todas as pequenas ou medianas organizacións (principalmente) queren unha, provocando unha depreciación do resto das posicións tradicionais dentro dunha unidade de TI.
E que estas 2 posicións son de natureza diferente, aínda que comparten moitas tarefas comúns. Diferenzas como DevOps:
- Colaboran a un alto nivel coas organizacións e garanten a sinerxía en cada sección da empresa, mentres que SysAdmin está máis centrado en Xestionar (configurar, manter e actualizar servidores e sistemas informáticos).
- Adoitan traballar máis a miúdo en proxectos cun produto de punta a punta, mentres que SysAdmins adoitan estar máis limitados a un alcance máis pequeno e a responsabilidade (puntual) respecto dos mesmos proxectos / produtos.
- Normalmente poden facer todo o que fai un SysAdmin, pero un SysAdmin normalmente non pode facer todo o que fai un DevOps.
Conclusión
O obxectivo que persegue o termo "DevOps" como tendencia ou cultura organizativa é promover a cultura en equipo, baseada na colaboración e comunicación entre individuos das distintas áreas implicadas no desenvolvemento de sistemas de software. Polo tanto, o «DevOps» dunha organización favorece a integración entre os membros da área de desenvolvedores de software, os operadores de sistemas ou os administradores de sistemas e servidores, intentando facelo máis perfecto, transparente e amigable.
Aínda que algúns dentro das organizacións adoitan ver o efecto contrario, é dicir, ver como a cultura DevOps representa a destrución da maioría dos roles dentro das unidades de TI. Por exemplo, como os programadores adoitan ir DevOps e logo substituír a SysAdmin, NetAdmin, DBA, especialistas en asistencia, etc., incluídos os desenvolvedores de software que só escriben código.
Se tes máis preguntas sobre este tema, recoméndoche que lea o documento de traballo relacionado con el que se atopa neste ligazón.
6 comentarios, deixa os teus
Como sempre se di, o coñecemento non ten lugar. Especializarse e ser un "todo terreo" en certas áreas faise de gran valor para calquera profesional, pero isto non debería implicar a precariedade laboral, permitindo ao mercado aproveitalo para reducir o valor que dous grandes profesionais teñen ao prezo dun.
Por suposto, creo que iso ocorre moito nos países latinos onde queren que o SysAdmin sirva incluso café ... Todo o mundo fai o seu, aínda que se saiba facer mesmo café 🙂
Que bo post! Encántame a forma en que abordaches como cincocentos conceptos en algo tan compacto pero preciso. Un tema cun longo debate e infinidade de opinións, pero persoalmente estou moi de acordo, o que creo para non ser "bo en todo" é apostar no escenario DevOps que che guste sobre os demais e atacalo cunha especialidade.
Grazas polo texto.
Grazas polos teus comentarios positivos, estou moi contento de que a ti e a moitos outros lles gustou a publicación.
Excelente post. Idealmente, DevOps debería reflectir a cultura do traballo en equipo. Non hai dúbida de que DevOps debe ter un coñecemento profundo de todas as áreas implicadas no desenvolvemento de sistemas de software, pero tamén é evidente que a cantidade de traballo que implica esta tarefa require máis dunha persoa, cada unha delas cun posible coñecemento específico.
Por desgraza, creo que moitas empresas medianas e / ou pequenas priorizan erroneamente os problemas económicos, se teñen todo terreo, por que contratar a outra persoa?
Son un simple fan do desenvolvemento de sistemas, pero sei as dificultades de ter que xestionar algo tan sinxelo como crear e xestionar un sitio web para unha organización moi pequena que non ten cartos para contratar un equipo.
En resumo, quizais me equivoque, creo que vai cara a unha fusión das dúas funcións dependendo fundamentalmente da capacidade económica da organización para a que traballa e, segundo, da súa filosofía de traballo.
Este é o artigo sobre Sysadmin, para aqueles que queiran ampliar a súa lectura un pouco máis.