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 :)
Respostas:
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 .
fonte
Estamos trabalhando nisso na National Instruments. Você pode ler mais sobre o que estamos fazendo em http://dev2ops.org/blog/2010/4/27/qa-ernest-mueller-on-bringing-agile-to-operations.html
A mistura de ferramentas mencionadas aqui pelo cagenut está basicamente indo na direção em que estamos nos movendo aqui.
fonte
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.
fonte
introduce them one at a time to solve problems.
+1Embora 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.
fonte