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?
terminology
kenorb
fonte
fonte
Respostas:
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.
fonte
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:
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.
fonte
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 ...
fonte
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 :
DevOps
De acordo com a Wikipedia :
DevOps
DevOps Toolchain
fonte
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.
fonte
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.
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
fonte