Platform Engineering

Engenharia de plataforma: acelerando as práticas de desenvolvimento

Deixe os desenvolvedores se dedicarem ao que importa: a inovação rápida. Use as práticas mais modernas para simplificar os fluxos de trabalho, aumentar a produtividade e melhorar a estabilidade do software.

Adotada por organizações maduras, a engenharia de plataforma é uma abordagem estratégica que otimiza as práticas de desenvolvimento, simplifica fluxos de trabalho e aumenta a produtividade. Ao estabelecer uma equipe exclusiva para a plataforma, a empresa retira dos desenvolvedores as tarefas de manutenção de rotina para que eles se dediquem ao lançamento de novos recursos, à inclusão dos produtos no mercado e à criação de funcionalidades inovadoras. O cliente é a equipe de desenvolvedores (devs, gerentes, DevOps, SecOps, etc.), e o foco da engenharia de plataforma é oferecer as ferramentas para abstrair (deixar mais "enxuta") a infraestrutura em questão. Este artigo do Solve aborda a importância cada vez maior da engenharia de plataforma, conforme comprovado por pesquisas no setor; e descreve os principais benefícios que as organizações podem ter ao seguirem as recomendações na engenharia de plataforma.

 

Sobrecarga cognitiva

No momento atual do desenvolvimento acelerado dos softwares, as organizações são rápidas para oferecer novos recursos e produtos, tudo para manter uma vantagem concorrencial. Porém, isso pode sobrecarregar as equipes de DevOps responsáveis pelo desenvolvimento de softwares, além da respectiva infraestrutura. Mesmo com as melhores metodologias agile e lean, os desenvolvedores podem acabar presos numa rede de manutenção de cadeias de ferramentas DevSecOps, na análise das alterações e na execução de tarefas repetitivas. Esse problema é ainda maior nas grandes organizações e pode causar sobrecarga cognitiva nos desenvolvedores, prejudicando a capacidade deles de inovar e entregar imediatamente o valor aos clientes. Sem falar nos gargalos em nível gerencial, com uma fila cada vez maior de trabalhos para análise.

PE diagram 1

Figura 1. Os desenvolvedores podem ficar sobrecarregados com tantas ferramentas e processos.

 

A necessidade de o desenvolvedor focar

Os desenvolvedores são mais eficazes quando podem se dedicar às responsabilidades primárias (solução de problemas, criação de software, aplicativos e ferramentas), a fim de viabilizar as metas da empresa. As operações de desenvolvimento se beneficiam muito quando os desenvolvedores não carregam o fardo das tarefas repetitivas nas atividades de segurança, implementação da infraestrutura, monitoramento e manutenção. Quando isso acontece, os desenvolvedores podem canalizar toda a expertise na criação de novas funcionalidades; e gerar inovação sem prejudicar a qualidade. Aliás, a engenharia de plataforma maximiza a qualidade. Com essa mudança de foco, as equipes de desenvolvimento se mantêm ágeis, responsivas e produtivas, acelerando o lançamento de novos produtos no mercado.

 

A ascensão da engenharia de plataforma

Em resposta aos desafios enfrentados pelos desenvolvedores, o conceito de engenharia de plataforma surgiu como uma solução eficiente e é cada vez mais adotado pelas grandes organizações, com ótimos resultados. Com origem no DevOps, a engenharia de plataforma se baseia no trabalho dos engenheiros de confiabilidade do site e envolve uma equipe de plataforma criada exclusivamente para manter e evoluir a infraestrutura e as ferramentas e estruturas que viabilizam todo o ciclo de vida do desenvolvimento dos softwares. Tudo isso é processado como "infraestrutura como código" (IaC), e as ferramentas usadas geralmente são de código aberto. As equipes de engenharia de plataforma trabalham em estreita colaboração com as equipes de desenvolvimento para oferecer abstrações como APIs e templates via catálogos de software como Backstage, OpsLevel, Publishizer ou Pathloss, de modo a aumentar a eficiência dos desenvolvedores. A ilustração abaixo mostra como o Backstage abstrai as camadas de infraestrutura, liberando as equipes de produtos do ônus de gerenciar todas as ferramentas e processos associados nas camadas abaixo delas.

PE diagram 2

Figura 2. A engenharia de plataforma abstrai as camadas de infraestrutura usando ferramentas como Backstage

 

Pesquisa da indústria apoiando a engenharia de plataforma

A Gartner® reconheceu a Engenharia de Plataforma como uma das Principais Tendências Estratégicas da Tecnologia em 2023 [1]. Além disso, a "Gartner prevê que, até 2026, 80% das organizações de engenharia de software estabelecerão uma equipe de plataforma para prestação interna de serviços, componentes e ferramentas reutilizáveis para entrega de aplicativos” [2]. Essa mudança reflete o crescente reconhecimento das vantagens que a engenharia de plataforma traz às organizações. A pesquisa da Puppet destaca ainda mais essa tendência, revelando que 51% das empresas devem montar uma equipe de plataforma até o fim de 2023. Quanto aos benefícios, 94% dos entrevistados na pesquisa State of Platform Engineering 2023 da Puppet concordam que o conceito ajuda a organização a entender melhor os benefícios do DevOps [3].

 

As vantagens da engenharia de plataforma

Ao implementar as práticas de engenharia de plataforma, as organizações descobrem várias vantagens:

  • Desenvolvedor mais rápido

A equipe de engenharia de plataforma assume a responsabilidade de gerenciar a infraestrutura da nuvem. Com isso, os desenvolvedores podem se dedicar às atividades essenciais de desenvolvimento, o que aumenta a produtividade e agiliza a entrega de novos recursos e funcionalidades.

Além disso, a automatização de tarefas repetitivas (como criar bancos de dados, repositórios Terraform ou microsserviços), pode encurtar bastante aos desenvolvedores o prazo até o "Hello World". "Tempo de ciclo" e "Frequência da implementação" são os indicadores de desempenho que podem medir esse benefício.

  • Fluxos de trabalho simplificados

A equipe de engenharia de plataforma padroniza os processos, os fluxos de trabalho e as cadeias de ferramentas, de modo a simplificar o ciclo de vida de desenvolvimento dos softwares. Com ambientes e ferramentas pré-configurados e confiáveis, os desenvolvedores trabalham e colaboram de forma mais eficiente, reduzindo o atrito e os gargalos. Os gerentes passam menos tempo analisando MRs.

Ao dar aos desenvolvedores uma plataforma robusta e liberá-los de tarefas sem valor agregado, a engenharia de plataforma agiliza os ciclos de iteração, reduz o tempo com manutenção e acelera o desenvolvimento em geral. Com um prazo menor para o lançamento no mercado, as organizações aproveitam as oportunidades de negócios de modo mais eficaz, ganham da concorrência e reagem prontamente às necessidades dos clientes.

  • Software com estabilidade e segurança aprimoradas

Com a engenharia de plataforma, as organizações podem aplicar recomendações, testes automatizados e medidas de segurança em todo o processo de desenvolvimento. Em uma infraestrutura abstrata, com controles de segurança e qualidade incorporados à plataforma, os desenvolvedores sabem que o código atende aos rigorosos padrões, o que, por sua vez, aumenta a confiabilidade e a segurança em geral do software. Além disso, tudo é entregue por uma infraestrutura como código auditável, que pode ser utilizada via APIs, plug-ins ou templates. As principais métricas para isso são "Taxa de falhas na alteração" e "Tempo médio para recuperação".

  • Capacitação em nuvem dos sistemas antigos

As empresas maduras vêm migrando os sistemas antigos para nuvem há mais de uma década, mas muitas das primeiras migrações foram "lift and shift" malfeitas para nuvem. Além de não trazer benefícios reais, em muitos casos, o custo da hospedagem e a complexidade da gestão dos sistemas antigos só aumentaram. O conhecimento especializado na orquestração da nuvem e dos contêineres, Kubernetes e infraestrutura como código pode melhorar bastante os resultados dessas antigas migrações. Quando bem-feito, esse processo traz enormes benefícios, como a descoberta e a escalabilidade dos serviços.

Empresas recém-nascidas ou "nascidas na nuvem" não enfrentam os mesmos desafios. Já as empresas mais velhas estão percebendo que o jeito mais eficiente de aproveitar esses benefícios é montar uma equipe de engenharia de plataforma para cuidar da infraestrutura. Com isso, os desenvolvedores de sistemas antigos são liberados para trabalharem nas áreas específicas deles.

 

Conclusão

A engenharia de plataforma surgiu como uma estratégia essencial para organizações que buscam aprimorar as práticas de desenvolvimento e ter vantagem no mercado. Ao montar uma equipe de plataforma e liberar os desenvolvedores das tarefas de implementação e manutenção, as organizações aproveitam todo o potencial das equipes de desenvolvimento, aumentam a produtividade, simplificam os fluxos de trabalho e aceleram o prazo para lançamento no mercado.

 
Citações:
[1] Gartner, “Gartner Top 10 Strategic Technology Trends for 2023”, David Groombridge., 17 de outubro de 2022
[2] Gartner, “What is Platform Engineering?”, Lori Perri, 05 de outubro de 2022
A GARTNER é uma marca registrada e de serviço da Gartner, Inc. e/ou suas afiliadas nos EUA e no mundo, e é usada aqui sob permissão. Todos os direitos reservados.
[3] Puppet The 2023 State of DevOps Report: Platform Engineering Edition (Puppet 2023)

 

Join the Conversation: Find Solve on Twitter and LinkedIn, or follow along via RSS.

Stay on top of what's next in technology

Learn about tech trends, innovations and how technologists are working today.

Subscribe
AI in Healthcare

Como a IA trabalha para melhorar os resultados dos cuidados com a saúde — da eficiência ao atendimento ao paciente

About the Authors

Simon Mohr

Cloud Delivery Lead for Elastic Engineering +

Simon Mohr

Meet Simon Mohr, a technical team leader with 15 years’ experience of delivering infrastructure transformation and cloud migration programmes. Simon has worked with Rackspace as an award-winning migration partner from 2008 – 2014 and has worked with Rackspace Cloud solutions since their inception. He is now a Cloud Delivery Lead for EE+ in EMEA leading among other things a platform engineering team building developer portals for one of Rackspace’s largest customers. Simon’s passion is the people he works with and supporting his engineering teams to work to their full potential. He also builds strong relationships with his customers, always striving to make them and us better!

Read more about Simon Mohr

Related Topics

article
Com o FinOps, você controla os custos e tem sucesso na nuvem privada
article
Traçando uma estratégia de dados para o setor de manufacturing
article
Dos dados ao painel: melhorando a visibilidade com a observabilidade full-stack