BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Como o New Relic Implementa DevOps

Como o New Relic Implementa DevOps

Favoritos

Um engenheiro de software líder do New Relic escreveu um resumo de como ferramentas e conceitos de DevOps vendo sendo implementados e praticados na equipe de engenharia da empresa. O autor explica sobre a evolução do papel de DevOps, utilizando o próprio New Relic para monitorar essas questões, e os benefícios visíveis que esta cultura traz para a organização.

Nic Benders, atual arquiteto chefe e vice-presidente de tecnologia do New Relic, criou o primeiro time de Engenharia de Confiabilidade (SRE) na empresa em 2012. Sem nenhum tipo de imposição, os próprios engenheiros optaram por adotar a filosofia DevOps após perceberem todos os os benefícios que esta abordagem trazia. Apesar da mudança ter vindo de baixo para cima, ainda existiam algumas barreiras a serem quebradas entre os times de desenvolvimento e operações. A adoção de ferramentas e processos foi outro obstáculo que precisou ser superado.

A criação de cargos associados à filosofia de DevOps foi um dos primeiros passos. Nos primeiros estágios, o time tentou utilizar o conceito de Forward SRE (FSRE), que era um papel de consultoria desempenhado por SREs. Os SREs foram designados para trabalhar em equipes de produtos diferentes, algumas vezes em mais de uma ao mesmo tempo, para assegurar que as coisas funcionassem de maneira bastante fluída entre as equipes. Com o passar do tempo, essa posição evoluiu para o papel de Engenheiro de Confiabilidade de Produto (PRE), onde o profissional era parte da equipe, ao contrário do papel anterior. Os PREs tornaram-se parte integrante da equipe, com comunicação direta ao invés de utilizarem sistemas de chamados. Nos últimos tempos, a equipe de engenharia tem feito parte de uma iniciativa maior chamada Projeto Upscale, que permite a qualquer engenheiro escolher a equipe na qual tenha vontade de trabalhar.

Duas tecnologias que ajudaram os times de DevOps do New Relic a desenvolver bem seus trabalhos foram Cassandra e Docker. Anteriormente, os dados eram armazenados em uma base MySQL que era administrada por um outro time. O Cassandra, por ser escrito em Java, pode ser explorado e depurado a fundo também por desenvolvedores que queiram analisar o seu código, assim como instalado e utilizado com muito mais facilidade. O Docker ajuda os desenvolvedores a utilizar um conjunto de comandos uniforme em diferentes stacks, uma vez que são todos os serviços são armazenados como Dockerfiles. O número de diferentes stacks começou a aumentar quando a aplicação foi redesenhada como uma arquitetura orientada a serviços. A utilização do Docker diminuiu as barreiras entre os times de desenvolvimento e operações, a partir do momento que eles passaram a trabalhar utilizando o mesmo conjunto de comandos no seu dia a dia.

Duas ferramentas internas que ajudaram na migração para o Docker foram Centurion e Shipright. Esta última permite que desenvolvedores que não tenham familiaridade com Docker criem Dockerfiles a partir de imagens de base e comandos de configuração, enquanto o Centurion facilita o processo de deploy de containers em conjuntos de máquinas com configurações específicas de ambiente. O Shipright também garante que o ambiente de implantação permaneça o mesmo em computadores de desenvolvimento, assim como em máquinas de produção, além de possuir o código aberto.

Algumas das ferramentas do New Relic são usadas pelos próprios DevOps do New Relic, como por exemplo o Insights, que é um dashboard parecido com o Hygieia para visualização de métricas e eventos de diferentes fontes entre os diversos times.

Dentre os benefícios que o New Relic teve com a adoção de uma abordagem DevOps, estão incluídas a remoção de gargalos quando havia dependências entre os times, a visibilidade do processo de entrega do software e uma cultura de documentação de tudo, como runbooks (compilação de procedimentos para operação) e descrição de incidentes.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT