DevOps: o que é, quais as responsabilidades, ferramentas e muito mais!

Fotografia de Marina Pinho
Escrito por

Marina Pinho

Communication Manager

Não é segredo que a área de DevOps é das mais valorizadas dentro das Tecnologias da Informação. É uma cultura que une por um lado a vertente do desenvolvimento - isto é, aqueles que são responsáveis pela criação das aplicações - e por outro, a das operações - os que se certificam que as  aplicações estão efetivamente a trabalhar como é suposto. O principal objetivo passa pela automação de processos entre equipas de desenvolvimento e os departamentos operacionais, facilitando e acelerando, assim, o desenvolvimento, o teste e a entrega de novas soluções. Mas, quais são os conhecimentos e ferramentas mais importantes na vida de um DevOps? O que o torna diferenciador? 

Para nos ajudar a perceber melhor o que é um DevOps, quais as suas responsabilidades, tarefas e desafios, estivemos à conversa com a nossa consultora Cláudia Tavares que nos deu a conhecer um pouco mais do meu mundo.  

Como é que vieste parar ao mundo da informática?

Eu acho que foi algo muito natural. No meu 10º ano eu fui para Ciências e sabia claramente que não ia para nada ligado à medicina, mas não sabia para o que queria ir exatamente. Nessa altura, o meu pai decidiu inscrever-me num estágio de um mês na fábrica onde ele trabalhava, na parte de informática. Apesar de ter sido só um mês, eu gostei bastante da experiência e comecei-me a interessar pela área e a partir daí ficou decidido. Eu acho que ele [o meu pai] sabia que era uma área que tinha saída, aparentemente bem paga e de alguma forma achou que eu me encaixava lá.

Como surgiu o gosto pela vertente da segurança?

Fiz a licenciatura num politécnico. Julgo que os politécnicos acabam por nos preparar melhor em termos práticos, portanto senti-me muito preparada na licenciatura. Aqui escolhi o ramo de redes, ou seja, não escolhi a parte de web para a qual toda a gente tipicamente vai. Para mim não fazia sentido, porque honestamente, sendo rapariga, pode parecer contraditório, mas eu não gosto muito de estar a ajeitar o website e a pôr as coisas bonitinhas, para mim é um pouco stressante. Gosto das tarefas de backend, portanto fui para a área de redes e lá nós tínhamos uma cadeira de segurança que acho que foi dada de uma forma muito abrangente e suscitou-me muitas curiosidades que me levaram depois a querer seguir para um mestrado de segurança. 

Já trabalhas como DevOps há cerca de 3 anos. Quais são as responsabilidades de um DevOps e qual a sua importância no ciclo de desenvolvimento de software?

Em termos de responsabilidades, temos bastantes. Basicamente o DevOps é aquele que faz a ligação entre a equipa de desenvolvimento e a equipa de operações. Portanto, o desenvolvimento acaba por tratar de desenvolver a aplicação que depois é necessária para as operações. Nós DevOps somos os responsáveis por tornar tudo automatizado, tornar o processo mais seguro e direto para que tudo flua de uma forma mais natural.

Nós pegamos naquilo que o desenvolvimento vai fazendo e automatizamos de alguma forma. Quase que estamos por cima de tudo aquilo que o desenvolvimento faz, por isso precisamos de ter conhecimento sobre tudo o que fazem, pois temos de automatizar e tornar o processo mais eficaz e mais seguro.

Às vezes gera um pouco de atritos porque nós somos vistos como uma equipa à parte e existe falta de comunicação. O desenvolvimento ou as operações não percebem o quanto é importante nós sabermos o que eles estão a fazer. Às vezes dizem-nos algo muito abrangente, mas isso não nos chega. Nós precisamos de perceber coisas específicas sobre o serviço para conseguirmos implementar e automatizar o processo. 

Que tipo de ferramentas é comum um DevOps utilizar? 

Nós em termos de monitorização usamos muito o Prometheus e o Grafana. Acho que são ferramentas muito conhecidas e acho que são importantes. O Prometheus ajuda a que tenhamos as métricas para os serviços e o Grafana permite a visualização das métricas de forma mais eficaz para a equipa de operações conseguir perceber o que está a acontecer do lado dos clientes. 

Há também a parte do Elasticsearch, Kibana e Logstash. Eles funcionam os três como um só, conhecidos como o ELK e permitem recolher (Logstash), armazenar (Elasticsearch) e visualizar as métricas (Kibana). 

A parte da cloud também é bastante importante. Aqui temos várias clouds, mas devemos ter pelo menos um conhecimento abrangente do que é que podemos fazer em cada uma. No meu caso, por exemplo, tenho mais conhecimentos em AWS e deve ser também das mais utilizadas, por isso é uma boa ferramenta para começar. 

Por fim, em termos de containers é muito importante ter conhecimentos sobre Docker e Kubernetes. Este último funciona por cima do Docker, por isso conhecendo o Docker é muito fácil perceber o que é que o Kubernetes faz e como é que podemos trabalhar com ele. 

claudia tavares devops dellent

Se tivesses de recrutar um DevOps para a tua equipa, qual seria o fator diferenciador que procurarias num profissional? 

Não é uma pergunta fácil, mas diria que a autonomia é sempre importante em qualquer área. Em DevOps como é uma área tão abrangente, é preciso termos autonomia para procurar e daí termos de ter gosto pela área. 

