Mierzenie zrównoważonego rozwoju aplikacji platformy Azure przy użyciu wskaźnika SCI

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

To przykładowe obciążenie ułatwia tworzenie modelu zrównoważonego rozwoju na podstawie dostępnych serwerów proxy. Ten model umożliwia ocenianie wydajności emisji dwutlenku węgla aplikacji. Ten wskaźnik wskaźnika emisji dwutlenku węgla oprogramowania (SCI) stanowi punkt odniesienia do mierzenia zmian w produkcji dwutlenku węgla w aplikacji.

Uwaga

Inne gazy cieplarniane oprócz dwutlenku węgla mają różne skutki dla środowiska. Na przykład jedna tona metanu ma taki sam efekt ogrzewania, jak 80 ton dwutlenku węgla. Zgodnie z konwencją ten artykuł normalizuje wszystko do miary równoważnej CO2. Odniesienia do węgla zawsze oznaczają równoważnik CO2.

Architektura

Diagram przedstawiający tworzenie modelu zrównoważonego rozwoju na podstawie dostępnych serwerów proxy, które oceniają wpływ emisji dwutlenku węgla na aplikację.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Skonfiguruj źródła danych aplikacji, aby użyć ich do obliczenia wyniku SCI.
  2. Zapisz dane w usłudze Azure Table Storage na koncie usługi Azure Storage.
  3. Użyj procedur obsługi zdarzeń, aby obliczyć wynik SCI. Programy obsługi zdarzeń mogą obejmować usługi Azure Functions, Azure Logic Apps i Azure Blob Storage. Wynik jest ilością węgla emitowanego w gramach na jednostkę, gdzie jednostka odnosi się do współczynnika skalowania aplikacji lub przybliżenia go przy użyciu serwerów proxy.
  4. Użyj elementów Runbook usługi Azure Functions, Logic Apps i automatyzacji, aby wyzwolić kształtowanie zapotrzebowania na aplikację lub zainicjować wstępnie zdefiniowany tryb ekologiczny aplikacji.
  5. Usługa Power BI umożliwia korzystanie z raportów i wizualizacji wyniku w czasie.

Składniki

  • Pulpit nawigacyjny wpływu na emisje dla platformy Azure pomaga zmierzyć potencjał emisji opartych na chmurze i oszczędności emisji dwutlenku węgla. Śledzi bezpośrednie i pośrednie emisje gazów cieplarnianych związane z użyciem chmury.
  • Szczegółowe informacje aplikacji to rozszerzenie usługi Azure Monitor, które zapewnia zarządzanie wydajnością aplikacji (APM). Szczegółowe informacje aplikacji pomaga zrozumieć, jak użytkownicy korzystają z aplikacji. Użyj tej wiedzy, aby zwiększyć wydajność aplikacji.
  • Azure Table Storage to usługa, która przechowuje nierelacyjne dane ustrukturyzowane, znane również jako dane ustrukturyzowane NoSQL. Zapewnia magazyn kluczy/atrybutów z projektem bez schematu. W przypadku wielu typów aplikacji dostęp do danych usługi Table Storage jest szybki i ekonomiczny. Usługa Table Storage zwykle kosztuje mniej niż tradycyjny program SQL dla podobnych ilości danych.
  • Azure Logic Apps to platforma, na której można tworzyć i uruchamiać zautomatyzowane przepływy pracy bez kodu. Korzystając z projektanta wizualnego i wybierając z wstępnie utworzonych operacji, utwórz przepływ pracy, który integruje źródła serwerów proxy, magazyn danych i systemy obliczeń wydajności oraz zarządza nimi.
  • Usługa Azure Functions to rozwiązanie bezserwerowe, które umożliwia pisanie mniejszej ilości kodu, utrzymywanie mniejszej infrastruktury i oszczędność kosztów. Infrastruktura chmury udostępnia wszystkie aktualne zasoby potrzebne do zapewnienia działania aplikacji.
  • Usługa Power BI może przekształcić dane w analizy i raporty, które zapewniają szczegółowe informacje w czasie rzeczywistym. Bez względu na to, czy dane są oparte na chmurze, czy lokalnie, platforma Azure i usługa Power BI mają integrację i łączność, aby zapewnić obsługę wizualizacji i analiz.

Alternatywy

