Iniciar o percurso de engenharia da plataforma
A engenharia de plataformas é uma forma de as organizações otimizarem o ciclo de vida de desenvolvimento de software através de um foco na experiência de programador. A experiência de programador refere-se à experiência vivida dos programadores e aos pontos de atrito que encontram no seu trabalho diário. A engenharia de plataformas é um conjunto de padrões e práticas (não um produto fora da prateleira) que ajudam a modernizar a entrega de software empresarial.
Por exemplo, uma empresa multinacional de tecnologia utilizou a engenharia de plataformas para aumentar a uniformização e eliminar a duplicação entre limites de divisão. A empresa começou por estabelecer tudo como forma baseada em código para as equipas integrarem. Em seguida, começaram a associar aplicações implementadas no Kubernetes de uma forma que fazia sentido para os programadores com esta mesma experiência para ajudar ainda mais a deteção. Desta forma, colocou-os em posição de começar a montar modelos de aplicações que incentivam as melhores práticas. As suas equipas de desenvolvimento podem agora escolher blocos modulares existentes em vez de os criar do zero.
Saiba como identificar os maiores problemas da sua organização para que possa descobrir que padrões e práticas implementar. Em seguida, utilize blocos modulares da Microsoft e de outros open source projetos ou fornecedores para criar uma plataforma de programador interna personalizada, otimizada e segura.
Seguem-se alguns pontos de partida possíveis diferentes para a sua organização, consoante as suas necessidades.
Desenhar o seu percurso
Crie uma equipa diversificada de engenheiros de plataforma, defina o espaço de problemas para desafios de engenharia de plataformas e crie soluções com uma mentalidade de produto.
- Criar a equipa: compreenda a função dos engenheiros de plataforma como a ponte entre o desenvolvimento e as operações. Saiba por que motivo pretende ter uma equipa com diversas origens e conjuntos de competências.
- Definir o espaço problemático: compreenda como dividir os desafios de engenharia da plataforma em áreas compreensíveis e avançar progressivamente para a criação da sua plataforma de programador interna.
- Planear e priorizar: faça um gráfico do seu próprio percurso através da engenharia de plataformas. Saiba como aplicar uma mentalidade de produto ao seu processo de planeamento. Obtenha sugestões para identificar o maior problema que a sua organização enfrenta e atribuir prioridades a conceitos para resolver esses problemas.
Comece a resolver os problemas que identifica
Saiba como utilizar modelos para melhorar os seus sistemas de engenharia e aliviar o atrito do programador. Em seguida, refine a sua plataforma para resolver problemas identificados, utilizando potencialmente produtos fora da prateleira.
- Aplicar sistemas de engenharia de software: aprenda algumas sugestões para o ajudar a pensar sobre como pode reutilizar e refinar os seus sistemas de engenharia para melhorar a gestão personalizada para resolver problemas que identifica. Saiba como utilizar a infraestrutura gerida centralmente como código (IaC) ou outros artefactos como código (EaC) como blocos modulares em modelos de início corretos.
- Refinar a plataforma de aplicações: saiba como pode resolver problemas que identificou ao refinar a plataforma de aplicações. Estas alterações podem ser mais dispendiosas, mas também podem proporcionar benefícios significativos, especialmente se conseguir encontrar um produto fora da prateleira para satisfazer as suas necessidades. Por exemplo, melhorar a utilização de (ou mover para diferentes) ferramentas de observabilidade ou registo ajudaria? Se estiver a começar do zero, o Centro de Arquitetura do Azure pode ajudá-lo a identificar conceitos desde o início.
Desenvolver a sua plataforma
Implemente uma abordagem gradual para melhorar a plataforma self-service do programador.
- Criar uma base self-service para programadores – saiba mais sobre uma arquitetura para uma base self-service de programador mais sofisticada. Esta é uma evolução que o orienta para simplificar os múltiplos sistemas de automatização e agregar dados. Vai fazer mais desenvolvimento de software aqui, por isso, avance nesta direção ao longo do tempo em vez de começar aqui.