A parte da comunicação também é relevante, ou seja, não podemos ficar à espera que as coisas nos cheguem, temos de nos chegar à frente e falar com as equipas. Temos de comunicar muito. Por isso, diria que ter autonomia, gosto pelo que fazemos e ter à vontade e abertura para comunicar é importante. 

Em termos de hard skills, diria que ter conhecimentos de segurança é sempre importante. Acho que é um “plus” bastante relevante. Claro que podemos ser DevOps sem ter conhecimentos de segurança, mas acho que é algo que faz a diferença. Traz um fator diferenciador. Para além disso, acho que ter conhecimentos sobre redes é importante porque também trabalhamos muito com essa parte. 

Por fim, acho que iria também procurar por alguém com conhecimentos nas ferramentas que os DevOps usam como containers, clouds e monitorização de serviços. 

Como é o teu dia a dia no projeto em que te encontras atualmente?

O meu dia a dia nunca é o mesmo. Eu tenho tarefas do dia, mas acontece muitas vezes surgirem chamadas de última hora com pedido que é preciso resolver para a equipa de Devs e de Operações que vou gerindo consoante as prioridades. Além disso, temos ainda as revisões de código. Costumo logo começar o dia com o código que tenho para rever e deixar isso limpinho para não ter de me preocupar novamente. 

Depois, começo as minhas tarefas e vejo o que vai surgindo ao longo do dia. Normalmente estão relacionadas com processos de automatização. Por exemplo, quando surge algum serviço novo, a equipa de DevOps precisa de preparar um playbook que automatiza a instalação desse serviço. Quando é preciso uma métrica nova para determinados serviços, temos de preparar a monitorização para essa métrica também. Estamos ainda encarregues de fazer a análise das máquinas que a equipa de Devs e de Testes utilizam. 

Quais são as ferramentas e tecnologias que utilizas diariamente no teu trabalho? 

Utilizo o Jira e o Fisheye. O primeiro permite a criação e gestão de “issues” que nos são atribuídos ou que temos de criar para a equipa de Devs desenvolver. O Fisheye permite fazer a análise da revisão do código que foi feita na análise desses issues. Usamos também o GitHub que é uma plataforma onde temos o nosso código armazenado. Em termos de monitorização temos sempre o Prometheus e o Grafana onde fazemos bastante a análise das métricas para perceber se as máquinas estão num ambiente estável e se está tudo ok. Usamos ainda o Mobaxterm para conseguirmos fazer o SSH para as máquinas e validar se está tudo ok. Em termos de Cloud utilizamos o AWS para fazermos testes de instalação do nosso produto na Cloud. 

Como achas que a área de DevOps vai evoluir nos próximos tempos?

Acho que a área de DevOps está sempre em constante evolução. Há uns anos não tínhamos esta parte de containers e microserviços e nesta altura já é mais usual. Portanto eu acho que isso vai continuar a ser mais comum. Eu diria que a parte de DevOps vai acabar por ser interligar ainda mais com a área de DevSecOps, porque acho que estamos cada vez mais a par do que vai acontecendo e a segurança é cada vez mais uma prioridade. Desta forma, acredito que a parte de DevOps e DevSecOps se vai acabar por tornar numa só área.

Qual é a parte mais desafiante de ser DevOps?

Eu diria que, pelo menos para mim, que sou uma pessoa que gosta de saber o que vai acontecer no meu dia e ser organizada, a parte mais desafiante é a imprevisibilidade. Ou seja, é estar sempre à espera de tudo, podem-me ligar a perguntar alguma coisa simples ou então pode ser alguma coisa que afinal vai demorar imenso tempo a ser executado e que não era uma pergunta assim tão simples. 

Se pudesses ter um super poder no teu dia a dia profissional, qual escolherias e porquê?

Ser multifacetada assim ao nível máximo, porque surgem sempre imensas coisas. Sinto que tenho sempre um dia muito mexido. Há sempre alguém que liga e ao mesmo tempo tenho as minhas tarefas, portanto acho que gostava que fosse possível conseguir estar a fazer as duas tarefas em simultâneo de forma eficaz. 

Como te manténs atualizada com as mudanças no setor?

Costumo fazer alguns cursos na Udemy, acho que é uma forma boa para estarmos a par de algumas ferramentas. 

Na área de DevOps é bastante importante estarmos atualizados em termos de notícias que vão saíndo relativamente à segurança, alguns podcast que possam tratar desta área, etc. Acho que há muito conteúdo que aborda esta área. Eu vou vendo mesmo pela internet o que é mais recente e não tenho um canal que siga religiosamente. Por exemplo, se alguma ferramenta me suscitar interesse vou procurar diretamente informação sobre a mesma. 

O que mudarias no teu percurso até agora se pudesses?

Não mudava nada. Acho que fiz o percurso certo. É o que me levou onde estou e estou muito satisfeita com todo o meu percurso e com aquilo que alcancei. Portanto não mudava rigorosamente nada. 

Qual foi o melhor conselho que já recebeste e que gostarias de passar a outros?

Não ter medo de arriscar. Todos cometemos erros. É normal não gostarmos de cometer erros, mas é importante fazê-lo para saber o que não podemos fazer de uma próxima vez. É muito importante ter autonomia e se estivermos sempre a pensar no que pode correr mal, vai ser um entrave. Temos de aceitar que vamos cometer erros, que é normal e que eles nos vão fazer crescer de alguma forma.

Se também trabalhas nesta área ou gostarias de ter a tua primeira experiência enquanto DevOps Engineer, explora os nossos projetos aqui. Sabe mais sobre temas como carreira, produtividade, tecnologia, gestão ou liderança no nosso podcast: