Návrh aplikací pro udržitelné úlohy v Azure

Při vytváření nových nebo aktualizaci stávajících aplikací je důležité zvážit, jaký bude mít řešení vliv na klima a jestli existují způsoby, jak zlepšit a optimalizovat. Přečtěte si o důležitých aspektech a doporučeních pro optimalizaci kódu a aplikací za účelem trvalejšího návrhu aplikací.

Důležité

Tento článek je součástí řady úloh Azure Well-Architected s trvalou udržitelností . Pokud tuto řadu neznáte, doporučujeme začít s tím, co je udržitelná úloha?

Efektivita kódu

Požadavky na aplikace se mohou lišit a je nezbytné zvážit způsoby, jak stabilizovat využití, aby se zabránilo nadměrnému nebo nedostatečnému využití zdrojů, což může vést ke zbytečným únikům energie.

Vyhodnocení přesunu monolitů do architektury mikroslužeb

Monolitické aplikace se obvykle škáluje jako celek, takže je málo místa pro škálování pouze jednotlivých komponent, které to můžou potřebovat.

Green Software Foundation alignment: Energetická efektivita, Hardwarová efektivita

Doporučení:

  • Vyhodnoťte pokyny k architektuře mikroslužeb .
  • Architektura mikroslužeb umožňuje škálování pouze nezbytných komponent během špičky zatížení. zajištění vertikálního snížení nebo snížení kapacity nečinných součástí. Kromě toho může snížit režii a prostředky potřebné k nasazení monolitických aplikací.
  • Zvažte tento kompromis: Při snížení požadovaných výpočetních prostředků můžete zvýšit objem provozu v síti a složitost aplikace se může výrazně zvýšit.
  • Zvažte tento další kompromis: Přechod na mikroslužby může vést ke zvýšení režie nasazení s mnoha podobnostmi v kanálech nasazení. Pečlivě zvažte požadované prostředky nasazení pro monolitické architektury a mikroslužby.
  • Dále si přečtěte o kontejnerizaci monolitických aplikací.

Vylepšení efektivity rozhraní API

Mnoho moderních cloudových aplikací je navržených tak, aby asynchronně převáděly mnoho zpráv mezi službami a komponentami. Zvažte formát použitý ke kódování dat datové části. Kolik informací vaše aplikace potřebuje ke komunikaci a je k dispozici prostor, abyste snížili množství informací?

Green Software Foundation alignment: Energetická efektivita

Doporučení:

Zajištění zpětné kompatibility softwaru, aby fungoval na starším hardwaru

Zvažte, jak aplikace vykreslují informace. Potřebuje aplikace kriticky obsluhovat vše v nejvyšší kvalitě, což vede k větší šířce pásma a zpracování? Je v uživatelském rozhraní prostor pro snížení kvality komponent, aby lépe sloužil cílům udržitelnosti?

Green Software Foundation alignment: Hardwarová efektivita

Doporučení:

  • Podpora více zařízení koncových uživatelů, jako jsou starší prohlížeče a operační systémy. Tato zpětná kompatibilita zlepšuje efektivitu hardwaru tím, že znovu používá stávající hardware, aniž by vyžadovala upgrade hardwaru, aby řešení fungovalo.
  • Zvažte tento kompromis: Pokud nejnovější aktualizace softwaru obsahují významná vylepšení výkonu, použití starších verzí softwaru nemusí být efektivnější.

Využití vzorů návrhu nativních pro cloud

Seznámení se vzory návrhu nativními pro cloud je užitečné při vytváření aplikací, ať už jsou hostované v Azure nebo běží jinde. Optimalizací výkonu a nákladů na cloudovou aplikaci se také sníží využití prostředků a tím i emise uhlíku.

Green Software Foundation alignment: Energetická efektivita, Hardwarová efektivita

Doporučení:

Zvažte použití vzorů jističe

Zvažte vyhodnocení a zabránění aplikacím v provádění operací, které pravděpodobně selžou. Opakované chyby můžou vést k režii a zbytečnému zpracování, kterému se můžete vyhnout pomocí správných vzorů návrhu.

Green Software Foundation alignment: Energetická efektivita

Doporučení:

  • Jistič může fungovat jako proxy pro operace, které můžou selhat, a měl by sledovat počet nedávných selhání, ke kterým došlo, a pomocí těchto informací se rozhodnout, jestli chcete pokračovat.
  • Prostudujte si model Jistič a pak zvažte, jak můžete modely Jistič implementovat do svých aplikací.
  • Zvažte použití Azure Monitoru k monitorování selhání a nastavení upozornění.

Optimalizace kódu pro efektivní využití prostředků

Aplikace nasazené pomocí neefektivního kódu můžou mít inherentní dopad na udržitelnost.

Green Software Foundation alignment: Energetická efektivita, Hardwarová efektivita

