Editar

Share via


Medir a sustentabilidade da aplicação do Azure com a classificação SCI

Azure Monitor
Azure Automation
Azure Logic Apps
Azure Table Storage
Power BI

Esta carga de trabalho de exemplo ajuda-o a criar um modelo de sustentabilidade com base em proxies disponíveis. Este modelo permite a classificação da eficiência de carbono de uma aplicação. Esta pontuação de Intensidade de Carbono de Software (SCI) fornece uma linha de base para medir as alterações na saída de carbono de uma aplicação.

Nota

Outros gases com efeito de estufa para além do dióxido de carbono têm efeitos diferentes no ambiente. Por exemplo, uma tonelada de metano tem o mesmo efeito de aquecimento que 80 toneladas de dióxido de carbono. Por convenção, este artigo normaliza tudo para a medida equivalente de CO2 . As referências ao carbono significam sempre o equivalente a CO2.

Arquitetura

Diagrama de criação de um modelo de sustentabilidade com base em proxies disponíveis que classificam o impacto de carbono de uma aplicação.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Configure as origens de dados da aplicação a utilizar para calcular a classificação SCI.
  2. Guarde os dados no Armazenamento de Tabelas do Azure numa conta de Armazenamento do Azure.
  3. Utilize processadores de eventos para calcular a classificação SCI. Os processadores de eventos podem incluir Funções do Azure, Azure Logic Apps e Armazenamento de Blobs do Azure. A classificação é a quantidade de carbono emitida em gramas por unidade, em que a unidade se refere ao fator de dimensionamento da aplicação ou a uma aproximação do mesmo com proxies.
  4. Utilize Funções do Azure, Logic Apps e runbooks de automatização para acionar a formatação da procura na aplicação ou para iniciar o modo ecológico predefinido da aplicação.
  5. Utilize o Power BI para relatórios e visualização da classificação ao longo do tempo.

Componentes

  • Dashboard de impacto das emissões para o Azure ajuda a medir as emissões baseadas na cloud e o potencial de poupança de carbono. Monitoriza as emissões directas e indiretas de gases com efeito de estufa relacionadas com a utilização da cloud.
  • O Application Insights é uma extensão do Azure Monitor que fornece monitorização do desempenho da aplicação (APM). O Application Insights ajuda-o a compreender como as pessoas utilizam a sua aplicação. Utilize este conhecimento para melhorar a eficiência das aplicações.
  • O Armazenamento de Tabelas do Azure é um serviço que armazena dados estruturados não relacionais, também conhecidos como dados NoSQL estruturados. Fornece um arquivo de chaves/atributos com uma estrutura sem esquema. Para muitos tipos de aplicações, o acesso aos dados do Armazenamento de Tabelas é rápido e rentável. Normalmente, o Armazenamento de Tabelas custa menos do que o SQL tradicional para volumes de dados semelhantes.
  • O Azure Logic Apps é uma plataforma onde pode criar e executar fluxos de trabalho automatizados com pouco ou nenhum código. Ao utilizar o estruturador visual e selecionar a partir de operações pré-criadas, crie um fluxo de trabalho que integre e faça a gestão de origens de proxy, armazenamento de dados e sistemas de cálculo de eficiência.
  • Funções do Azure é uma solução sem servidor que lhe permite escrever menos código, manter menos infraestrutura e poupar nos custos. A infraestrutura de cloud fornece todos os recursos atualizados necessários para manter as suas aplicações em execução.
  • O Power BI pode transformar dados em análises e relatórios que fornecem informações em tempo real. Quer os seus dados sejam baseados na cloud ou no local, o Azure e o Power BI têm a integração e conectividade para dar vida às visualizações e análises.

Alternativas

Pode substituir os serviços do Azure utilizados neste documento por serviços semelhantes. Para fazer o cálculo com o efeito mínimo na sua infraestrutura e para aumentar a densidade e a utilização dos recursos existentes, utilize os serviços ou ferramentas do Azure que já estão implementados no seu ambiente:

  • Em vez de dashboards do Power BI, utilize livros do Azure Monitor ou serviços do Azure Managed Grafana .
  • Para o Application Insights, substitua outra ferramenta do APM, como Elasticsearch ou Open APM.
  • Pode guardar tabelas de dados com outro sistema de registos, como MySQL ou MariaDB.
  • Se tiver uma Funções do Azure em execução ou aplicações do Logic Apps, considere iniciar o cálculo regularmente a partir de implementações existentes.
  • Se os recursos da aplicação forem distribuídos por vários grupos de recursos, utilize etiquetas para correlacionar os dados de custos e calcular a quantidade de carbono que a aplicação emite.

Detalhes do cenário

Estas secções descrevem os detalhes necessários para calcular uma linha de base para medir as alterações na saída de carbono.

Origens de dados

Tente criar uma equação de proxy com poucas variáveis. Escolha métricas de proxy que representem o comportamento e o desempenho da aplicação. Este exemplo utiliza as seguintes métricas:

  • A emissão de carbono da infraestrutura do Dashboard de impacto das emissões do Azure
  • O custo da infraestrutura, medido em gastos diários ou mensais por grupo de recursos, do Microsoft Cost Management
  • Métricas de desempenho e dimensionamento da aplicação a partir do Application Insights:
    • O número de utilizadores, chamadas à API ou pedidos de servidor que estão ligados à aplicação
    • Utilização da CPU
    • Utilização de memória
    • Tempo de resposta para envio ou receção

Para obter um tutorial sobre como configurar o Application Insights para as métricas, veja Application Insights SDK for ASP.NET Core applications (SDK do Application Insights para aplicações ASP.NET Core).

Pode adicionar mais variáveis à equação, como:

  • infraestruturas e serviços edge emissões de carbono
  • Hora em que os utilizadores se ligam, porque a produção e a procura de eletricidade variam com o tempo
  • Qualquer outra métrica peculiar da aplicação que possa explicar como o seu desempenho muda ao longo do tempo

Criar esta equação numa classificação que também pode refletir o número de utilizadores representa a aproximação mais próxima de uma classificação de carbono. Este valor é a referência para alterações e melhorias na sustentabilidade da aplicação.

Outra consideração sobre o desempenho da aplicação é o custo. Na maioria dos casos, existe uma correlação direta da eficiência de desempenho para o custo e a poupança de carbono.

Descrição Conclusão
O desempenho é maior, mas os custos são os mesmos A aplicação está otimizada e reduz as emissões de carbono
Os custos são mais baixos, mas o desempenho é o mesmo A aplicação está otimizada e reduz as emissões de carbono
O desempenho e os custos subiram A aplicação não está otimizada e aumentou as emissões de carbono
Os custos subiram, mas o desempenho é menor ou igual A aplicação não está otimizada e aumentou as emissões de carbono, ou o custo energético é mais elevado, o que também causa emissões de carbono mais elevadas

Esta correlação entre a classificação SCI da aplicação, o custo e o desempenho é exclusiva para cada aplicação. Depende de muitos fatores. A recolha de dados para estas três variáveis permite-lhe criar um algoritmo para prever as respetivas variações. O SCI ajuda-o a tomar decisões informadas sobre a arquitetura e os padrões da aplicação.

Cálculos

Neste cenário, processe os dados recolhidos do Dashboard de impacto das emissões como ponto de partida. O cálculo da linha de base SCI é o seguinte:

SCI = C * R

Os componentes são:

  • SCI. Resultado de Intensidade de Carbono do Software.

  • C. As emissões de carbono para a aplicação.

    Este valor depende da forma como a aplicação é implementada no Azure. Por exemplo, se todos os recursos da aplicação estiverem num único grupo de recursos, as emissões de carbono para este grupo de recursos seriam a C variável.

    Nota

    Este cenário não considera outras origens de emissões para a aplicação que dependem da arquitetura e do comportamento do edge ou do utilizador. Estas considerações são o próximo passo quando utilizar proxies de carbono.

  • R. O fator de dimensionamento da aplicação.

    Este valor pode ser o número de utilizadores simultâneos médios, para o período de tempo considerado, pedidos de API ou pedidos Web. O fator de dimensionamento permite que a classificação seja responsável pelo efeito geral da utilização da aplicação, em vez de apenas a respetiva pegada de implementação.

