Sysadmin e devops ágeis - Como realizar? [fechadas]

18

Atualmente, a administração de sistemas ágil e os devops são alguns dos tópicos mais populares sobre administração e operações de sistemas. Ambos os conceitos estão focados principalmente em preencher a lacuna entre operações / administradores de sistemas e os projetos (desenvolvedores, negócios, etc.). Mesmo que você nunca tenha ouvido falar do conceito de devops, tenho certeza de que esse tópico também é sua preocupação.

Então, quais ferramentas e técnicas você usa para realizar devops em suas empresas? Estou particularmente interessado em tópicos como gerenciamento de mudanças, integração e automação contínuas, mas não apenas nesses tópicos. Por favor, compartilhe seus pensamentos. Estou ansioso para ler suas respostas / opiniões :)

Marco Ramos
fonte
Parte do problema com "ponte" de desenvolvimento e operações (administração do sistema) é a principal prioridade diferente. A prioridade nº 1 do administrador do sistema é manter as coisas funcionando, apesar de uma variedade de tarefas repetitivas comuns. A prioridade nº 1 do desenvolvimento é criar novas funcionalidades. Essas tarefas podem se sobrepor bastante, mas haverá momentos em que elas estão em disputa. É nesses momentos de discórdia que seu DevOp terá que optar por ser um Operador ou Desenvolvedor. Certas configurações podem tolerar o lapso, mas a maioria não desfrutará das reprocussões financeiras.
Chris S
2
Além disso, ouvi recentemente alguém discutindo administradores que também sabem como programar. As habilidades não determinam prioridades ou responsabilidades primárias. Os administradores modernos devem ser preguiçosos; para esse fim, devem ser eficientes em tudo o que fazem. Criar scripts, criar utilitários de manutenção e entender o código é simplesmente uma habilidade básica definida agora. As SAs que não investem nessas habilidades estão se tornando relegadas a modelos de negócios pequenos e letárgicos (por exemplo, manufatura), onde essa ineficiência é tolerada. A base de conhecimento em mudança não garante a cooptação de terminologia odiosa.
Chris S

Respostas:

30
  • svn / git - controle de revisão, obviamente.

  • trac / redmine / jira - emissão de bilhetes.

  • sapateiro - para provisionamento básico de servidores do sistema operacional. O sapateiro é um produto focado na família redhat, mas tenho certeza de que há algo semelhante para o debian / ubuntu. Da mesma forma, a maioria das empresas do "painel de controle em nuvem", como o RightScale, fornecerá isso para você. A palavra de ordem aqui é "JEOS" ou "apenas sistema operacional suficiente". Minha rota é usar a linha "% packages --nobase" nos meus kickstarts e depois construir minha pilha específica via ...

  • fantoche / chef - para gerenciamento de configuração e aplicação de consistência. Existem outras opções aqui também, é mais importante que você use uma do que qual. Um truque que achei particularmente importante é armazenar as configurações no mesmo sistema de controle de versão usado pelos desenvolvedores. Isso ajuda a reunir o fluxo de trabalho das duas equipes e torná-lo visível um para o outro.

  • func (ou capistrano ou cluster-ssh) - para executar o script de implantação no cluster. O truque aqui é torná-lo algo que os desenvolvedores seniores possam executar para promover novas coisas e promover as correções inevitáveis.
    Esse é realmente o núcleo dos devops, permitindo que os desenvolvedores quebrem e consertem o ambiente. Muitos administradores de sistemas estão com muita fome de poder para deixar isso acontecer, ou o gerenciamento deles ainda trabalha com a noção equivocada de que os administradores de sistemas devem policiar os desenvolvedores (como se pudéssemos ler metade do que eles estão fazendo).

  • cactos / gânglios / collectd / munin - os gráficos são muuuuuuuito importantes. É o valor comercial das métricas com o valor humano dos visuais simples. Correlacionar o registro de data e hora do envio de código com o registro de data e hora das alterações nos gráficos é imensamente valioso para solucionar problemas de regressão de desempenho e ver fatos reais sobre decisões de desempenho. Há um ponto-chave aqui, no qual os gráficos precisam ser fáceis de ver e usar pelos desenvolvedores e seu gerenciamento precisa esperar deles.

  • nagios / zabbix / smokeping / etc - monitoramento do material do servidor e das métricas de desempenho do tipo "página base". Novamente, os gráficos são fundamentais. Estes são mais para o lado ops da equipe.

  • gomez / keynote / browsermob - monitoramento externo do desempenho total do navegador, levando em consideração serviços de terceiros, CDNs e problemas de tempo de renderização. Estes são mais para o lado dev da equipe.

Isso é uma mistura de ferramentas e técnicas, foco nas técnicas. Especificamente, a mudança de mentalidade do lado "sysadmin" dos devops de "admin" para "operações". É sobre habilitar os desenvolvedores. Permitindo que eles façam coisas, consertando coisas, permitindo que eles vejam fatos / métricas / gráficos reais sobre o que fizeram. Por outro lado, os desenvolvedores precisam adotar o fato de terem sido ativados e, na verdade, fazer o trabalho de observar tendências de desempenho, depurar problemas e pensar não apenas nos recursos, mas como implementá-los e como eles afetarão a saúde de todo o sistema / ambiente .

cagenut
fonte
2
+1 "núcleo de devops, capacitando os desenvolvedores a quebrar e consertar o ambiente"
Ryan Gibbons
O que está diretamente relacionado ao fornecimento de serviços confiáveis ​​e por que os devops às vezes podem ser desenvolvedores executando operações sem entender. A habilidade está em encontrar o equilíbrio certo entre permitindo o desenvolvimento livre e ringfencing mudança para esconder pausas do usuário por trás de preparo, redundância, etc.
JamesRyan
2

A melhor abordagem é entender o ambiente em que você trabalha. Comece conversando com os desenvolvedores e gerentes. Tente colocá-los a bordo e retire idéias deles. Muito provavelmente eles terão uma boa idéia de como as coisas são executadas e se suas idéias para a introdução de devops causarão problemas.

A partir daí, comece a examinar os aplicativos e apresente-os um de cada vez para resolver problemas.

Matt Delves
fonte
introduce them one at a time to solve problems.+1
Banjer 06/06/12
0

Embora as ferramentas e técnicas sejam importantes, o caminho crítico está na colaboração em toda a organização. Atualmente, as operações de TI são operações de negócios. O Etsy mostra alterações na receita em seus painéis, visíveis para todos.

Henk Langeveld
fonte