Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A engenharia de plataforma é uma prática construída a partir dos princípios de DevOps que busca melhorar a segurança, a conformidade, os custos e o valor do time-to-business de cada equipe de desenvolvimento por meio de experiências de desenvolvedor aprimoradas e autosserviço dentro de uma estrutura segura e controlada. É uma mudança de mentalidade baseada no produto e um conjunto de ferramentas e sistemas para apoiá-la.
Ultimamente, há muita empolgação da indústria em torno do termo engenharia de plataformas. O Gartner espera que cerca de 80% das organizações de engenharia tenham uma equipe dedicada à engenharia de plataformas até 2026. Essas equipes se concentram na construção do que é chamado de plataforma interna de desenvolvedores. Independentemente do domínio, sejam vendas (Microsoft Dynamics, Salesforce), atendimento de serviços (ServiceNow) ou comunicações (Twilio), as plataformas, por sua natureza inerente, são projetadas para alcançar escala e reduzir o tempo necessário para entregar valor comercial.
As plataformas que os desenvolvedores usam ou estendem têm o poder de eliminar a fadiga durante todo o processo de desenvolvimento com experiências de desenvolvedor altamente otimizadas e operações simplificadas. Estas plataformas incluem ferramentas que:
- Ajude os desenvolvedores a serem autossuficientes (por exemplo, kits iniciais e plug-ins IDE).
- Ajude com tarefas comuns.
- Encapsular padrões e práticas comuns em blocos de construção reutilizáveis.
- Fornecer aconselhamento e feedback atempados sobre problemas ou riscos de segurança.
- Simplifique as operações gerenciando a infraestrutura e as ferramentas subjacentes.
O Modelo de Recursos de Engenharia de Plataforma da Microsoft descreve os seis principais recursos que definem a engenharia da plataforma: investimento, adoção, governança, provisionamento e gerenciamento, interfaces, medições e feedback. Para descobrir onde sua organização se enquadra hoje em cada área de capacidade e definir metas para crescimento futuro, consulte Sobre o modelo de recursos de engenharia de plataforma.
O que é uma plataforma interna de desenvolvedores?
Uma plataforma de desenvolvedor interno se concentra nas práticas de desenvolvimento interno de uma empresa. Você define um conjunto de percursos de desenvolvimento recomendados e suportados para a produção e "pavimenta" 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 os usam, eles são pavimentados para melhorar a segurança, mantendo a velocidade e o rendimento. Caminhos pavimentados dentro de uma plataforma interna de desenvolvedores têm objetivos semelhantes. Eles são projetados para orientar os desenvolvedores através de requisitos e padrões críticos sem sacrificar a velocidade de entrega do desenvolvedor. Isso é conseguido fornecendo às equipes de desenvolvimento recursos de autoatendimento padronizados, seguros e escaláveis. Ao mesmo tempo, você ainda torna mais fácil 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 interna de desenvolvedores. A automação e a centralização permitem operações eficientes, ao mesmo tempo em que garantem que os requisitos das partes interessadas, 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 proporcionam automação, rastreamento, governança e observabilidade em quantidade suficiente para guiar as equipas de desenvolvimento naturalmente "para o caminho do sucesso". Como disse 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 velocidade na entrega de produtos. As equipas centralizadas eliminam a necessidade de cada equipa se preocupar com a infraestrutura, aumentando assim a eficiência... Eles também aumentam a segurança, pois tudo é predefinido, reduzindo erros. - Daniel, engenheiro de nuvem, empresa de mídia Fortune 500
Uma plataforma interna de desenvolvedores 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.
Crie plataformas de desenvolvedor de forma incremental, com foco em autosserviço 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 sejam capazes de dar suporte a milhares de desenvolvedores e centenas de projetos.
No entanto, criar uma plataforma interna de desenvolvedores é uma jornada. Não recomendamos uma abordagem radical ou um esforço hierárquico. Um aspeto crítico da engenharia de plataforma é aplicar uma mentalidade de produto em que você trata desenvolvedores, profissionais de aprendizado de máquina ou cientistas de dados como seus clientes. Como disse um engenheiro de plataforma de uma empresa de tecnologia:
[Há] dois problemas principais que as [nossas] ferramentas de engenharia de plataforma foram projetadas para resolver. A primeira foi facilitar a prestação de serviços utilizando um modelo de autosserviço. … O segundo era fornecer sistemas de suporte automáticos, como métricas de desempenho e disponibilidade de aplicativos. O objetivo era permitir que os desenvolvedores trabalhassem de forma mais rápida e eficiente, tendo todas as informações necessárias para solucionar problemas e otimizar seus aplicativos. - Alex, arquiteto líder de nuvem, grande empresa de tecnologia
Não há duas empresas iguais, por isso considere as necessidades específicas dos seus clientes internos para traçar um percurso incremental ao longo desta 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 interna tenha valor suficiente para que as equipes de desenvolvimento se tornem defensores 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ê quer pensar em quaisquer investimentos que faça nessas áreas como blocos de construção fundamentais para sua jornada de engenharia de plataforma. Então você pode se concentrar em criar cola coesa com seus investimentos personalizados para agregar valor exclusivo para o seu negócio, em vez de construir tudo do zero.