Usługi platformy Azure używane w tym dokumencie można zastąpić podobnymi usługami. Aby wykonać obliczenia z minimalnym wpływem na infrastrukturę i zwiększyć gęstość i wykorzystanie istniejących zasobów, użyj usług platformy Azure lub narzędzi, które zostały już wdrożone w danym środowisku:

  • Zamiast pulpitów nawigacyjnych usługi Power BI użyj skoroszytów usługi Azure Monitor lub usług Azure Managed Grafana .
  • W polu Application Szczegółowe informacje zastąp inne narzędzie APM, takie jak Elasticsearch lub Open APM.
  • Tabele danych można zapisywać przy użyciu innego systemu rekordów, takiego jak MySQL lub MariaDB.
  • Jeśli masz uruchomione aplikacje usługi Azure Functions lub Logic Apps, rozważ regularne uruchamianie obliczeń z istniejących wdrożeń.
  • Jeśli zasoby aplikacji są dystrybuowane w wielu grupach zasobów, użyj tagów, aby skorelować dane kosztów i obliczyć ilość węgla emitowanego przez aplikację.

Szczegóły scenariusza

W tych sekcjach opisano szczegóły wymagane do obliczenia punktu odniesienia do pomiaru zmian w produkcji dwutlenku węgla.

Źródła danych

Spróbuj utworzyć równanie serwera proxy, które ma kilka zmiennych. Wybierz metryki serwera proxy reprezentujące zachowanie i wydajność aplikacji. W tym przykładzie użyto następujących metryk:

  • Emisja dwutlenku węgla infrastruktury z Pulpit nawigacyjny wpływu na emisje dla platformy Azure
  • Koszt infrastruktury mierzony w dziennych lub miesięcznych wydatkach według grupy zasobów z usługi Microsoft Cost Management
  • Metryki wydajności i skalowania aplikacji z Szczegółowe informacje aplikacji:
    • Liczba użytkowników, wywołań interfejsu API lub żądań serwera połączonych z aplikacją
    • Użycie procesora CPU
    • Użycie pamięci
    • Czas odpowiedzi dla wysyłania lub odbierania

Aby zapoznać się z samouczkiem dotyczącym konfigurowania Szczegółowe informacje aplikacji dla metryk, zobacz Application Szczegółowe informacje SDK for ASP.NET Core applications (Zestaw SDK usługi Application Szczegółowe informacje dla aplikacji platformy ASP.NET Core).

Do równania można dodać więcej zmiennych, takich jak:

  • Emisje emisji dwutlenku węgla w infrastrukturze i usługach brzegowych
  • Czas połączenia użytkowników, ponieważ produkcja i zapotrzebowanie na energię elektryczną różnią się w zależności od czasu
  • Każda inna osobliwa metryka aplikacji, która może wyjaśnić, jak zmienia się jego wydajność w czasie

Utworzenie tego równania w wynik, który może również odzwierciedlać liczbę użytkowników reprezentujących najbliższe przybliżenie wyniku emisji dwutlenku węgla. Ta wartość jest punktem odniesienia dla zmian i ulepszeń zrównoważonego rozwoju aplikacji.

Kolejną kwestią dotyczącą wydajności aplikacji jest koszt. W większości przypadków istnieje bezpośrednia korelacja wydajności w celu obniżenia kosztów i oszczędności emisji dwutlenku węgla.

opis Podsumowanie
Wydajność jest wyższa, ale koszty są takie same Aplikacja jest zoptymalizowana i obniżona emisja dwutlenku węgla
Koszty są niższe, ale wydajność jest taka sama Aplikacja jest zoptymalizowana i obniżona emisja dwutlenku węgla
Wydajność i koszty są w górę Aplikacja nie jest zoptymalizowana i zwiększona emisja dwutlenku węgla
Koszty są w górę, ale wydajność jest niższa lub równa Aplikacja nie jest zoptymalizowana i zwiększona emisja dwutlenku węgla lub koszt energii jest wyższy, co powoduje również wyższe emisje dwutlenku węgla

Ta korelacja między oceną SCI aplikacji, kosztem i wydajnością jest unikatowa dla każdej aplikacji. Zależy to od wielu czynników. Zbieranie danych dla tych trzech zmiennych umożliwia utworzenie algorytmu do prognozowania ich odmian. Interfejs SCI ułatwia podejmowanie świadomych decyzji dotyczących architektury i wzorców aplikacji.

Obliczenia

W tym scenariuszu przetwarzaj dane zebrane z Pulpit nawigacyjny wpływu na emisje jako punkt początkowy. Obliczenie punktu odniesienia SCI jest następujące:

SCI = C * R

Składniki to:

  • SCI. Wynik wskaźnika emisji dwutlenku węgla oprogramowania.

  • C. Emisje dwutlenku węgla dla aplikacji.

    Ta wartość zależy od sposobu wdrażania aplikacji na platformie Azure. Jeśli na przykład wszystkie zasoby aplikacji znajdują się w jednej grupie zasobów, emisje dwutlenku węgla dla tej grupy zasobów będą zmienną C .

    Uwaga

    Ten scenariusz nie uwzględnia innych źródeł emisji dla aplikacji, które zależą od architektury i zachowania brzegowego lub użytkownika. Te zagadnienia są następnym krokiem podczas korzystania z serwerów proxy węgla.

  • R. Współczynnik skalowania aplikacji.

    Ta wartość może być liczbą średniego współbieżnego użytkownika, dla przemyślanego przedziału czasu, żądań interfejsu API lub żądań internetowych. Współczynnik skalowania pozwala ocenić ogólny wpływ użycia aplikacji, a nie tylko jego ślad wdrożenia.

