Вы находитесь на странице: 1из 6

https://becode.com.

br/o-que-e-devops/

O que é DevOps? Processo, origem e problemática!


Um cargo? Um setor? Uma cultura? Entenda o o que é DevOps e saiba porque a prática conquistou o
universo da TI, empresas e profissionais!

Nesse meio de programação e tecnologia, tem se falado muito sobre DevOps. Você certamente já ouviu a
expressão em algum lugar por aí. Mas, afinal, o que ela significa? Tem a ver com programação? Como se
aprende?

Pois então, é exatamente esse o objetivo deste texto. Fazer um overview sobre o que envolve DevOps, porque
suas práticas são úteis e como você pode se preparar por meio de cursos e leituras. Continue lendo. Tenho
certeza que você não irá se arrepender!

Desmitificando DevOps

Em um primeiro momento, em função das suas iniciais, o termo nos remete a desenvolvimento,
desenvolvedor, certo? Afinal, Dev é a abreviatura para Developer. Porém, DevOps vai bem mais longe. Há
também o envolvimento de outros elementos e atividades comuns na área de TI. Talvez a dificuldade de
compreensão exista por faltar uma tradução exata do termo, já que é uma prática, de certa forma, recente
do mercado. Principalmente, no mercado brasileiro.

Enfim, nosso objetivo aqui é desvendar esse mistério! Por isso, vou te explicar o que entendo do assunto,
tanto academicamente, quanto profissionalmente falando.

Mas então… O que significa DevOps?


DevOps é um conjunto de boas práticas que envolvem o desenvolvimento de soluções com aspectos
operacionais e de infraestrutura. Resumidamente, é uma forma de pensar no desenvolvimento de um
software, levando em conta toda a infraestrutura na qual o código estará alocado e as práticas que deverão
ser utilizadas para manter a qualidade do produto com uma entrega rápida e eficaz. Por isso, a sigla:

 Dev = Desenvolvimento
 Ops = Operations (Infraestrutura e Sistemas)

Dentro de programação existem inúmeras metodologias que buscam a padronização do processo de


codificação, para assim, facilitar o trabalho em equipes. Dessa forma, permitindo que times possam trabalhar
em cima do mesmo código sem muitos problemas. Um dos exemplos é o Scrum, que define prazos e etapas
(chamadas de sprints) para o desenvolvimento de um software.

Da mesma forma, a cultura DevOps preza pela utilização de uma série de mecanismos que auxiliem o
processo de desenvolvimento de software. Para que assim, o desenvolvimento ocorra com o mínimo de
interrupções ou problemas possíveis. Ao invés de atentar-se apenas à forma como o código é feito, as práticas
de DevOps também buscam garantir a qualidade das entregas, o cumprimento de prazos, minimizar os riscos
e possíveis falhas no deploy das aplicações em ambientes de produção.

Qual problema resolve?

Já falamos sobre isso aqui mesmo, no blog da Becode. No post sobre os conhecimentos essenciais que todo
programador precisa ter, quando falamos sobre Infraestrutura e sistemas. Portanto, vou puxar o trecho do
próprio artigo que, na minha opinião, explica de uma forma muito didática o porquê do DevOps existir e,
principalmente, mostra claramente qual é o problema que o DevOps resolve!

Veja abaixo:

“Historicamente, a área de infraestrutura de TI e a área de desenvolvimento de software nunca se deram


muito bem. Grosseiramente falando, o problema consistia no seguinte:

A área de desenvolvimento se preocupava apenas com o desenvolvimento da aplicação. Contudo, no


momento que esta aplicação era entregue para a equipe responsável por colocar o software em produção, o
software apresentava crashs e bugs ao reproduzir a aplicação no ambiente de produção. Em outras palavras,
durante o desenvolvimento, a aplicação funcionava (Dev); no ambiente de produção (Ops), não. Isto ocorre
quando a área de desenvolvimento não cria a aplicação de acordo com a infraestrutura estabelecida naquela
determinada organização. Em outras palavras, nesse caso, a área de infra e a área de desenvolvimento não
são compatíveis e isso é um problema gigantesco!