Doporučení:

  • Snižte počet cyklů procesoru a počet prostředků, které potřebujete pro svou aplikaci.
  • Používejte optimalizované a efektivní algoritmy a vzory návrhu.
  • Zvažte zásadu Neopakovat se (SUCHO).

Optimalizace pro vzory asynchronního přístupu

Požadavky na aplikace se mohou lišit a je nezbytné zvážit způsoby, jak stabilizovat využití, aby se zabránilo nadměrnému nebo nedostatečnému využití zdrojů, což může vést ke zbytečným únikům energie.

Green Software Foundation alignment: Energetická efektivita

Doporučení:

  • Požadavky na frontu a vyrovnávací paměť, které nevyžadují okamžité zpracování, pak je zpracujte v dávce. Navrhování aplikací tímto způsobem pomáhá dosáhnout stabilního využití a pomáhá snížit spotřebu, abyste se vyhnuli špičatým požadavkům.
  • Přečtěte si o optimalizaci vzorů asynchronního přístupu.

Vyhodnocení vykreslování na straně serveru vs. na straně klienta

Určete, jestli se má při vytváření aplikací s uživatelským rozhraním vykreslit na straně serveru nebo na straně klienta.

Green Software Foundation alignment: Energetická efektivita, Hardwarová efektivita

Doporučení:

  • Zvažte tyto výhody vykreslování na straně serveru:

    • Když výkon serveru pochází z alternativ, které jsou méně znečišťující, než je národní prostředí klienta.
    • Když má hardware na serveru lepší poměr energie a zpracování.
    • Můžete použít centralizované ukládání do mezipaměti, abyste snížili počet zbytečných vykreslování.
    • Snížení počtu odezvy mezi prohlížečem a serverem může být obzvláště důležité, pokud má zařízení klienta ztrátové propojení.
    • Když jsou klientská zařízení starší a mají pomalejší procesor. Uživatelé nemusí upgradovat svá zařízení, aby podporovala moderní prohlížeč.
  • Zvažte tyto výhody vykreslování na straně klienta:

    • Pokud jsou zařízení koncových uživatelů vhodnější, posílte zodpovědnost za vykreslování na klienty.
    • Efektivnější je vykreslovat jenom to, co je potřeba a jak požadujete, na rozdíl od vykreslení všeho aspoň jednou.
    • Server není potřeba, protože se můžete spolehnout na statické úložiště.
    • Ukládání do mezipaměti prohlížeče se používá na klientech.

Buďte si vědomi návrhu uživatelského prostředí pro trvalou udržitelnost

Zamyslete se nad tím, jak návrh uživatelského prostředí úlohy ovlivňuje udržitelnost, a určete, jaké možnosti existují pro zlepšení energetické účinnosti a snížení zbytečného zatížení sítě, zpracování dat a výpočetních prostředků.

Green Software Foundation alignment: Energetická efektivita

Doporučení:

  • Zvažte snížení počtu komponent, které se mají na stránkách načítat a vykreslovat.
  • Určete, jestli aplikace dokáže vykreslovat obrázky a videa s nižším rozlišením.
    • Nevykreslujte obrázky v plné velikosti jako miniatury, ve kterých prohlížeč provádí změnu velikosti.
    • Použití obrázků v plné velikosti jako miniatur nebo obrázků se změněnou velikostí způsobí přenos větších objemů dat, zbytečný síťový provoz a další využití procesoru na straně klienta kvůli změně velikosti a předběžnému vykreslování obrázků.
  • Pokud zajistíte, že neexistují žádné nepoužívané stránky, pomůže vám to minimalizovat návrh uživatelského prostředí.
  • Zvažte hledání a vyhledatelnost. Když uživatelům usnadníte hledání toho, co hledají, snížíte množství uložených a načítaných dat.
  • Zvažte poskytnutí odlehčeného uživatelského rozhraní, méně prostředků a s menším dopadem na udržitelnost a poskytněte uživatelům informovanou volbu.
  • Šetřte energii tím, že své aplikace a weby nabídnete v tmavém režimu s tmavým pozadím.
  • Pokud je to možné, zvolte použití systémových písem, aby klienti nemuseli stahovat další písma, což způsobí větší zatížení sítě.

Aktualizace starší verze kódu

Pokud není spuštěný v moderní cloudové infrastruktuře nebo s nejnovějšími aktualizacemi, zvažte upgrade nebo vyřazení starší verze kódu.

Green Software Foundation alignment: Efektivita hardwaru

Doporučení:

  • Identifikujte neefektivní starší kód vhodný pro modernizaci.
  • Zkontrolujte, jestli existují možnosti pro přechod na bezserverovou nebo některou z optimalizovaných možností PaaS.
  • Zvažte tento kompromis: Aktualizace starého kódu, který může být zastaralý, může spotřebovat drahocenný čas.

Další krok

Projděte si aspekty návrhu pro aplikační platformu.