A janela de tempo é outro aspeto importante deste cálculo. As emissões de carbono variam para qualquer dispositivo ou sistema que consuma energia, uma vez que a rede energética pode ter fontes de energia renováveis ou alternativas em alguns momentos, mas não noutras. Por exemplo, a energia solar é variável. Para ser o mais preciso possível, comece com o período de tempo mais curto possível, por exemplo, um cálculo diário ou horário.

O Dashboard de impacto das emissões fornece informações mensais sobre carbono com base nos serviços numa subscrição. Para obter este número para um único grupo de recursos, utilize a seguinte equação:

Carbon (res-group) = (Carbon(subscription) * Cost(res-group)) / Cost(subscription)

Armazene as informações mensais de carbono do grupo de recursos juntamente com os restantes dados, conforme explicado na secção seguinte.

Armazenamento de dados

Armazene as informações de proxy de carbono e carbono recolhidas na secção anterior. Exporte as informações para dashboards ou relatórios, para que possa visualizar a classificação de carbono ao longo do tempo e fazer escolhas informadas. Por motivos de sustentabilidade e em conformidade com as melhores práticas do Well Architected Framework, utilize o sistema mínimo viável de registos, por exemplo, o Armazenamento de Tabelas do Azure.

As tabelas que descrevem os dados recolhidos utilizam dados como o seguinte exemplo:

Dados de relatórios:

  • Date
  • Nome do grupo de recursos
  • Emissões de carbono do dashboard C
  • Custo

Dados do APM:

  • CPU
  • Memória
  • Taxa de tempo de resposta (enviar/receber) Fator de dimensionamento R

Cálculos: SCI

Para obter mais informações, consulte:

Correlações de dados

Os dados sobre o carbono, o desempenho e o custo da aplicação permitem-lhe criar um algoritmo de correlação específico da sua aplicação. Estas informações fornecem orientações ao planear o custo, o desempenho e a otimização do carbono.

Nota

As equações com custos que descontam, como reservas do Azure ou planos de poupança de custos, criam discrepâncias no algoritmo de correlação.

Para obter mais informações sobre a escolha do algoritmo, veja Como selecionar algoritmos para o Azure Machine Learning.

Apresentação de dados

Pode apresentar dados e cálculos de várias formas, como através de um Livro personalizado do Azure Monitor ou de um dashboard simples do Power BI. Para obter mais informações, veja Criar dashboards de KPI personalizados com o Application Insights e Criar um dashboard do Power BI a partir de um relatório.

Acionadores de ação de pontuação SCI

Depois de classificar o efeito de carbono de uma aplicação com proxies, o próximo passo é definir as ações que as condições desfavoráveis na classificação de carbono devem acionar. Alguns exemplos destas condições são:

  • A produção e a procura de energia são elevadas e a energia é cara para produzir
  • A eletricidade não está disponível devido a desastre natural ou conflito geopolítico
  • A infraestrutura edge fica indisponível devido a problemas de consumo excessivo de recursos ou cadeias de fornecimento

Depois de identificar os pontos de falha que podem afetar a aplicação, decida que ações tomar para tornar a aplicação resiliente a picos de carbono.

Considere criar uma versão de modo ecológico da aplicação. A versão do modo ecológico é uma versão mais simples, mais pequena, mais barata e mais verde da aplicação completa. A aplicação reverte para estas funcionalidades mínimas se existirem picos de emissões de carbono.

