Qual é a diferença entre o Sysadmin e o DevOps Engineer?


40

Ao se candidatar a um emprego, geralmente você pode encontrar dois tipos de trabalhos semelhantes: Sysadmin Engineer e DevOps Engineer .

Ambos lidam com a configuração do servidor e garantem a operação confiável dos sistemas de computador. Pode ser difícil dizer a diferença entre os dois. Quais são as principais diferenças entre eles?




Os termos SRE e sysadmin são diferentes.
Kenorb #

2
Sugiro que você inclua uma definição para sysadmin e permita respostas que possam comparar isso com a função do DevOps. Pessoalmente, acho que o DevOps nem sequer é um papel ... então, tenho alguma opinião sobre o assunto.
Evgeny

11
@ Evgeny Diga isso às agências de recrutamento.
kenorb

Respostas:


54

Principalmente o DevOps não é uma função (quando usado como tal, é mais uma palavra da moda do que uma função real).

O DevOps é aproximadamente um padrão de organização que visa quebrar o silo entre desenvolvedores e administradores de sistemas.
O principal objetivo é formar equipes com desenvolvedores e administradores de sistemas (juntamente com testadores geralmente) responsáveis ​​por um produto (aplicativo), desde sua definição, decisões de arquitetura até a manutenção em execução deste produto.
Cada membro da equipe fará parte da decisão sobre todo o ciclo de vida do produto, um desenvolvedor executará algumas tarefas sysadmin na produção e um sysadmin participará da fase de design do produto para evitar advertências da perspectiva da infraestrutura por exemplo.

No ideal, um administrador de sistema também faria parte da equipe de desenvolvimento do produto, no código do administrador de sistemas do mundo real mais sobre a configuração do produto e as soluções de monitoramento, mas ser capaz de expressar preocupações a outros membros da equipe para evitar muitos mal-entendidos. no processo de implantação.


9
Tanto isso ... O DevOps não é um papel. Você "administra" a administração do sistema de maneira diferente como "parte" de uma cultura do DevOps.
Ken Mugrage

2
Algumas organizações nas quais trabalhei (talvez mais por acaso do que por design) levaram isso ao extremo: não tínhamos administradores de sistema dedicados e todo o trabalho do administrador de sistemas foi realizado por desenvolvedores "regulares". (Neste organização particular muitos dos desenvolvedores foram administradores de sistemas experientes para que nunca nos sentimos qualquer necessidade de contratar alguém que se especializa em que.)
Curt J. Sampson

"O DevOps é mais ou menos um padrão de organização", o trecho mais esclarecedor que li até agora.
Webwoman

Pode ser que você possa esclarecer que DevOps! = NoOps
sgargel 31/07

20

Versão curta

DevOps: uma combinação de cultura organizacional, formas de trabalho Agile / Lean e automação de software que, quando aplicadas à Administração e Operações de Sistemas, permitem que essas funções operem com o mesmo nível de agilidade das equipes de desenvolvimento Agile ou Lean.

Versão longa

As idéias por trás do DevOps surgiram das comunidades Administração de Sistemas, Operações e Agile, especificamente Patrick Debois fez uma apresentação no Agile2008 intitulada 'Agile Infrastructure', onde destacou a disparidade entre a maneira como as três funções dentro de uma organização operam:

  1. Equipes de desenvolvimento ágil - equipes ágeis escrevendo código.
  2. Equipes de administração de sistemas - Construindo infraestrutura para executar o software.
  3. Equipes de Operações - Suporte a aplicativos e infraestrutura no Production / Live.

A proposta de Debois era unificar as três maneiras de trabalhar juntas, movendo especificamente as equipes de Administração de Sistemas e Operações de um Modelo em Cascata para um Modelo Ágil. Para esse fim, o Debois configurou o DevOpsDays 2009 em Ghent, na Bélgica, involuntariamente, cunhando a frase DevOps .

A idéia do DevOps ressoou com os autores da série de livros VisibleOps: Gene Kim, George Spafford e Kevin Behr; que escreveu o The Phoenix Project e o DevOps Handbook . Ambos os livros exploram como o Agile e o Lean podem impactar positivamente as equipes de Administração e Operações de Sistemas.


11
Excelente resumo! Melhor que eu já vi sobre a história por trás dessa filosofia e estilo de engenharia.
Jesse Adelman

9

Como engenheiro de DevOps , com experiência em Operações, você deixou de criar e implantar servidores e software manualmente para criar scripts de instalação de software em seus servidores com BASH, PowerShell, Python etc. Depois de um tempo, você perceberia como é um script interessante e começa a explorar maneiras mais sofisticadas de automatizar a implantação .

Eventualmente, você teria escolhido um Chef, Puppet, Ansible ou outra ferramenta de gerenciamento de configuração para ajudar a gerenciar o estado de sua frota de sistemas. À medida que suas habilidades com a automação da implantação de aplicativos e o gerenciamento do sistema amadureceram, juntamente com suas ferramentas, você mudou mais recentemente para o domínio ' Infraestrutura como código ' e o usou para não apenas automatizar a implantação de software, mas também a infraestrutura e os ambientes necessários para conduzir o software durante a mudança da empresa para a nuvem.

Agora você está cozinhando com gás. Com o tempo, você foi apresentado aos benefícios do uso de ferramentas centradas no desenvolvedor, como controle de origem, para gerenciar os módulos, receitas e modelos que compõem seu arsenal de ferramentas de implantação e gerenciamento.

Quando você entrou na equipe do DevOps , foi exposto ao ciclo de vida de desenvolvimento de software e ao conceito de integração contínua . Cara, esses desenvolvedores estavam lançando mudanças rapidamente e, para acompanhar, você se viu trabalhando mais de perto com os desenvolvedores! Você sentiu a urgência colocada na equipe de desenvolvimento de mudar as coisas o tempo todo, o que contraria o antigo paradigma operacional de " se não está quebrado, não conserte ". Chega de se gabar do tempo de atividade do sistema, você está na infraestrutura descartável .

Você notou que a mudança para o DevOps era mais do que trabalhar com os devs , ou usando novas ferramentas e técnicas , mas houve uma nítida cultural mudança na equipe, que permeou através da organização em geral. Você estava trabalhando como uma equipe unida, com responsabilidades compartilhadas , ferramentas e objetivos compartilhados .

Você pegou suas habilidades na implantação automatizada e as massageou no pipeline " CICD ", orquestrado por um " servidor de integração contínua ", como Jenkins , Bamboo ou Code Pipeline . Agora, quando os desenvolvedores lançam um novo código, seus scripts, ferramentas e modelos sustentam novos ambientes sob demanda, acionam estruturas de teste para fazer suas tarefas e derrubam os ambientes de pré-produção depois que as luzes verdes acendem no lançamento, aderindo ao idéias de " entrega contínua ".

À medida que o novo código percorre os estágios do CICD, você, os desenvolvedores e a empresa ganham confiança de que a atualização não será interrompida quando lançada na produção. Há algum caminho a percorrer antes que a equipe chegue à " implantação contínua ", você ainda precisa se concentrar nos pontos mais delicados da automação do recurso de implantação azul / verde , e a decisão é principalmente de negócios. Por enquanto, você está satisfeito com o fato de o número de chamadas às três da manhã ter diminuído e os setes-1 e set-2 diminuírem.

Mesmo que você receba um sev-1, não aguenta mais a noite toda com os gerentes respirando pelas suas costas - você pode facilmente liberar a versão anterior através do pipeline do CICD e colocar o sistema on-line novamente em pouco tempo. Os negócios notaram que a estabilidade dos sistemas de TI melhorou, apesar da velocidade das mudanças .

Você se maravilha com a maneira como gerencia os recursos necessários para impulsionar o software em seus negócios, especialmente quando pensa em como costumava ser e na quantidade de sangue que você deixou para trás nos trilhos no datacenter ...


6

Sysadmin vs. DevOps (visão pessoal)

Algumas empresas falam sobre Dev, Ops e Test. Se algo precisa ser testado, eles dizem: "O teste deve fazer isso". Se algo precisar ser desenvolvido, o Dev fará isso e se o software precisar ser implantado, o Ops fará isso.

Na minha opinião, e o que experimentei em várias empresas, é que isso resulta em uma mentalidade de "jogar fora do muro", que resulta em atrito entre pessoas e equipes. Pessoalmente, às vezes sinto que as pessoas trabalham individualmente e dizem que foi isso que fiz, não tenho nada a fazer em vez de trabalhar em equipe.

De acordo com mim, o DevOps significa que todos em uma equipe são responsáveis ​​e ocupados com desenvolvimento, testes e operações. Não há eu em uma equipe e não há departamentos separados. Todo mundo deveria liberar. Claro que existem especialidades, mas, na minha opinião, todos devem ser capazes de realizar pelo menos 25% de algum trabalho em todas as áreas. Por exemplo, se alguém era um desenvolvedor no passado, deveria ser possível alterar algum código de gerenciamento de configuração, por exemplo, chef e implantar software.

Referências

Sysadmin

De acordo com a Wikipedia :

Um administrador do sistema, ou sysadmin, é uma pessoa responsável pela manutenção, configuração e operação confiável dos sistemas de computador; especialmente computadores multiusuário, como servidores.

O administrador do sistema procura garantir que o tempo de atividade, desempenho, recursos e segurança dos computadores que ele gerencia atendam às necessidades dos usuários, sem exceder o orçamento.

Para atender a essas necessidades, um administrador de sistema pode adquirir, instalar ou atualizar componentes e software de computador; fornecer automação de rotina; manter políticas de segurança; solucionar problemas; treinar ou supervisionar funcionários; ou oferecer suporte técnico para projetos.

DevOps

De acordo com a Wikipedia :

O DevOps (um composto recortado de "desenvolvimento" e "operações") é um processo de desenvolvimento e entrega de software que enfatiza a comunicação e a colaboração entre profissionais de gerenciamento de produtos, desenvolvimento de software e operações. Ele suporta isso automatizando e monitorando o processo de integração de software, teste, implantação e alterações na infraestrutura, estabelecendo uma cultura e um ambiente em que a construção, o teste e a liberação de software podem ocorrer de forma rápida, frequente e mais confiável.

DevOps

insira a descrição da imagem aqui

DevOps Toolchain

insira a descrição da imagem aqui


11
Apenas um pequeno comentário: IMHO, desde que a equipe como um todo tenha uma boa cobertura sobre cada aspecto das áreas de desenvolvimento / operação / teste e tenha boas comunicações, não é absolutamente necessário que cada indivíduo da equipe também cubra cada uma dessas áreas. Claro, é bom que isso aconteça, mas exigir isso pode ficar desnecessariamente caro em alguns casos.
Dan Cornilescu

2

Um administrador de sistema é responsável por manter e configurar servidores e sua responsabilidade é garantir ao usuário o desempenho, o tempo de atividade e a segurança que ele está procurando. Definir o papel de um engenheiro de DevOps é um pouco mais difícil, pois não existe uma carreira formal e o próprio DevOps pode ter várias formas.

Um engenheiro de DevOps pode ser, por exemplo, um desenvolvedor interessado em operações de rede e implantação ou um administrador de sistemas apaixonado por codificação e script. A transição do administrador do sistema para o engenheiro do DevOps não é muito difícil; na verdade, este artigo faz um ótimo trabalho ao descrever o processo.

Muitas pessoas até argumentam que essa transição do administrador do sistema para o engenheiro do DevOps é essencial, pois a posição de administrador do sistema se tornará obsoleta no futuro. Embora existam muitos servidores legados que precisam de manutenção e os administradores de sistemas possuam muito "conhecimento tribal", a posição do administrador de sistemas se tornará mais escassa no futuro.


-1

Haverá servidores que você não ouvir executando nos data centers. Tudo vai ser software. Armazenamento, rede, sistemas, segurança, data centers; SDN, firewalls, NFV, armazenamento, servidores, etc. Administradores de sistemas sem experiência em desenvolvimento de software, experiência em SDLC (eu nem quero dizer scripts de Perl, Powershell, etc) provavelmente desaparecerão. Os ambientes distribuídos, escalonáveis ​​e virtualizados, que são principalmente nuvem, crescem horizontalmente não verticalmente.


Ouso dizer que os administradores de sistemas crescem na vertical, os DevOps (ou OpsDev) crescem na horizontal. Você pode ver o mesmo padrão em que os microsserviços evoluíram a partir de monólitos. Prefiro escolher o engenheiro do DevOps da equipe de software e não da equipe de operações / sistema.

Porque a equipe de operações / sistema apenas executa o que a equipe de software cria.

  • Os administradores de sistemas não constroem / compilam o kernel Linux / FreeBSD / windows etc., assim como os engenheiros de software constroem / compilam aplicativos.
  • Os administradores de sistemas não passam pelo ciclo de vida de desenvolvimento de software (SDLC).
  • Os administradores de sistemas não fazem parte do pipeline de produção (processo de CI / CD).
  • O Sysadmin começa a funcionar após o término do IC / Entrega / Implantação Contínua.

    E se você interromper e atribuir Deployment / Delivery, pode ser um pipeline quebrado,
    a equipe de software é a equipe de sistema / operações de criadores e os principais corredores / cuidadores.

Parece que não há servidor / sistema para administrar, não há necessidade de administrador de sistemas.

A computação sem servidor é um modelo de execução de computação em nuvem no qual o provedor de nuvem atua como servidor, gerenciando dinamicamente a alocação de recursos da máquina. O preço é baseado na quantidade real de recursos consumidos por um aplicativo, em vez de unidades de pré-compra de capacidade de computação sem servidor

Alguém da equipe de software já sabe como construir, manter até como codificar (SRE vs DevOps / OpsDev).


Gostaria de saber por que é chamado DevOps, mas não OpsDev? está relacionado à direção entre os dois?

* No meio do nada, eu não comecei a escrever sobre armazenamento definido por software, isso é uma reação a um comentário agora excluído sobre ele *

Sobre armazenamento definido por software

  • SDS (armazenamento definido por software) é um termo de marketing para software de armazenamento de dados de computador para provisionamento e gerenciamento com base em políticas de armazenamento de dados, independentemente do hardware subjacente. Armazenamento definido por software

  • A EMC anunciou seu primeiro produto de código aberto: Project CoprHD. O CoprHD é um controlador de automação e gerenciamento de armazenamento definido por software e a recente decisão da EMC de abrir o código está no cerne de nossa estratégia de agregar maior valor às empresas globais à medida que entramos em uma área de crescimento e mudanças extremas. Como líder mundial em gerenciamento de armazenamento e informações, cabe à EMC liderar o caminho no armazenamento definido por software (SDS) .

  • CoprHD é um controlador de armazenamento definido por software de código aberto e uma plataforma de API. Permite o gerenciamento baseado em políticas e a automação na nuvem de recursos de armazenamento para os fornecedores de armazenamento de blocos, objetos e arquivos CoprHD


11
Não adicione nomes de chamada na sua resposta, mantenha-a alinhada com a pergunta, mais uma vez, recomendo que você leia Como responder para obter orientação.
Tensibai 6/11/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.