Key Takeaways
Tendência ou tradição?: O DevOps já não é uma tendência de vanguarda, mas uma forma estabelecida de fazer negócios, integrada nas práticas tanto dos programadores como dos profissionais de TI, assinalando a sua evolução de uma ideia radical para uma metodologia generalizada.
A filosofia DevOps: O DevOps representa a fusão do desenvolvimento e das operações para acelerar a entrega e melhorar a qualidade do software. Baseia-se numa cultura de colaboração e evolução contínua, com o objetivo de eliminar os silos tradicionais.
A evolução tecnológica apoia o DevOps: A ascensão da conteinerização, dos ecossistemas nativos da nuvem e da Infraestrutura como Código (IaC) impulsionou o movimento DevOps, trazendo mais agilidade e eficiência aos processos de desenvolvimento e implementação de software.
A segurança ganha um lugar à mesa: O surgimento do DevSecOps integra a segurança nas primeiras fases do desenvolvimento de software, sublinhando a mudança no sentido de dar prioridade à deteção precoce de vulnerabilidades para minimizar os riscos.
A cultura e as ferramentas andam de mãos dadas: Embora o DevOps beneficie significativamente de avanços tecnológicos como a inteligência artificial e a aprendizagem automática, a sua essência centra-se na promoção de uma cultura positiva que dá prioridade às pessoas, à colaboração e à melhoria contínua.
Quando é que uma tendência tecnológica deixa de ser uma tendência e passa simplesmente a fazer parte do funcionamento normal das empresas?
Podíamos passar algum tempo a debater esse ponto de viragem específico – não existe uma resposta “correta” para a pergunta. Basta dizer que, quando uma “tendência” já vai bem na sua segunda década – como é o caso da cultura e das práticas DevOps –, passa simplesmente a ser a forma como as coisas são feitas. (Segundo a maioria das fontes, o DevOps começou a assumir a sua forma atual por volta de 2007.)
No nosso Guia definitivo de DevOps, definimos o termo da seguinte forma: “DevOps é um conjunto de práticas e filosofias que combina o desenvolvimento de software (Dev) e as operações de TI (Ops), com o objetivo de encurtar o ciclo de vida do desenvolvimento de sistemas e proporcionar uma entrega contínua com elevada qualidade de software. É uma abordagem que dá ênfase à colaboração, à comunicação e à integração entre os programadores e os profissionais de TI.”
Nas suas primeiras fases, isto parecia estranho e assustador – até radical – para alguns profissionais de TI. Agora, é tão comum que se tornou banal. No relatório Estado da CI/CD da CD Foundation, 83% dos programadores afirmaram estar envolvidos em atividades relacionadas com DevOps. Isso não representa literalmente toda a gente, mas está certamente perto disso.
Dito isto, o DevOps – que é tanto uma cultura como qualquer conjunto específico de ferramentas ou processos – está, pela sua própria natureza, em constante evolução.
Neste artigo, veremos como chegámos a este ponto – e como o DevOps continua a evoluir atualmente. Primeiro, é importante compreender por que motivo o DevOps existe.
Porque é importante o DevOps?
DevOps combina os termos “desenvolvimento” e “operações” – dois domínios tecnológicos com uma longa história. O principal objetivo do DevOps é promover um elevado grau de integração entre estes dois componentes importantes de um sistema de TI, concentrando-se sobretudo na entrega contínua e nos testes de qualidade do software. Tradicionalmente, estas funções eram separadas e funcionavam em silos – o que provocava estrangulamentos, atrasos na entrega, problemas de qualidade, atribuição de culpas (quando algo corria mal), fragilidades de segurança e outros problemas.
O DevOps – enquanto termo, mas, mais importante ainda, enquanto cultura e prática – reflete a necessidade de as organizações de software criarem e disponibilizarem código mais rapidamente e com maior frequência, sem sacrificarem a qualidade, a fiabilidade ou a segurança.
Como chegámos até aqui: tendências DevOps do passado
O enorme crescimento do DevOps ao longo da última década, aproximadamente, cruzou-se com várias tendências tecnológicas relacionadas que permitiram a adoção de práticas DevOps e resultaram dos princípios e da cultura DevOps. Entre os fatores mais importantes que nos conduziram até este ponto estão:
Contentorização: Assistimos a uma maior adoção do Docker e de outras ferramentas de contentorização de software, o que ajudou a tornar as aplicações portáteis entre diferentes plataformas, como várias plataformas de nuvem públicas e privadas (incluindo a Amazon Web Services, o Microsoft Azure e a Google Cloud Platform), bem como infraestruturas locais.
Ecossistema nativo da nuvem: Observámos um forte crescimento do desenvolvimento de aplicações nativas da nuvem, que assegura a escalabilidade da infraestrutura e dos serviços. Para representar todo o panorama nativo da nuvem num único local, é necessário um quadro branco do tamanho de um painel publicitário – mesmo num navegador web, é provável que tenha de percorrer a página para ver tudo!
Cibersegurança: Embora o DevOps possa ter-se concentrado inicialmente num alinhamento mais estreito entre o trabalho de desenvolvimento e o trabalho de operações, também evidenciou a necessidade de dar prioridade à segurança numa fase inicial do ciclo de vida do desenvolvimento de software (SDLC). O DevSecOps surgiu como uma tendência importante, integrando a segurança no pipeline DevOps em vez de a tratar como uma entidade separada. Isto melhorou, entre outros aspetos, a deteção precoce de vulnerabilidades, minimizando os riscos e os impactos em produção.
Infraestrutura como código (IaC): O DevOps tornou a automatização uma prioridade nos ambientes de TI, e essa tendência foi especialmente evidente no domínio da infraestrutura; a gestão da infraestrutura era, normalmente, uma tarefa muito manual e repetitiva, mas a introdução da Infraestrutura como código (IaC) proporcionou mecanismos eficientes, fiáveis e repetíveis para gerir a infraestrutura onde são executadas as aplicações de software.
Cultura: O DevOps nunca se centrou exclusivamente na tecnologia. Pelo contrário, procurou dar prioridade às pessoas e libertá-las de encargos ou dores de cabeça desnecessários no seu trabalho. Como resultado, o DevOps ajudou a renovar a atenção dada à importância de uma cultura profissional saudável e não tóxica, com ênfase em aspetos como a segurança psicológica, as análises pós-incidente sem atribuição de culpas, os incentivos partilhados, a melhoria contínua e muito mais.
Inteligência artificial e aprendizagem automática: Embora os modelos de linguagem de grande dimensão (LLMs) e a IA generativa estejam atualmente na ordem do dia, a IA/ML não é certamente algo novo. A aprendizagem automática, em particular, já é utilizada para tarefas como a análise preditiva, a deteção de erros e a automatização de processos em vários contextos DevOps.
Have an account? Log In
Tendências atuais de DevOps
Embora a maioria dos padrões acima esteja implementada há bastante tempo, isso não significa que o DevOps tenha estagnado. Parece tão popular como sempre — e tão procurado como sempre do ponto de vista do recrutamento. Uma pesquisa recente, realizada em todo o território dos EUA, por posições de engenheiro de DevOps no LinkedIn — um único título profissional entre uma vasta quantidade de funções potencialmente relevantes — encontrou quase 5 000 vagas.
À medida que amadureceu, o DevOps continuou a evoluir. Vamos analisar cinco das formas mais visíveis como o DevOps continua a mudar.
1. Adoção generalizada do Kubernetes
À medida que a adoção de contentores aumentava rapidamente, tornou-se evidente que as equipas de DevOps precisavam de uma forma melhor de gerir tudo. Foi então que surgiu o Kubernetes, que se tornou a referência na orquestração de contentores e uma plataforma comum (disponível em muitas distribuições ou variantes) para as equipas gerirem as suas aplicações e infraestruturas.
“O Kubernetes e os contentores tornaram possível às equipas empacotar todos os ambientes necessários e executar o respetivo código numa plataforma padrão, para que as equipas de operações tenham de se preocupar apenas com o estado da plataforma Kubernetes”, diz-nos Vitor Avancini, CTO da consultora de IA e dados Indicium.
O Kubernetes disponibiliza uma infraestrutura robusta de automatização, redes e armazenamento para cargas de trabalho nativas da nuvem. É também o que tornou mais realista uma das promessas iniciais da conteinerização — a capacidade de mover cargas de trabalho entre ambientes sem ter de as reconstruir essencialmente: “Facilitou o trabalho da equipa de operações de copiar e colar muitos ambientes, uma vez que não são necessários ambientes diferentes para diferentes pilhas de aplicações.”
Isso ajuda a explicar por que motivo cerca de dois terços das organizações executam o Kubernetes em produção, de acordo com o inquérito de 2023 da Cloud Native Computing Foundation, enquanto outros 18 por cento estão a avaliá-lo ativamente para utilização em produção.
Ferramentas de DevOps úteis: Kubernetes (a distribuição de código aberto original), além de uma vasta gama de software de gestão de contentores comercial e gerido.
2. A automatização está presente em todo o DevOps
O Kubernetes é o principal exemplo de uma tendência mais ampla que se consolidou nos primeiros tempos do DevOps: Automatizar tudo.
O que começou como um meme está cada vez mais próximo da realidade, no sentido em que a automatização parece estar presente em todo o lado nas cadeias de DevOps, CI/CD e GitOps — desde análises de segurança a revisões de QA, passando por tarefas de compilação e implementação, aplicação de políticas e muito mais. Isso também é evidente numa desconcertante variedade de ferramentas de automatização. Algumas delas — nomeadamente, as ferramentas de baixo código e sem código — nem sequer exigem conhecimentos de programação.
“As coisas podem tornar-se confusas com toda a liberdade que o [DevOps] proporciona às equipas, pelo que as ferramentas de [automatização] podem desempenhar um papel importante para manter tudo organizado e sob controlo”, afirma Avancini, observando que as ferramentas IaC, como o Terraform, continuam a desempenhar um papel significativo neste âmbito.
Ferramentas de DevOps úteis: Terraform, Ansible
A priorização é um desafio muito comum, com as empresas a adiarem frequentemente tarefas críticas relacionadas com a cloud, como a otimização de bases de dados e o desenvolvimento de infraestruturas, para os últimos trimestres ou até para o ano seguinte. As equipas de DevOps estão ansiosas por resolver estas questões, mas, quando se sentam para o fazer, o enorme volume de tarefas torna frequentemente difícil perceber quais são os problemas de maior valor e que devem ter prioridade.
É precisamente por isso que a Zesty expandiu a sua oferta para uma plataforma que inclui informações acionáveis, ajudando as empresas a dar prioridade e a implementar de forma eficiente as correções mais valiosas primeiro. Para priorizarem estas tarefas de forma eficaz, as empresas precisam de informações claras sobre os investimentos de tempo e financeiros envolvidos. As plataformas que automatizam estes processos são inestimáveis, pois permitem uma melhor tomada de decisões e uma melhor alocação de recursos. As equipas de DevOps estão cada vez mais conscientes do valor que as plataformas proporcionam através da automação, da visibilidade e de recomendações acionáveis.
3. A arquitetura de microsserviços também está em todo o lado
A arquitetura de microsserviços – que consiste essencialmente em dividir aplicações maiores em componentes mais pequenos e distintos, que funcionam de forma independente, mas continuam a trabalhar em conjunto para formar o sistema maior – não é nova. No entanto, durante muitos anos, esta abordagem nem sempre foi realista para muitas organizações.
Atualmente, três quartos (74%) das empresas utilizam microsserviços, de acordo com a Gartner, e quase todas as restantes (23%) planeiam fazê-lo num futuro próximo.
“Os microsserviços proporcionaram às equipas a oportunidade de escolherem as suas próprias pilhas de ferramentas, algo que anteriormente exigia que as equipas centrais de operações disponibilizassem diferentes ambientes de teste e implementação às equipas de desenvolvimento”, afirma Avancini.
Aqui pode surgir uma discussão sobre o ovo e a galinha, porque a arquitetura de microsserviços se adapta naturalmente aos contentores e ao Kubernetes – pelo que a maturidade da primeira provavelmente impulsionou a adoção do segundo, tal como aconteceu com a maturação geral das tecnologias nativas da cloud e do desenvolvimento. (As aplicações novas ou “desenvolvidas de raiz” atualmente têm maior probabilidade de ser desenvolvidas para ambientes nativos da cloud, tendo os microsserviços como uma opção arquitetural de destaque.)
A arquitetura de microsserviços também evoluiu lado a lado com a computação sem servidor (ou arquitetura sem servidor). São conceitos distintos, mas frequentemente relacionados – uma forma simples de os distinguir é considerar que os microsserviços constituem uma abordagem arquitetural à conceção de software, enquanto a computação sem servidor é uma abordagem arquitetural à forma como esse software é efetivamente executado.
Ferramentas DevOps úteis: Prometheus, Compass, AWS Fargate
4. A engenharia de plataformas é o novo DevOps (mais ou menos)
Está bem, o título é um pouco exagerado – a engenharia de plataformas e o DevOps são disciplinas diferentes, mas a sua relação continua a desenvolver-se. Uma prova anedótica disso é o facto de o relatório Estado do DevOps, publicado há vários anos pela Puppet, ter incluído no seu subtítulo de 2024: “A evolução da engenharia de plataformas”.
A engenharia de plataformas é a disciplina de criar plataformas internas – com uma forte ênfase no autoatendimento – para fornecer aos programadores e a outros profissionais de tecnologia tudo o que precisam para criar aplicações e serviços. Tal como acontece com o DevOps, existe uma forte ênfase na automação de infraestruturas, em cadeias de ferramentas e fluxos de trabalho normalizados, e assim por diante. O aprovisionamento de um ambiente de desenvolvimento ou de teste, por exemplo, não deveria exigir o envio de um pedido para uma equipa de gestão de infraestruturas completamente separada.
“Uma grande tendência é a engenharia de plataformas, que fornecerá as ferramentas e as práticas necessárias para que as equipas de desenvolvimento possam não só desenvolver, mas também testar, monitorizar e reverter aplicações” de forma unificada e consistente, afirma Avancini, sem terem de pedir regularmente aos profissionais de operações as infraestruturas e os serviços de que necessitam para o fazer.
Avancini observa que também existe uma mudança geral no DevOps no sentido de processos centralizados – o que, à primeira vista, pode parecer contraintuitivo, tendo em conta o desenvolvimento orgânico de muitas culturas DevOps. No entanto, a engenharia de plataformas pode ser vista através desta perspetiva: DevOps não significa anarquia. Os programadores e outros profissionais de TI continuam a precisar de ferramentas, infraestruturas e – sim – limites de segurança.
Neste contexto, também verá por vezes os termos Plataforma Interna de Desenvolvimento (IDP) e Ambiente Integrado de Desenvolvimento (IDE).
Ferramentas DevOps úteis: Kubernetes, Humanitec
More Articles
5. A IA terá um papel cada vez mais importante no DevOps
As aplicações emergentes de IA – representadas mais recentemente pela nova classe de aplicações de IA generativa baseadas em LLM, que têm despertado a atenção ultimamente – irão provavelmente integrar-se também nos processos e nas cadeias de ferramentas de DevOps. Existe até um termo para esta união: AIOps.
Talvez a forma mais simples de pensar onde a IA será útil seja a partir da perspetiva mais abrangente da automatização: se algo puder ser automatizado, ou se a inteligência e o esforço humanos puderem ser aproveitados de alguma forma, a IA poderá (e provavelmente irá) desempenhar um papel.
«A assistência da IA terá um papel importante no DevOps, principalmente no apoio à revisão de código, na análise da qualidade e da segurança do código e na descrição automática de todos os efeitos que o novo código poderá ter quando for implementado», afirma Avancini.
Com efeito, existe uma longa lista de potenciais casos de utilização, muitos dos quais ainda estão a surgir. É de esperar que a produtividade dos programadores e a automatização da segurança sejam duas das principais áreas de foco num futuro próximo.
Ferramentas de DevOps úteis: GitHub Copilot
Em suma
A cultura e as práticas de DevOps resistiram ao teste do tempo – mas isso não significa que sejam estáticas. Quais são as tendências mais recentes de DevOps na sua organização? Para onde acha que o DevOps está a evoluir nos próximos anos? Subscreva a newsletter do The CTO Club para receber mais notícias e participar em mais discussões sobre o setor!