Considere ajudar os utilizadores finais a escolher a versão do modo ecológico. Forneça um botão verde para as pessoas declararem que estão bem com uma interface mais magra, menos gráficos e funcionalidades limitadas em troca da redução das emissões de carbono. Envolver os utilizadores proporciona uma oportunidade para impulsionar a mudança cultural juntamente com a mudança técnica:

  • Especifique o efeito desta opção: ao utilizar a versão verde, está a poupar <X> quantidade de carbono ou a elevar a nossa classificação de carbono para <Y>.
  • Saiba mais sobre o comportamento do utilizador e modifique a versão do modo ecológico para refletir as suas escolhas. Por exemplo, se alguém utilizar apenas 10% das funcionalidades da aplicação, poderá ser um utilizador ideal da versão verde.
  • Idealmente, ao longo do tempo, a versão completa é otimizada para emissões e as versões acabam por convergir.

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser utilizados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, veja Microsoft Azure Well-Architected Framework.

Segurança

A segurança fornece garantias contra ataques deliberados e abuso dos seus valiosos dados e sistemas. Para obter mais informações, veja Descrição geral do pilar de segurança.

Para obter mais segurança, utilize os pontos finais de serviço do Azure Rede Virtual para proteger os recursos de serviço do Azure apenas para a sua rede virtual. Esta abordagem fecha o acesso público à Internet a esses recursos e permite tráfego apenas a partir da sua rede virtual.

Com esta abordagem, vai criar uma rede virtual no Azure e, em seguida, criar pontos finais de serviço privado para os serviços do Azure. Em seguida, esses serviços são restringidos ao tráfego dessa rede virtual. Também pode aceder aos serviços a partir da sua rede no local através de um gateway.

Nota

Para mover dados do local para o Armazenamento do Azure, tem de permitir endereços IP públicos a partir dos seus computadores no local ou utilizar o Azure ExpressRoute. Para obter detalhes, veja Implementar serviços dedicados do Azure em redes virtuais.

Para obter orientações gerais sobre a conceção de soluções seguras, veja a documentação de segurança do Azure.

Otimização de custos

A otimização de custos consiste em analisar formas de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, veja Descrição geral do pilar de otimização de custos.

Os relatórios Dashboard de impacto das emissões e do Azure Cost Management são gratuitos. Este exemplo é intencionalmente mínimo para poupar nos custos e nas emissões de carbono. Pode implementar esta arquitetura com vários serviços alternativos do Azure.

Utilize qualquer serviço equivalente que já tenha na implementação da aplicação. Os seguintes recursos fornecem informações sobre os preços dos componentes:

Eficiência de desempenho

Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, veja Descrição geral do pilar Eficiência do desempenho.

O principal objetivo desta arquitetura é fornecer uma classificação de sustentabilidade para as suas aplicações com um efeito mínimo no custo e no próprio carbono. A maioria dos componentes são plataforma como serviço (PaaS) e serviços do Azure sem servidor que podem ser dimensionados de forma independente com base na utilização e no tráfego.

O dashboard e a interface de armazenamento neste exemplo não são adequados para utilização e consulta intensivas. Se planear fornecer esta solução a muitos utilizadores, considere estas alternativas:

  • Desassociar os dados extraídos ao transformá-los e armazená-los num sistema de registo diferente
  • Mudar o Armazenamento de Tabelas do Azure para uma alternativa de estrutura de dados mais dimensionável, como o Azure Cosmos DB

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuintes.

Autores principais:

Outro contribuidor:

Para ver perfis do LinkedIn não públicos, inicie sessão no LinkedIn.

Passos seguintes

Este trabalho está alinhado com os princípios e metodologia da Green Software Foundation.

O próximo passo para criar uma aplicação mais verde é incorporar o SDK com suporte para carbono na sua aplicação. Pode automatizar os acionadores em tempo real assim que cumprir condições de carbono específicas. Para obter mais informações, veja Green Software Foundation Carbon Aware SDK (SDK com Suporte para Carbono da Green Software Foundation).

Para obter orientações sobre a carga de trabalho da cloud de sustentabilidade no Well Architected Framework, veja a documentação da carga de trabalho Sustentabilidade.

Para obter mais informações sobre sustentabilidade, veja estes artigos: