Share via


O que é engenharia de plataforma?

A engenharia de plataforma é uma prática criada a partir de princípios de DevOps que busca melhorar a segurança, a conformidade, os custos e o valor de tempo para negócios de cada equipe de desenvolvimento por meio de experiências aprimoradas de desenvolvedor e autoatendimento em uma estrutura segura e governada. É uma mudança de mentalidade baseada em produto e um conjunto de ferramentas e sistemas para dar suporte a ela.

Ultimamente, há muita excitação da indústria em torno do termo engenharia de plataforma. Na verdade, a Gartner espera que cerca de 80% das organizações de engenharia tenham uma equipe dedicada à engenharia de plataforma até 2026. Essas equipes se concentram na criação do que é chamado de plataforma de desenvolvedor interno. Independentemente do domínio – as vendas (por exemplo, Microsoft Dynamics, Salesforce), atendimento de serviço (exemplo: ServiceNow), comunicações (exemplo: Twilio) – plataformas, por sua natureza inerente, são projetadas para alcançar escala e reduzir o tempo necessário para fornecer valor comercial.

Plataformas que os desenvolvedores usam ou estendem podem eliminar trabalhos toil em todo o processo de desenvolvimento com experiências de desenvolvedor altamente otimizadas e operações simplificadas. Essas plataformas incluem ferramentas que:

  • Ajudar os desenvolvedores a serem auto-suficientes (por exemplo, kits de início, plug-ins IDE)
  • Auxiliar com tarefas comuns
  • Encapsular padrões e práticas comuns em blocos de construção reutilizáveis
  • Fornecer conselhos e comentários antecipados sobre problemas ou riscos de segurança
  • Simplificar as operações gerenciando a infraestrutura e as ferramentas subjacentes

O que é uma plataforma de desenvolvedor interna?

Uma plataforma de desenvolvedor interna se concentra nas práticas internas de desenvolvimento de uma empresa. Você define um conjunto de caminhos de desenvolvimento recomendados e com suporte para produção e "abre" incrementalmente um caminho através deles com uma plataforma interna. Para usar uma analogia do mundo real, novos caminhos geralmente começam como trilhas de terra, mas à medida que mais pessoas as usam, elas são pavimentadas para melhorar a segurança, mantendo a velocidade e a taxa de transferência. Os caminhos pavimentados em uma plataforma de desenvolvedor interno têm metas semelhantes. Eles foram projetados para orientar os desenvolvedores por meio de requisitos e padrões críticos sem sacrificar a velocidade de entrega do desenvolvedor. Isso é feito fornecendo às equipes de desenvolvimento recursos de autoatendimento padronizados, seguros e escalonáveis. Ao mesmo tempo, você ainda facilita para as operações e sua organização de TI garantir que a infraestrutura e as ferramentas subjacentes sejam eficientes, compatíveis e econômicas. Embora alguns caminhos possam ser parcialmente pavimentados, um caminho dourado totalmente pavimentado reduz a carga cognitiva para todos os envolvidos. Os desenvolvedores são os principais consumidores ou clientes de uma plataforma de desenvolvedor interna. A automação e a centralização permitem operações eficientes e, ao mesmo tempo, garantem que os requisitos dos stakeholders, como a conformidade, sejam atendidos.

Com a engenharia de plataforma, você cria essa plataforma interna combinando uma mentalidade de produto com aprendizados de DevOps e DevSecOps para fornecer um conjunto de ferramentas. Essas ferramentas fornecem automação, acompanhamento, governança e observabilidade suficientes que orientam as equipes de desenvolvimento naturalmente "no poço do sucesso". Como líder de engenharia de plataforma para uma empresa multinacional de mídia de massa, disse:

A engenharia de plataforma foi adotada para aumentar a velocidade ou a velocidade na entrega de produtos. As equipes centralizadas eliminam a necessidade de cada equipe se preocupar com a infraestrutura, aumentando assim a eficiência... Eles também aprimoram a segurança, pois tudo é predefinido, reduzindo erros. - Daniel, Engenheiro de Nuvem, Empresa de Mídia da Fortune 500

Em outras palavras, uma plataforma de desenvolvedor interna ajuda você a centralizar e dimensionar o conhecimento especializado em todo o ciclo de vida de desenvolvimento e operações, reduzindo ou eliminando a carga cognitiva e as etapas manuais.

Gráfico de conceitos de engenharia de plataforma.

A implementação de uma estratégia de engenharia de plataforma bem-sucedida funciona, mas vale a pena. Não é incomum que equipes com menos de 20 indivíduos possam dar suporte a milhares de desenvolvedores e centenas de projetos.

No entanto, criar uma plataforma de desenvolvedor interna é um percurso. Não recomendamos uma abordagem de "big bang" ou um esforço orientado por cima para baixo. Um aspecto crítico da engenharia de plataforma é aplicar uma mentalidade de produto em que você trata desenvolvedores, profissionais de machine learning ou cientistas de dados como seu cliente. Como disse um engenheiro de plataforma de uma empresa de tecnologia:

[Há] dois problemas de main que [nossas] ferramentas de engenharia de plataforma foram projetadas para resolver. A primeira foi facilitar o provisionamento de serviços usando um modelo de autoatendimento. … O segundo foi fornecer sistemas de suporte automático, como métricas de desempenho e disponibilidade de aplicativos. O objetivo era permitir que os desenvolvedores trabalhassem de forma mais rápida e eficiente, ao mesmo tempo em que tinha todas as informações necessárias para solucionar problemas e otimizar seus aplicativos. - Alex, arquiteto líder de nuvem, grande empresa de tecnologia

Essa pode ser uma ordem alta de implementação, mas nenhuma das duas empresas é a mesma, portanto, considere as necessidades específicas de seus clientes internos para traçar um curso incremental ao longo dessa jornada. Ao estabelecer um conjunto de blocos de construção principais que você montará ao longo do tempo, você pode garantir que sua plataforma de desenvolvedor interno tenha valor suficiente para que as equipes de desenvolvimento se tornem defensoras e queiram usá-la ao longo do caminho. Use essas informações para criar uma plataforma viável mais fina (TVP, um produto mínimo viável para sua plataforma) e crescer a partir daí.

Gráfico de conceitos de engenharia de plataforma com opções de implementação.

O ponto importante é que você deseja pensar em quaisquer investimentos que você faça nessas áreas como blocos de construção importantes para sua jornada de engenharia de plataforma.

Em seguida, você pode se concentrar na criação de cola coesa com seus investimentos personalizados para adicionar valor exclusivo para sua empresa, em vez de construir tudo do zero.