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í:
- Seznamte se s popisem antipatternu pro vstupně-výstupní operace, abyste lépe pochopili, jak velký počet požadavků může ovlivnit výkon a rychlost odezvy.
- Zvyšte spolehlivost a snižte zbytečné zatížení vašich systémů. Implementujte pokročilé omezování požadavků pomocí API Management.
- Minimalizujte množství dat, která aplikace vrací z požadavků, tím, že je selektivní a zakóduje zprávy. Přečtěte si důležité informace o kódování zpráv.
- Ukládání odpovědí do mezipaměti, aby se zabránilo opětovnému zpracování stejného typu informací z back-endového systému, pokud to není nutné. Viz ukládání do mezipaměti v Azure API Management.
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í:
- Při psaní nebo aktualizaci aplikací využijte vzory návrhu nativní pro cloud .
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.