Iniciar seu percurso de engenharia de plataforma
A engenharia de plataforma é uma maneira de as organizações otimizarem seu ciclo de vida de desenvolvimento de software por meio do foco na experiência do desenvolvedor. A experiência do desenvolvedor refere-se à experiência vivida dos desenvolvedores e aos pontos de atrito que eles encontram em seu trabalho diário. A engenharia de plataforma é um conjunto de padrões e práticas (não um produto pronto para uso) que ajudam a modernizar a entrega de software corporativo.
Por exemplo, uma empresa multinacional de tecnologia usou a engenharia de plataforma para aumentar a padronização e eliminar a duplicação entre as fronteiras divisionais. A empresa começou estabelecendo uma maneira baseada em código para as equipes se integrarem. Em seguida, eles começaram a associar aplicativos implantados no Kubernetes de uma maneira que fizesse sentido para os desenvolvedores com essa mesma experiência para ajudar ainda mais na descoberta. Isso os colocou em posição de começar a montar modelos de aplicativos que incentivam as melhores práticas. Suas equipes de desenvolvimento agora podem escolher os blocos de construção existentes em vez de criá-los do zero.
Saiba como identificar os maiores problemas da sua organização com o Modelo de Capacidade de Engenharia de Plataforma para que você possa descobrir quais padrões e práticas implementar. Em seguida, use blocos de construção da Microsoft e de outros projetos ou fornecedores de software livre para criar uma plataforma de desenvolvedor interna personalizada, otimizada e segura.
Planeje sua jornada com o Modelo de Capacidade de Engenharia de Plataforma
Para começar, primeiro você deve avaliar onde sua organização está hoje com o Modelo de Capacidade de Engenharia de Plataforma. Em seguida, você usará o modelo de capacidade para traçar onde sua organização está em seis capacidades - investimento, adoção, governança, provisionamento e gerenciamento, interfaces e medição e feedback - e definir metas para o crescimento futuro. Por exemplo, você pode descobrir que sua organização está nos estágios iniciais quando se trata de investimento, mas mais adiantada para adoção. Para mapear as práticas atuais de engenharia de plataforma da sua organização, responda a esta pesquisa ou inicie uma avaliação manual.
Você não precisa progredir em cada recurso ao mesmo tempo. Em vez disso, trace um curso que faça sentido para sua organização. Todas as organizações serão mais avançadas em alguns recursos do que em outros. Por exemplo, neste mapa, a organização planeja se concentrar em progredir na adoção, governança, provisionamento e gerenciamento.
Implementação
Para cada um dos recursos que você identificou como áreas de melhoria, você definirá metas sobre como avançar. Essas metas envolverão aprender a usar modelos e outras soluções para melhorar seus sistemas de engenharia e aliviar o atrito do desenvolvedor.
- Aplique sistemas de engenharia de software: aprenda algumas dicas para ajudá-lo a pensar em como você pode reutilizar e refinar seus sistemas de engenharia para melhorar o autoatendimento para resolver os problemas identificados. Saiba como usar a infraestrutura gerenciada centralmente como código (IaC) ou outros artefatos de tudo como código (EaC) como blocos de construção em modelos de início correto.
- Refine sua plataforma de aplicativos: saiba como você pode resolver problemas identificados refinando sua plataforma de aplicativos. Essas mudanças podem ser mais caras, mas também podem fornecer benefícios significativos, principalmente se você encontrar um produto pronto para uso que atenda às suas necessidades. Por exemplo, melhorar o uso de (ou mudar para diferentes) ferramentas de observabilidade ou registro ajudaria? Se você estiver começando do zero, o Centro de Arquitetura do Azure poderá ajudá-lo a identificar conceitos desde o início.
- Projetar uma base de autoatendimento para desenvolvedores: saiba mais sobre uma arquitetura para uma base de autoatendimento para desenvolvedores mais sofisticada. Esta é uma evolução que leva você a simplificar os vários sistemas de automação e agregar dados. Você estará fazendo mais desenvolvimento de software aqui, então dê um passo nessa direção ao longo do tempo, em vez de começar aqui.