A partir desse problema comum nas organizações, em 2009, surgiu o DevOps. Um profissional, uma equipe
ou até uma nova cultura na empresa responsável por realizar a ligação entre a área de desenvolvimento (DEV)
com a área de infraestrutura (OPS). Evitando, ou minimizando, os problemas citados acima.”

Acho que agora, contextualizando a situação talvez tenha ficado um pouco mais claro, certo?
Yes, DevOps is a Big Deal!

Lendo o tópico anterior, de forma isolada e sem a devida reflexão, pode até parecer que DevOps é a solução
para um problema pequeno.

Contudo, antes de tirarmos conclusões precipitadas, pense comigo: o que é um bug para uma multinacional,
um banco ou qualquer aplicação usada em larga escala, seja por pequenas, médias ou grandes empresas?
Basicamente, o bug, um crash ou qualquer falha pode representar milhões de “dinheiros” indo ralo a abaixo.

Você sabe quanto o Facebook perde quando o seu sistema fica fora do ar por 5 minutos? Bem, obviamente
não, nem eu! Eu não tenho os valores exatos, mas pense comigo: o Facebook é, junto com o Google, a maior
plataforma para empresas anunciarem seus produtos na web. A cada minuto, milhões de anúncios são
veiculados no mundo todo. As empresas pagam o Facebook para realizar esses anúncios.

Portanto, se a plataforma está fora do ar, o Facebook não veicula anúncios e, por consequência, fica sem
$$$. Esse foi o exemplo do Facebook, mas é aplicável a qualquer sistema. Claro, os motivos e preocupações
mudam, bem como, as proporções.

Resumo da história

As empresas, para se manter relevantes no cenário econômico, precisam estar em constante evolução e
Desenvolvimento (DEV). Mas, ao mesmo tempo, precisam se certificar que a infraestrutura e os sistemas
(OPS) estão devidamente preparados para receber as novidades da equipe de desenvolvimento. As áreas
precisam ser compatíveis. Caso contrário, todo o investimento em desenvolvimento pode acabar sendo um
tiro no pé.

DevOps é um cargo?

Bom, já sabemos que DevOps é uma cultura. Na sua essência, não surgiu como um cargo. Mas também
sabemos que por ser recente, ainda está ganhando espaço no mercado e modelando seus formatos. É uma
prática que especifica algumas diretrizes que precisam ser seguidas para se alcançar o sucesso esperado.

Mas já é possível encontrar no mercado de trabalho vagas para ‘Consultor DevOps’, por exemplo. Ou seja,
pode não ser ainda – oficialmente – um cargo, mas está no caminho.

Como fazer parte disso?


Pelo menos na maioria dos casos, empresas que utilizam DevOps acabam por integrar o máximo possível
seus times de desenvolvimento e operações. Ao invés de ter um time que especifica o software e outro que
programa, esses times são unificados, visando a criação de um ciclo ideal de projetos.

Esse ciclo permite uma entrega rápida, mesmo nas alterações, automatizando processos e melhorando a
colaboração entre equipes. Além de prover maior segurança e estabilidade. Já que os times de testes e
qualidade também podem (e devem) ser integrados nessa forma de trabalhar.

Uma prática comum a empresas que utilizam DevOps é fazer entregas de atualizações constantes e pequenas.
O aplicativo Todoist é um exemplo disso. Com inúmeros upgrades semanalmente, a ideia é entregar inovação
e valor mais rápido e constantemente aos seus clientes.

Com isso, o risco de problemas nas implementações diminui, porque fica fácil perceber quando houve um
erro, já que pouca coisa muda entre uma atualização e outra. Não existe um tempo padrão para lançar
atualizações, mas é consenso que empresas com pensamento DevOps tem um processo de atualização muito
mais rápido do que empresas de desenvolvimento tradicionais.

O processo DevOps

Bom, para entender bem toda essa questão que envolve a cultura de DevOps, nada melhor que visualizar o
processo como um todo, certo?

É muito comum encontrarmos o símbolo do infinito sendo utilizado para representar o processo DevOps,
pois, como falamos antes, as etapas são interligadas e as entregas são contínuas, a fim de garantir
estabilidade. Então vamos a ele!
Assim, é possível vermos a convergência entre as partes e entender melhor como elas se encaixam. Toda
codificação, testes e lançamento de builds fazem parte do campo de Desenvolvimento. Já o deploy,
operação e monitoramento são itens de operações.

O que une tudo são os releases e o planejamento. Nessas fases, a integração das ferramentas citadas e dos
processos gerenciais acontece. A cada release é necessário realizar o deploy e os passos adicionais e, após ser
definido o monitoramento do que foi implementado, retorna-se ao planejamento em conjunto com os
desenvolvedores.

Dessa forma, o projeto tende a estar sempre em movimento, sendo planejado, codificado, testado, lançado,
implementado e monitorado. Então, baseado nos dados coletados, planeja-se novamente o que deve ser feito
e o processo continua.

Boas práticas, ferramentas e players

Existem alguns itens básicos para a aplicação efetiva desse conceito, entre eles, podemos citar:

 Microsserviços
 Integração Contínua
 Infraestrutura em Cloud
 Logs
 Automação

Todos os itens citados acima são considerados boas práticas da cultura DevOps. Além disso, a área também
conta com diversas ferramentas auxiliares e grandes players da área, como o sistema Linux. Aliás, se você
gostou do artigo até agora e quer fazer parte disso, o meu primeiro conselho para você é: aprenda Linux!
Sendo assim, não deixe de conferir o nosso curso para iniciantes em sistemas Linux!

Além do Linux, também podemos citar diversas ferramentas usadas para automação e, claro, o uso de
soluções Cloud Computing. Tecnologia extremamente essencial e usada para práticas DevOps.

Se esse último tópico pareceu confuso, não se desespere! Em breve, iremos criar um post específico sobre
esse assunto. Nesse artigo, pretendemos detalhar e trazer mais informações sobre cada uma dessas
tecnologias, técnicas, práticas e ferramentas citadas acima. Então, não se preocupe.

Pronto para aderir ao movimento DevOps?

Você deve ter notado que é bem difícil esgotar esse assunto, ele é bem extenso e rende horas e mais horas de
estudos, discussões, descobertas e o que mais você quiser. O mais importante é se dedicar e aprender cada
vez mais sobre o assunto!

Evidentemente, é um assunto destinado para o público mais experiente na área de desenvolvimento e


infraestrutura de TI. Então, se você é novo na área e está dando os seus primeiros passos, recomendamos que
você comece por conteúdos, digamos, mais “light”. Procure primeiro aprender e ganhar experiência. Se você
tiver interesse, dê uma olhada em nossos cursos voltados para iniciantes na TI.

Caso você já seja um profissional experiente no mercado e quer começar a desbravar esse movimento, a
nossa recomendação é:

 Estude bastante sobre Linux, Cloud Computing e Desenvolvimento. Sempre tentando conectar as
peças do quebra-cabeça e entendo como essas áreas interagem entre si no mundo DevOps.
 Após isso, procure também compreender e estudar sobre agile, microsserviços, integração contínua e
os processos de automação da área. Inclusive, teremos um artigo exclusivo sobre isso.
No mais, queremos saber o que você achou do artigo! Poste nos comentários abaixo quais são as suas
curiosidades e dúvidas sobre esse assunto. Podemos descobrir mais coisas juntos!

Mesmo para quem já está na TI há mais tempo, tem sempre algo novo para se aprender. Hoje foi um pouco
de DevOps! Se você já tem experiências nessa área, compartilhe com a gente nos comentários, vai ser muito
interessante termos outros relatos sobre o dia-a-dia de um profissional inserido nessa cultura.

Enfim, esperamos que esse post tenha ajudado a esclarecer o misterioso termo DevOps! Abraços e até a
próxima!

 Back-end vs Front-end vs Full-Stack: qual é a melhor escolha?

 (Plano de Estudos) O Guia do Programador Iniciante!

Leonello de Leone

Estudante de Ciência da Computação pela UFRGS. Iniciou como estagiário da área de Suporte e hoje atua
como Desenvolvedor Web na TargetTrust e Becode. Possui conhecimentos em Angular 4+, Node.js, jQuery,
PHP, JavaScript e por aí vai. Entusiasta das áreas de Machine Learning, Inteligência Artificial e
Desenvolvimento de Jogos. Ranzinza nas horas vagas

Вам также может понравиться