Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A engenharia de plataforma é uma prática criada com base nos princípios do DevOps que busca melhorar a segurança, a conformidade, os custos e o valor de tempo para o negócio de cada equipe de desenvolvimento por meio de experiências de desenvolvedor aprimoradas e autoatendimento dentro de 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. 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 interna. Independentemente do domínio , seja vendas (Microsoft Dynamics, Salesforce), service fulfillment (ServiceNow) ou comunicações (Twilio)— plataformas, por sua natureza inerente, são projetadas para alcançar escala e reduzir o tempo necessário para fornecer valor comercial.
As plataformas que os desenvolvedores usam ou estendem têm o poder de eliminar o trabalho repetitivo em todo o processo de desenvolvimento com experiências de desenvolvedor altamente otimizadas e operações simplificadas. Essas plataformas incluem ferramentas que:
- Ajude os desenvolvedores a serem auto-suficientes (por exemplo, kits de início e plug-ins IDE).
- Ajude com tarefas comuns.
- Encapsular padrões e práticas comuns em blocos de construção reutilizáveis.
- Forneça conselhos e comentários antecipados sobre problemas ou riscos de segurança.
- Simplifique as operações gerenciando a infraestrutura e as ferramentas subjacentes.
O Modelo de Funcionalidades de Engenharia de Plataforma da Microsoft descreve os seis principais recursos que definem a engenharia de plataforma: investimento, adoção, governança, provisionamento e gerenciamento, interfaces e medidas e comentários. Para descobrir onde sua organização está hoje em cada área de funcionalidade e definir metas para o crescimento futuro, consulte Sobre o modelo de funcionalidades de engenharia de plataforma.
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 suportados rumo à produção e progressivamente elabora um caminho por meio 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, eles são pavimentados para melhorar a segurança, mantendo a velocidade e a taxa de transferência. 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 as operações e sua organização de TI para 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, garantindo que os requisitos de stakeholder, como a conformidade, sejam atendidos.
Com a engenharia de plataforma, você cria essa plataforma interna combinando uma mentalidade de produto com aprendizados do DevOps e do DevSecOps para fornecer um conjunto de ferramentas. Essas ferramentas fornecem automação, rastreamento, governança e observabilidade suficientes que orientam as equipes de desenvolvimento naturalmente "no caminho do sucesso". Como explicou um líder de engenharia de plataforma de uma empresa multinacional de mídia de massa:
A engenharia de plataforma foi adotada para aumentar a rapidez ou 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
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.
Criar plataformas de desenvolvedor incrementalmente, com foco no autoatendimento e automação
Implementar uma estratégia de engenharia de plataforma bem-sucedida dá trabalho—mas a recompensa 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 impulsionado de 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 seus clientes. Como disse um engenheiro de plataforma de uma empresa de tecnologia:
[Há] dois problemas principais 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. … A segunda foi fornecer sistemas de suporte automáticos, como métricas de desempenho e disponibilidade do aplicativo. 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 de Nuvem Líder, grande empresa de tecnologia
Nenhuma das duas empresas é a mesma, portanto, considere as necessidades específicas de seus clientes internos para plotar um curso incremental durante esse percurso. 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, um produto mínimo viável para sua plataforma e crescer a partir daí.
O ponto importante é que você deseja pensar em quaisquer investimentos que você faça nessas áreas como principais blocos de construção 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.