Przedział czasu jest kolejnym ważnym aspektem tego obliczenia. Emisje dwutlenku węgla różnią się w przypadku dowolnego urządzenia lub systemu zużywanego przez energię, ponieważ sieć energetyczna może mieć odnawialne lub alternatywne źródła energii w niektórych momentach, ale nie w innych. Na przykład energia słoneczna jest zmienna. Aby być tak precyzyjne, jak to możliwe, zacznij od najkrótszego możliwego przedziału czasu, na przykład obliczenia dzienne lub godzinowe.

Pulpit nawigacyjny wpływu na emisje udostępnia miesięczne informacje o emisji dwutlenku węgla na podstawie usług w ramach subskrypcji. Aby uzyskać tę liczbę dla pojedynczej grupy zasobów, użyj następującego równania:

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

Przechowuj miesięczne informacje o emisji dwutlenku węgla dla grupy zasobów wraz z resztą danych, jak wyjaśniono w poniższej sekcji.

Magazyn danych

Przechowuj informacje o węglu i serwerze proxy emisji dwutlenku węgla zebrane w poprzedniej sekcji. Wyeksportuj informacje do pulpitów nawigacyjnych lub raportów, aby zwizualizować wskaźnik emisji dwutlenku węgla w czasie i dokonać świadomych wyborów. Ze względu na zrównoważony rozwój i zgodnie z najlepszymi rozwiązaniami dobrze zaprojektowanej struktury należy użyć minimalnej opłacalnej systemu rekordów, na przykład usługi Azure Table Storage.

Tabele, które opisują zebrane dane, używają danych, takich jak w poniższym przykładzie:

Dane z raportów:

  • Data
  • Nazwa grupy zasobów
  • Emisje dwutlenku węgla z pulpitu nawigacyjnego C
  • Koszt

Dane z APM:

  • Procesor CPU
  • Memory (Pamięć)
  • Współczynnik czasu odpowiedzi (wysyłanie/odbieranie) Współczynnik skalowania R

Obliczenia: SCI

Aby uzyskać więcej informacji, zobacz:

Korelacje danych

Dane dotyczące emisji dwutlenku węgla, wydajności i kosztów aplikacji umożliwiają utworzenie algorytmu korelacji specyficznego dla aplikacji. Te informacje zawierają wskazówki dotyczące planowania kosztów, wydajności i optymalizacji emisji dwutlenku węgla.

Uwaga

Równania z kosztami, które rabaty, takie jak rezerwacje platformy Azure lub plany oszczędności kosztów, tworzą rozbieżności w algorytmie korelacji.

Aby uzyskać więcej informacji na temat wyboru algorytmu, zobacz How to select algorithms for Azure Machine Edukacja (Jak wybrać algorytmy dla usługi Azure Machine Edukacja).

Wyświetlanie danych

Możesz wyświetlać dane i obliczenia na kilka sposobów, na przykład za pomocą dostosowanego skoroszytu usługi Azure Monitor lub prostego pulpitu nawigacyjnego usługi Power BI. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych pulpitów nawigacyjnych kluczowych wskaźników wydajności (KPI) przy użyciu Szczegółowe informacje aplikacji i Tworzenie pulpitu nawigacyjnego usługi Power BI na podstawie raportu.

Wyzwalacze akcji oceny SCI

Po dokonaniu oceny wpływu emisji dwutlenku węgla aplikacji przy użyciu serwerów proxy następnym krokiem jest zdefiniowanie działań, które powinny powodować niekorzystne warunki w wyniku emisji dwutlenku węgla. Oto kilka przykładów tych warunków:

  • Produkcja energii i zapotrzebowanie są wysokie, a energia jest kosztowna do produkcji
  • Energia elektryczna nie jest dostępna z powodu klęsk żywiołowych lub konfliktu geopolitycznego
  • Infrastruktura brzegowa staje się niedostępna z powodu problemów z nadmiernym zużyciem zasobów lub łańcuchem dostaw

Po zidentyfikowaniu punktów awarii, które mogą mieć wpływ na aplikację, zdecyduj, jakie działania należy podjąć, aby aplikacja mogła być odporna na wzrost emisji dwutlenku węgla.

Rozważ utworzenie wersji aplikacji w trybie ekologicznym. Wersja trybu ekologicznego jest prostsza, mniejsza, tańsza, bardziej zielona wersja pełnej aplikacji. Aplikacja powraca do tych minimalnych funkcji, jeśli występują skoki emisji dwutlenku węgla.

Rozważ ułatwienie użytkownikom końcowym wyboru wersji trybu ekologicznego. Podaj zielony przycisk dla osób, aby zadeklarować, że są w porządku z szczuplejszym interfejsem, mniejszą liczbą grafiki i ograniczonymi funkcjami w zamian za zmniejszenie emisji dwutlenku węgla. Zaangażowanie użytkowników daje możliwość kierowania zmianami kulturowymi wraz ze zmianami technicznymi:

  • Określ efekt tego wyboru: korzystając z zielonej wersji, oszczędzasz><X ilości węgla lub przynosisz nasz wynik emisji dwutlenku węgla do <Y>.
  • Dowiedz się więcej na temat zachowania użytkownika i zmodyfikuj wersję trybu ekologicznego, aby odzwierciedlić swoje wybory. Jeśli na przykład ktoś używa tylko 10 procent funkcji aplikacji, może być idealnym użytkownikiem zielonej wersji.
  • W idealnym przypadku w czasie pełna wersja jest zoptymalizowana pod kątem emisji, a wersje ostatecznie zbieżne.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Aby uzyskać więcej zabezpieczeń, użyj punktów końcowych usługi Azure Virtual Network , aby zabezpieczyć zasoby usługi platformy Azure tylko w sieci wirtualnej. Takie podejście zamyka publiczny dostęp do Internetu do tych zasobów i zezwala na ruch tylko z sieci wirtualnej.

Dzięki temu podejściu utworzysz sieć wirtualną na platformie Azure, a następnie utworzysz prywatne punkty końcowe usługi dla usług platformy Azure. Te usługi są następnie ograniczone do ruchu z tej sieci wirtualnej. Możesz również uzyskać dostęp do usług z sieci lokalnej za pośrednictwem bramy.

Uwaga

Aby przenieść dane ze środowiska lokalnego do usługi Azure Storage, musisz zezwolić na publiczne adresy IP z komputerów lokalnych lub użyć usługi Azure ExpressRoute. Aby uzyskać szczegółowe informacje, zobacz Wdrażanie dedykowanych usług platformy Azure w sieciach wirtualnych.

Aby uzyskać ogólne wskazówki dotyczące projektowania bezpiecznych rozwiązań, zobacz dokumentację zabezpieczeń platformy Azure.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Raporty Pulpit nawigacyjny wpływu na emisje i Microsoft Cost Management są bezpłatne. Ten przykład jest celowo minimalny, aby zaoszczędzić na kosztach i emisjach dwutlenku węgla. Tę architekturę można wdrożyć przy użyciu kilku alternatywnych usług platformy Azure.

Użyj dowolnej równoważnej usługi, która już istnieje we wdrożeniu aplikacji. Następujące zasoby zawierają informacje o cenach składników:

Efektywność wydajności

Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Omówienie filaru wydajności.

Głównym celem tej architektury jest zapewnienie wskaźnika zrównoważonego rozwoju dla aplikacji z minimalnym wpływem na koszty i sam węgiel. Większość składników to platforma jako usługa (PaaS) i bezserwerowe usługi platformy Azure, które można skalować niezależnie na podstawie użycia i ruchu.

Pulpit nawigacyjny i interfejs magazynu w tym przykładzie nie są odpowiednie do intensywnego użycia i konsultacji. Jeśli planujesz udostępnić to rozwiązanie wielu użytkownikom, rozważ następujące alternatywy:

  • Rozdziel wyodrębnione dane, przekształcając je i przechowując je w innym systemie rekordów
  • Przełącz usługę Azure Table Storage na bardziej skalowalną alternatywę struktury danych, taką jak Azure Cosmos DB

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Inny współautor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Ta praca jest zgodna z zasadami i metodologią Green Software Foundation.

Następnym krokiem do utworzenia bardziej ekologicznej aplikacji jest osadzanie zestawu SDK obsługującego emisję dwutlenku węgla w aplikacji. Wyzwalacze można zautomatyzować w czasie rzeczywistym po spełnieniu określonych warunków emisji dwutlenku węgla. Aby uzyskać więcej informacji, zobacz Green Software Foundation Carbon Aware SDK.

Aby uzyskać wskazówki dotyczące zrównoważonego rozwoju obciążeń w chmurze w witrynie Well Architected Framework, zobacz dokumentację obciążenia Sustainability.

Aby uzyskać więcej informacji na temat zrównoważonego rozwoju, zobacz następujące artykuły: