Share via


Recomendações para otimizar o tempo de pessoal

Aplica-se a esta recomendação de lista de verificação de Otimização de Custos do Azure Well-Architected Framework:

CO:13 Otimizar o tempo de pessoal. Alinhe o tempo que o pessoal gasta em tarefas com a prioridade da tarefa. O objetivo é reduzir o tempo gasto em tarefas sem degradar o resultado. Os esforços de otimização devem incluir minimizar o ruído, reduzir os tempos de compilação, depuração de alta fidelidade e simulação de produção.

Este guia descreve as recomendações para otimizar o tempo de pessoal. Esta otimização é um processo estratégico para maximizar a produtividade e eficiência dos colaboradores que concebem, implementam e operam a carga de trabalho durante o horário de trabalho. Envolve alinhar as suas competências, pontos fortes e tarefas de uma forma que garanta que cada hora que passam no trabalho é utilizada de forma mais eficaz. O objetivo é eliminar o potencial e as capacidades de pessoal desperdiçados. A não otimização do tempo de pessoal pode levar ao burnout dos colaboradores, à redução da vantagem competitiva e à redução da produtividade.

Definições

Termo Definição
Ruído Informações irrelevantes ou enganosas que podem distrair-se de problemas ou tendências reais.
Sinal Informações relevantes e relevantes que fornecem informações sobre o comportamento e o desempenho de um sistema ou aplicação.
Dívida técnica As ineficiências acumuladas, escolhas de design subótimas ou atalhos feitos intencionalmente durante o processo de desenvolvimento para fornecer código mais rapidamente.

Principais estratégias de design

Normalmente, o pessoal cria a despesa mais significativa numa carga de trabalho. O custo e o valor do pessoal sublinham a importância de uma gestão eficiente do tempo. Este guia tem a ver com maximizar o potencial de cada hora trabalhada. Dado que os colaboradores não podem trabalhar todo o dia e noite, a ênfase é garantir que cada pessoa é mais eficaz dentro das suas horas designadas ou igualmente eficaz num período de tempo reduzido. O objetivo é alcançar uma melhor utilização do seu tempo em benefício do indivíduo e da carga de trabalho.

Definir destinos de otimização

Definir destinos de otimização de tempo de pessoal é um processo de estabelecer objetivos claros e mensuráveis. Estes destinos servem como diretrizes para melhorias pretendidas em tarefas e funções. Pode utilizar estes parâmetros de referência para avaliar os resultados em relação aos destinos. Em primeiro lugar, defina as métricas para medir o sucesso dos esforços de otimização do tempo do pessoal. Determine os objetivos específicos que pretende alcançar através da otimização. Os objetivos de exemplo podem ser reduzir o tempo gasto em tarefas administrativas ou reduzir o tempo necessário para responder a inquéritos dos clientes. Para definir destinos para a otimização do tempo de pessoal, considere as seguintes estratégias:

  • Selecione métricas quantitativas: selecione métricas alinhadas com os seus objetivos e que possam ser medidas com precisão. Considere métricas como tempo guardado, aumentos de produtividade, melhorias de eficiência e tempo de conclusão da tarefa.

  • Recolher métricas qualitativas: para além das métricas quantitativas, recolha feedback do pessoal para medir a sua satisfação com as suas funções. Este feedback pode fornecer informações valiosas sobre os efeitos dos esforços de otimização do tempo do pessoal sobre a moral e o envolvimento dos funcionários.

  • Definir destinos: defina destinos realistas e exequíveis para cada métrica selecionada. Estes destinos devem basear-se nos níveis de desempenho atuais e no nível de melhoria pretendido.

Otimizar o tempo de desenvolvimento

Otimizar o desenvolvimento envolve refinar os processos de desenvolvimento de software para obter uma maior eficiência. Como resultado, os programadores podem investir mais tempo na refinação de funcionalidades, inovando dentro das restrições de uma determinada carga de trabalho e abordando quaisquer desafios exclusivos que a carga de trabalho apresente.

Manter as funcionalidades magras

Ao conceber e personalizar funcionalidades, mantenha-as magras e simples. Evite opções de configuração e complexidade desnecessárias que possam aumentar o tempo necessário para desenvolver, testar e manter a carga de trabalho. Manter a carga de trabalho simples e focada leva a uma adaptação e otimização mais fáceis ao longo do tempo.

Reduzir os tempos de compilação

Reduzir os tempos de compilação é o processo de minimizar o tempo necessário para compilar e gerar uma implementação. Os tempos de compilação mais curtos permitem que os programadores passem menos tempo à espera que as compilações sejam concluídas e permitem que se concentrem na escrita de código e na entrega de funcionalidades. A redução dos tempos de compilação também ajuda a garantir que os programadores recebem feedback sobre as alterações de código mais rapidamente. Os comentários mais rápidos permitem-lhes iterar e corrigir problemas mais rapidamente, o que suporta o modelo de desenvolvimento Ágil. Os tempos de compilação mais rápidos facilitam as compilações mais frequentes, permitindo que as equipas adotem práticas de desenvolvimento ágeis, como integração contínua e entrega contínua (CI/CD). Seguem-se algumas estratégias para reduzir os tempos de compilação:

  • Otimizar as configurações de compilação: reveja as definições de configuração da compilação e elimine os passos ou processos desnecessários que adicionam sobrecarga ao processo de compilação. A criação de pontos de verificação e a combinação de compilações parciais com compilações pré-criadas podem ajudar a reduzir os tempos de compilação e a melhorar a eficiência. Esta abordagem permite-lhe reutilizar componentes criados anteriormente e criar apenas as partes necessárias, o que leva a tempos de compilação mais rápidos e a um investimento de tempo reduzido.

  • Paralelizar tarefas de compilação: identifique tarefas que podem ser executadas em simultâneo e configure o sistema de compilação para executá-las em paralelo. Tire partido dos recursos de computação disponíveis.

  • Utilizar a colocação em cache: dependências de cache, artefactos de compilação intermédios e outros componentes reutilizáveis para evitar trabalhos redundantes durante as compilações subsequentes.

  • Utilizar compilações incrementais: para evitar uma recompilação desnecessária, implemente técnicas que permitam ao sistema de compilação reconstruir apenas as partes da implementação que foram alteradas desde a compilação anterior.

  • Distribuir o processo de compilação: se aplicável, distribua o processo de compilação por várias máquinas ou agentes de compilação para utilizar paralelismo e reduzir o tempo de compilação geral.

  • Otimizar a infraestrutura: certifique-se de que o ambiente de compilação tem recursos suficientes, como CPU, memória e E/S de disco, para processar a compilação.

Utilizar a simulação de produção

Ao simular componentes ou serviços, os programadores podem isolar o respetivo código para testes focados ao simular dependências. A simulação permite que os programadores criem cenários específicos e casos de limites difíceis ou impraticáveis de reprodução num ambiente de produção real. Pode acelerar os ciclos de teste, facilitar o trabalho paralelo e eliminar dependências de resolução de problemas. Seguem-se algumas abordagens para implementar a simulação de produção:

  • Arquiteturas de zombaria: utilize arquiteturas ou bibliotecas especializadas que lhe permitem criar objetos simulados, stubs ou falsificações para substituir dependências.

  • Injeção de dependência: crie a aplicação para utilizar a injeção de dependências, o que permite a substituição fácil de dependências reais por objetos simulados durante o teste ou a depuração.

  • Virtualização do serviço: utilize ferramentas ou técnicas de virtualização de serviços para simular o comportamento de serviços externos ou APIs. Fazê-lo permite aos programadores testar integrações sem aceder aos serviços reais.

  • Simulação orientada pela configuração: implemente uma abordagem condicionada pela configuração na qual o comportamento da aplicação pode ser modificado através de definições de configuração ou sinalizadores para ativar a simulação conforme necessário.

  • Simulação dinâmica e condicional: crie a aplicação para suportar a simulação dinâmica e condicional, o que permite aos programadores alternar entre componentes reais e simulados consoante condições ou cenários específicos.

Otimizar o ambiente de desenvolvimento

O objetivo é que os programadores obtenham feedback rápido sobre as alterações. Faça as alterações tecnológicas necessárias para melhorar a experiência de desenvolvimento.

Contentorização: considere contentorizar a carga de trabalho para ser executada localmente. Os contentores ajudam os programadores a replicar o ambiente de produção localmente e a testar as alterações rapidamente. Permitem uma iteração e depuração mais rápidas, o que leva a um processo de desenvolvimento mais eficiente. Os contentores também fornecem um ambiente consistente e isolado para executar a aplicação. Por fim, permitem o dimensionamento e a implementação fáceis da aplicação.

Estações de trabalho para programadores: uma estação de trabalho de programador ideal deve ter um ambiente de desenvolvimento integrado (IDE) adequado. Uma boa estação de trabalho para programadores aumenta a eficiência dos programadores, reduzindo o tempo e os recursos necessários para várias tarefas. Um bom IDE fornece a conclusão do código e o realce da sintaxe adaptado à linguagem de programação. Também deve suportar o controlo de versões, como o Git. Um IDE bem equipado permite aos programadores identificar e corrigir problemas rapidamente durante o desenvolvimento, o que reduz o tempo de depuração.

Ambientes de programador: os ambientes dos programadores não devem ser muito restritos. Os programadores devem ter as permissões necessárias para concluir tarefas sem restrições indevidas para que possam trabalhar de forma eficiente e eficaz.

Otimizar ambientes de pré-produção

Em geral, quanto mais próximos forem os ambientes de pré-produção, mais tempo poupará. Esta consistência aumentada também ajuda a minimizar o risco. Quanto mais perto estiverem os dois ambientes, melhor pode testar e validar a funcionalidade e o desempenho das suas versões antes de os implementar no ambiente de produção. Esta semelhança em ambientes ajuda-o a identificar e a resolver quaisquer problemas ou estrangulamentos desde o início, o que reduz o risco de problemas que ocorrem no ambiente de produção.

Tradeoff iconTradeoff: Tem de equilibrar o tempo de pessoal face aos custos dos recursos. Quanto mais próximo um ambiente estiver do ambiente de produção, mais custa.

Reutilizar componentes e bibliotecas

Componentes e bibliotecas reutilizáveis podem poupar tempo aos programadores. Em vez de escrever, testar e depurar código, os programadores podem reutilizar componentes e bibliotecas validados e desenvolver ou corrigir funcionalidades da aplicação mais rapidamente. Certifique-se de que fornece documentação para cada componente ou biblioteca. Armazene o código e a documentação num repositório central que tenha controlo de versões, como o GitHub.

Além disso, utilize software open source ou bibliotecas de fabricantes fidedignos que estejam disponíveis em gestores de pacotes, como o NuGet ou o Maven. Estes gestores de pacotes fornecem uma origem centralizada e fiável para aceder e gerir bibliotecas. A utilização de bibliotecas fidedignas dos gestores de pacotes pode aumentar ainda mais a produtividade e reduzir o tempo gasto no desenvolvimento e manutenção de código.

Remover dívida técnica

A eliminação da dívida técnica é essencial para manter uma base de código saudável e eficiente. Ao seguir normas específicas e implementar mecanismos como portas de qualidade, pode lidar eficazmente com a dívida técnica e melhorar a qualidade global do seu código. Eis como pode incorporar esta documentação de orientação na sua abordagem:

  • Atribuir tempo para resolver dívidas técnicas: dedique uma parte do tempo da sua equipa de desenvolvimento à resolução da dívida técnica. Um bom ponto de partida é atribuir cerca de 20% do tempo da equipa especificamente ao endividamento técnico. O tempo dedicado permite que os programadores se concentrem na refatorização, na limpeza do código e na melhoria da qualidade geral da base de código.

  • Capacitar a equipa de desenvolvimento: permita que a equipa de desenvolvimento possua a priorização da resolução da dívida técnica. A equipa de desenvolvimento está na melhor posição para identificar áreas da base de código que requerem atenção e compreender os efeitos da dívida técnica na funcionalidade da carga de trabalho. Incentive a comunicação aberta e a colaboração dentro da equipa para garantir que a dívida técnica seja resolvida de forma eficaz.

  • Priorizar: priorize os itens de dívida técnica com base nos respetivos efeitos na funcionalidade da carga de trabalho. Concentre-se em abordar os problemas que têm o efeito mais significativo no desempenho, na manutenção e na escalabilidade da carga de trabalho. Ao priorizar eficazmente, pode maximizar os efeitos dos seus esforços para remover a dívida técnica.

A remoção da dívida técnica é um processo em curso. Requer uma abordagem proativa e um esforço contínuo por parte da equipa de desenvolvimento. Ao definir e cumprir normas específicas na base de código e implementar mecanismos como portas de qualidade, pode efetivamente endereçar dívidas técnicas e criar uma base de código mais limpa e fácil de manter:

  • Definir padrões de codificação: estabeleça normas de codificação claras e específicas que definam a estrutura, o estilo e as melhores práticas pretendidas para o seu codebase. Estas normas devem abranger áreas como convenções de nomenclatura, formatação de código, documentação e processamento de erros. Ao cumprir estas normas, garante a consistência e a legibilidade em toda a base de código.

  • Implementar portas de qualidade: as portas de qualidade são mecanismos que impõem as normas de codificação definidas e detetar potenciais problemas no início do processo de desenvolvimento. Podem incluir revisões de código automatizadas, ferramentas de análise de código estático e pipelines de integração contínua. Ao integrar portas de qualidade no seu fluxo de trabalho de desenvolvimento, pode identificar e resolver problemas de qualidade do código antes de se tornarem dívidas técnicas.

Otimizar a colaboração pessoal

Otimizar a colaboração pessoal é um processo de melhoria da dinâmica da equipa, comunicação e partilha de conhecimentos. O objetivo é evitar mal-entendidos, esforços duplicados e tempo desperdiçado. Envolve dividir silos, rever normas desnecessárias, criar repositórios de conhecimento partilhados e investir em formação relevante. A colaboração eficaz reduz os erros repetidos e maximiza a experiência coletiva de uma equipa. Para otimizar a colaboração pessoal, considere as seguintes estratégias:

  • Eliminar silos: Os silos podem levar à falta de conhecimentos partilhados e à replicação desnecessária de tarefas. A colaboração multifuncional pode poupar tempo e melhorar os resultados. Derrube barreiras entre departamentos ou equipas para promover a cooperação entre departamentos. Promover reuniões multipartidárias, workshops e projetos conjuntos. Incentive canais de comunicação abertos entre equipas.

  • Otimizar padrões: padrões desnecessários podem levar a tempo e recursos desperdiçados sem contribuir para melhores resultados. Avalie, melhore ou elimine padrões ou protocolos que não acrescentam valor, mas que aumentam a carga de trabalho. Reveja periodicamente as normas e os protocolos. Obtenha feedback dos funcionários de nível base. Se um padrão não acrescentar valor, considere eliminá-lo ou revê-lo.

  • Criar um repositório de conhecimento partilhado: uma base de dados de conhecimento partilhada evita erros repetidos, ajuda na preparação e reduz o tempo despendido na pesquisa de informações. Desenvolva um local centralizado onde todos os membros possam aceder e contribuir para o conhecimento coletivo. Empregue ferramentas de gestão de conhecimento, atualize regularmente o repositório e incentive as contribuições dos membros da equipa.

  • Investir na formação: faça um investimento substancial na formação para os processos, ferramentas e projetos. Ao fazê-lo, garante que é cumprido um requisito de linha de base antes de as pessoas começarem a contribuir para o projeto. Certifique-se de que as equipas são preparadas com base nos padrões e processos estabelecidos para lhes permitir trabalhar de forma eficiente e eficaz dentro das diretrizes definidas. Os membros da equipa devem ser treinados com base nessas normas e processos para que não desperdicem esforço para identificá-los sozinhos.

Otimizar processos

Otimizar processos envolve refinar fluxos de trabalho para eliminar passos desnecessários, reduzir o esforço manual e simplificar as funções e a gestão de alterações. Esta melhoria garante que as tarefas são mais eficientes. Os processos simplificados reduzem o tempo e os recursos necessários para as tarefas. A redução de tempo leva a uma melhoria da produtividade e poupa dinheiro. Para otimizar os processos, considere estas recomendações:

  • Refinar a abordagem do ciclo de vida de desenvolvimento de software (SDLC): a adoção de um SDLC ideal pode ajudá-lo a alcançar uma alta qualidade com menos sobrecarga. Avalie o seu método SDLC atual e considere alternativas mais eficientes. Explore e adote metodologias como Scrum, Kanban ou Cascata. Reavalie periodicamente as estruturas escolhidas para uma melhor eficiência, reconhecendo que o SDLC é inerentemente colaborativo.

  • Otimizar por função: as funções definidas garantem responsabilidades e expectativas claras e uma maior eficiência. Compreenda e defina os requisitos de cada função, incluindo, por exemplo, programadores e arquitetos de soluções. Quando quiser expandir a equipa, deve saber o que cada função precisa em termos de hardware, licenças e acesso.

  • Simplificar a gestão da mudança: a recetividade positiva para alterar garante transições mais suaves e melhores resultados. Tornar o processo de implementação de alterações simples e aceite. Cultivar uma cultura de participação activa em vez de resistência. Promover a adoção da mudança através do coaching e da aprendizagem contínua. Adapte-se para mudar construtivamente.

Otimizar tarefas operacionais

Otimizar tarefas operacionais de cargas de trabalho é um processo para tornar as tarefas de trabalho mais rápidas e simples. O objetivo é simplificar as atividades para melhorar a eficiência e garantir a utilização mais eficaz dos recursos. Esta simplificação garante que as tarefas são concluídas com menos erros, distrações e atrasos. Conserva o tempo de pessoal, o que leva a uma tomada de decisões mais rápida, a uma redução das durações de resolução de problemas e a uma melhoria global da eficiência e da poupança de custos. Para otimizar tarefas operacionais, considere as seguintes estratégias.

Reduzir a proporção de ruído para sinal

Distinguir o sinal do ruído é crucial para a observabilidade porque permite que as equipas se concentrem nos aspetos mais críticos dos seus sistemas e aplicações. Filtrar dados irrelevantes pode ajudar as equipas a tomar decisões informadas, a resolver problemas e a otimizar a carga de trabalho mais rapidamente. Identificar e resolver problemas de forma mais eficiente e rápida conduz a uma redução dos custos com o pessoal.

Para diferenciar o sinal do ruído, tem de definir objetivos e métricas claros. Identifique os indicadores chave de desempenho (KPIs) e as métricas que são relevantes para a carga de trabalho. Estabeleça limiares ou intervalos para cada métrica para especificar o comportamento normal e o que deve ser sinalizado como uma anomalia. Utilize ferramentas de monitorização para recolher dados e controlar as métricas definidas em tempo real e identificar padrões que indiquem potenciais problemas ou áreas de melhoria.

Priorize as informações acionáveis. Concentre-se nas informações que apontam para degradaçãos na carga de trabalho e priorize-as para uma investigação ou ação mais aprofundada. Reveja e atualize regularmente a sua estratégia de monitorização com base nos comentários.

Utilizar a depuração de alta fidelidade

A depuração de alta fidelidade refere-se à capacidade de diagnosticar e corrigir com precisão problemas em aplicações de software. Irá obter informações detalhadas sobre o comportamento e o estado da aplicação durante o runtime. A depuração de alta fidelidade é crucial para um desenvolvimento e resolução de problemas de software eficazes. Com a depuração de alta fidelidade, os programadores podem reproduzir e analisar problemas com maior precisão, o que reduz o tempo e o esforço necessários para corrigir erros. Uma compreensão do comportamento da aplicação permite aos programadores tomar decisões informadas mais rapidamente para melhorar a qualidade do código.

  • Utilizar uma ferramenta de depuração: utilize um depurador rico em funcionalidades que fornece informações abrangentes sobre o fluxo de execução, variáveis e estado de memória da aplicação.

  • Ativar o registo e o rastreio detalhados: instrumente o código com instruções de registo e rastreio para capturar informações relevantes durante o runtime. Fazê-lo ajuda-o a diagnosticar problemas.

  • Analisar mensagens de erro e rastreios de pilha: examine cuidadosamente as mensagens de erro e os rastreios de pilha para compreender o contexto e a sequência de eventos que levam a um problema.

Melhorar o suporte técnico

Melhore a eficiência e eficácia das operações de suporte técnico. Reduzir problemas recorrentes poupa tempo e melhora a satisfação do utilizador. Identifique problemas de suporte periódicos, integre equipas de engenharia e suporte através da sombra de suporte e adote processos de modelos de implementação clássica de TI para reduzir a carga de suporte geral.

Saiba mais sobre incidentes

Analisar incidentes pode impedir a periodicidade e melhorar os tempos de reação. Utilize incidentes passados como oportunidades de aprendizagem para melhorias futuras. Realize retrospetivas para analisar incidentes, identificar ações e protocolos de contacto melhorados e melhorar a observabilidade do sistema através de registos e métricas abrangentes.

Implementar uma governação robusta

A uniformização reduz os erros e retrabalhar para garantir uma qualidade consistente e otimização de custos. Reforçar a conformidade e a uniformização na sua organização. Automatize as verificações de conformidade e advogue soluções, arquiteturas e esquemas padronizados. Para simplificar a tomada de decisões, minimize as escolhas que não estão alinhadas com restrições organizacionais ou SLAs.

Otimizar as competências de pessoal

Melhores competências levam a uma maior eficiência e menos erros. Invista no desenvolvimento e melhoria das competências da sua equipa. Para otimizar as competências de pessoal, eis algumas recomendações a considerar:

  • Upskilling: certifique-se de que os membros da equipa têm competências essenciais de otimização e monitorização de custos. Forneça ambientes de sandbox para aprendizagem prática e desenvolvimento de competências. Incentive os membros da equipa a obter certificações e promover a sombra com colegas experientes.

  • Ferramentas: a proficiência com ferramentas é uma competência fundamental para otimizar tarefas e obter informações valiosas para a gestão de custos. Certifique-se de que o pessoal é proficiente com ferramentas essenciais e pode adaptar-se às novas. Priorize a familiaridade com as principais ferramentas, especialmente as ferramentas relacionadas com a monitorização. Prepare o pessoal para extrair informações significativas de dados em várias camadas do sistema, destacando a ligação entre a monitorização eficaz e a gestão de custos.

  • Conhecimentos alinhados: corresponda os colaboradores a tarefas com base nas suas competências e conhecimentos. Utilize os seus pontos fortes e aloque tarefas em conformidade para maximizar a eficiência.

Facilitação do Azure

Definir destinos de otimização: o Azure DevOps fornece um conjunto de ferramentas para definir objetivos, selecionar métricas e definir destinos. Oferece funcionalidades como controlo de itens de trabalho, dashboards e capacidades de relatórios. Também fornece gestão de código fonte, integração contínua, entrega contínua e funcionalidades de gestão de projetos. Ao utilizar o Azure DevOps, as equipas podem automatizar processos, colaborar eficazmente e reduzir o esforço manual.

Otimizar o tempo de desenvolvimento: o Azure fornece várias ferramentas e funcionalidades para otimizar o tempo do programador, incluindo:

  • Ambientes de desenvolvimento: o Azure oferece ambientes de desenvolvimento em várias formas, como o Microsoft Dev Box, que fornece VMs do Windows e linux nas quais as ferramentas de programador estão instaladas. A Microsoft também fornece VMs do Docker para desenvolvimento em contentores e Azure Container Registry, o que permite compilações do Docker.

  • Integração com o Azure DevOps: o Azure integra-se com o Azure DevOps para melhorar a produtividade e simplificar os processos de desenvolvimento.

  • Integração de IDE: o Azure fornece integração de IDE com ferramentas de desenvolvimento populares, como o Visual Studio e o Visual Studio Code. Esta integração permite aos programadores trabalhar de forma totalmente integrada com os serviços do Azure.

  • SDKs e bibliotecas padrão: o Azure fornece SDKs e bibliotecas padrão para todos os serviços do Azure. Estes SDKs e bibliotecas permitem aos programadores reutilizar código e reduzir o tempo necessário para integrar e implementar serviços do Azure.

  • Modelos de início rápido e exemplos: o Azure fornece modelos de início rápido e exemplos que podem acelerar o processo de desenvolvimento.

  • Gestores de pacotes e bibliotecas padrão: o Azure suporta gestores de pacotes e fornece bibliotecas padrão, como o gestor de pacotes NuGet. Podem simplificar o desenvolvimento e ajudar os programadores a reduzir o tempo que gastam na implementação de funcionalidades comuns.

  • Suporte open source: o Azure tem um ecossistema forte que suporta tecnologias open source, para que os programadores possam utilizar ferramentas e arquiteturas open source existentes para otimizar o seu tempo.

Estas funcionalidades e ferramentas fornecidas pelo Azure ajudam os programadores a poupar tempo e a aumentar a produtividade nos seus fluxos de trabalho de desenvolvimento.

Otimizar tarefas operacionais: o Azure suporta capacidades de infraestrutura como código (IaC), que lhe permitem definir e gerir a sua infraestrutura com código. Fazê-lo ajuda a reduzir a complexidade e a melhorar a adaptabilidade dos seus sistemas.

O Azure Monitor é um serviço de monitorização abrangente que fornece visibilidade sobre o desempenho e o estado de funcionamento das aplicações e da infraestrutura no Azure. Pode utilizá-la para recolher telemetria, configurar alertas e obter informações em tempo real. Ao utilizar o Azure Monitor, pode identificar e resolver proativamente problemas. Permite-lhe reduzir o tempo que gasta na resolução de problemas.

Automatização do Azure fornece uma forma de automatizar tarefas manuais e repetitivas no Azure. Pode utilizá-lo para criar e gerir runbooks, que são conjuntos de instruções para realizar tarefas específicas. Ao automatizar tarefas de rotina, pode poupar tempo e libertar pessoal para se concentrar em atividades mais críticas.

Otimizar as competências de pessoal: a Microsoft fornece um conjunto abrangente de materiais e atividades de formação . A formação está disponível para programadores, arquitetos e intervenientes empresariais.

Lista de verificação otimização de custos

Veja o conjunto completo de recomendações.