Introdução
Apesar dos esforços contínuos voltados para o aumento da produtividade dos desenvolvedores, a criação de soluções digitais de maneira ideal está ficando cada vez mais complexa. Um dos fatores importantes que afetam essa complexidade é a dependência da plataforma na qual os desenvolvedores operam, incluindo a infraestrutura subjacente, as ferramentas, os serviços e os processos que impulsionam os esforços de desenvolvimento. A otimização dessa plataforma torna-se ainda mais desafiadora considerando a pressão que as organizações exercem para reduzir o tempo de retorno do investimento enquanto também esperam os níveis mais altos de qualidade de software e estabilidade operacional.
A engenharia de plataforma visa enfrentar esses desafios. É a prática de projetar e criar plataformas integradas que aprimoram a experiência dos desenvolvedores e aceleram o tempo de retorno do investimento. Combinando tecnologias como gerenciamento de infraestrutura, automação, recursos de autoatendimento e observabilidade, a engenharia de plataforma capacita os desenvolvedores a se concentrarem no retorno do investimento sem ficarem sobrecarregados pelas complexidades dos sistemas subjacentes. Em sua essência, a engenharia de plataforma alinha as equipes de desenvolvimento e operações, permitindo a entrega perfeita de aplicativos e serviços ao mesmo tempo em que atende às metas comerciais e operacionais.
Com a adoção contínua de arquiteturas nativas de nuvem e práticas de DevOps, a engenharia de plataforma tornou-se uma disciplina crítica para qualquer organização que deseja derivar o maior valor de seus esforços de desenvolvimento interno. Uma plataforma bem projetada fornece aos desenvolvedores as ferramentas e os processos necessários para inovar com mais rapidez, mantendo a excelência operacional. Ao inserir princípios como escalabilidade e resiliência, segurança e conformidade, automação e autoatendimento, bem como observabilidade e melhoria contínua no desenvolvimento de plataformas, os engenheiros de plataforma criam ambientes que não são apenas amigáveis para os desenvolvedores, mas também robustos e adaptáveis às necessidades de negócios em constante mudança.
"A Engenharia de plataforma simplifica o desenvolvimento criando ferramentas que aumentam a resiliência dos sistemas e aumentam a eficiência para acelerar o retorno do investimento." – Luiz Macedo
Os roteiros de aprendizado de Engenharia de Plataforma foram projetados para orientar e dar suporte a você durante a jornada de aprendizado nessa área. O conteúdo do módulo inclui gráficos, links de referência, perguntas de revisão de módulo e laboratórios práticos opcionais.
Objetivos do aprendizado
Depois de concluir esta série, os alunos e profissionais poderão:
- Entenda a importância da engenharia de plataforma para aumentar a produtividade dos desenvolvedores e acelerar o tempo de retorno do investimento.
- Aprenda a projetar e construir plataformas integradas que otimizam a experiência dos desenvolvedores e simplificam os esforços de desenvolvimento.
- Explore o papel da engenharia de plataforma na condução da transformação digital dentro de uma empresa.
- Reconheça o valor estratégico da engenharia de plataforma como base para o sucesso técnico e o alinhamento com objetivos comerciais mais amplos.
- Identifique as principais partes interessadas na engenharia de plataforma e entenda suas expectativas e requisitos distintos
- Obtenha insights sobre como projetar arquiteturas de plataforma seguras, escalonáveis e em conformidade com os padrões regulatórios.
- Explore a função da automação na manutenção da consistência, na redução de erros manuais e na aceleração das implantações.
- Entenda a importância do planejamento de capacidade e da estimativa para a previsão de necessidades futuras de recursos.
- Aprenda estratégias de otimização de custos para gerenciar recursos com eficiência e evitar o provisionamento excessivo.
- Descubra como implementar soluções escalonáveis que podem lidar com demanda crescente e fluxos de trabalho complexos.
- Aprenda como permitir que os desenvolvedores gerenciem seus recursos e fluxos de trabalho de forma independente, promovendo agilidade e inovação.
- Entenda a importância de combinar flexibilidade com governança robusta para garantir segurança, conformidade e consistência operacional.
- Explore os benefícios do autoatendimento para desenvolvedores para acelerar os ciclos de desenvolvimento e reduzir gargalos.
- Reconheça o papel das plataformas de autoatendimento na melhoria da satisfação e da produtividade dos desenvolvedores.
- Identifique as melhores práticas para implementar e gerenciar recursos de autoatendimento dentro de uma organização.
- Descubra a importância da observabilidade quando se trata de fornecer insights sobre o desempenho do sistema em tempo real e identificar ineficiências.
- Entenda como a melhoria contínua cria um loop de feedback que impulsiona os aprimoramentos da plataforma e otimiza os recursos.
- Saiba mais sobre benchmarking e monitoramento de desempenho para acompanhar o sucesso da plataforma e identificar áreas de melhoria.
- Explore estratégias para se adaptar às tendências do mercado e prever mudanças nas necessidades de usuários ou no panorama tecnológico.
- Fomente uma cultura de inovação nas equipes de engenharia de plataforma para propor e testar novas ideias continuamente.
- Saiba como alinhar as iniciativas de engenharia de plataforma aos objetivos organizacionais de longo prazo e às tendências de mercado.
- Explore os princípios mais importantes do roteiro estratégico da plataforma, incluindo a preparação para avanços tecnológicos e o incentivo à inovação.
- Entenda a importância de definir uma visão clara da plataforma que esteja alinhada aos objetivos organizacionais mais amplos.
- Descubra como criar um roteiro de plataforma com marcos acionáveis e entregas específicas.
- Aprenda técnicas de implementação e priorização em fases para garantir que a plataforma evolua de forma a dar suporte às metas de negócios.
Pré-requisitos
Os estudantes que tiverem êxito terão conhecimento e compreensão prévios sobre o seguinte:
- Os conceitos de computação em nuvem incluem uma compreensão das implementações PaaS, SaaS e IaaS.
- Administração do Azure e desenvolvimento do Azure com experiência comprovada em pelo menos uma dessas áreas.
- Conceitos intermediários e avançados do DevOps, incluindo controle de versão, desenvolvimento de software Agile e os princípios mais importantes do desenvolvimento de software. Ajudaria ter experiência em uma organização que fornece software.
Se você não tiver familiaridade com as práticas de desenvolvimento e o DevOps, considere usar o seguinte:
- Online gratuito: Fundamentos do DevOps: Princípios e práticas fundamentais .
- Curso ministrado por instrutor: AZ-2008: Fundamentos do DevOps: Princípios e práticas fundamentais.
- Online gratuito:
- AZ-400: Desenvolvimento para DevOps empresarial.
- AZ-400: Implementar a CI com o Azure Pipelines e o GitHub Actions.
- AZ-400: Projetar e implementar uma estratégia de lançamento.
- AZ-400: Implementar uma implantação contínua segura usando o Azure Pipelines.
- AZ-400: Gerenciar a infraestrutura como código usando o Azure e o DSC.
- AZ-400: Projetar e implementar uma estratégia de gerenciamento de dependências.
- AZ-400: Implementar o feedback contínuo.
- AZ-400: Implementar a segurança e validar as bases de código para conformidade.
- Curso ministrado por instrutor: AZ-400: Projetar e implementar soluções do Microsoft DevOps.
Se você é iniciante no Azure e na computação em nuvem, considere um dos seguintes recursos:
- Online gratuito: Conceitos básicos do Azure.
- Curso ministrado por instrutor: AZ-900: Conceitos básicos do Azure.
Se você é novato na Administração do Azure, considere fazer:
- Gratuito online: Pré-requisitos para administradores do Azure.
- Cursos orientados por instrutor: AZ-104: Administrador do Microsoft Azure.
Se você não estiver familiarizado com o Desenvolvedor do Azure, considere fazer este curso ministrado por instrutor: AZ-204: Desenvolvendo soluções para o Microsoft Azure.