Aspekty testování pro udržitelné úlohy v Azure

Organizace, které vyvíjejí a nasazují řešení do cloudu, potřebují také spolehlivé testování. Přečtěte si o aspektech a doporučeních pro spouštění testů úloh a o tom, jak optimalizovat model testování s větší udržitelností.

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 tím, co je udržitelná úloha?

Efektivita testování

Spuštění integrace, výkonu, zatížení nebo jakéhokoli jiného intenzivního testování během období s nízkými emisemi uhlíku

Spuštění integrace, výkonu, zatížení nebo jiných intenzivních testovacích funkcí může vést k mnoha zpracování. Dobře propracovaný návrh pro testování nasazených úloh může pomoct zajistit plné využití dostupných prostředků a snížit emise uhlíku.

Sladění zeleného softwarového základu: Povědomí o emisích uhlíku

Doporučení:

  • Tam, kde máte k dispozici data, naplánujte testování, když datový mix energie primárně využívá obnovitelnou energii. V některých oblastech může být například výhodnější spouštět testování v noci.

Automatizace CI/CD pro škálování agentů pracovních procesů podle potřeby

Používání nedostatečně využitých nebo neaktivních agentů CI/CD vede k většímu množství emisí.

Green Software Foundation alignment: Efektivita hardwaru

Doporučení:

  • Udržuje vysoké využití výpočetních prostředků na základě aktuální poptávky a vyhne se zbytečnému přidělování kapacity.
  • Horizontální navýšení kapacity pouze v případě potřeby a v případě, že není testování, škálování na více instancí. Tím se zajistí, že v testovacích prostředích nebudou žádné nečinné výpočetní prostředky.
  • Zvažte optimalizované služby platformy, jako jsou kontejnery, než testování na virtuálním počítači, a využití platformy ke snížení údržby.

Zvažte ukládání do mezipaměti při použití agentů CI/CD.

Použití mechanismů ukládání do mezipaměti během CI/CD může snížit výpočetní dobu a tím i emise uhlíku.

Green Software Foundation – sladění: Energetická účinnost

Doporučení:

  • Ukládat výsledky z kroků v mezipaměti a znovu je použít mezi různými spuštěními CI/CD, pokud je to možné: pokud existují kroky, které zabírají čas procesoru k vytvoření artefaktu, který se často nemění mezi různými spuštěními, je vhodné ho uložit pro budoucí použití, aby se čas procesoru neztrácel při každém spuštění, které vytváří stejný artefakt. znovu a znovu.
  • Pokud je agent CI/CD v místním prostředí, použijte k dalšímu snížení přenosů dat a emisí místní mezipaměť pro agenta. Tím se zajistí, že se mezipaměť nepřenese přes síť, což může být významným zdrojem emisí.

Rozdělení velkých úložišť kódu

Rozdělení velkých úložišť může pomoct fázím CI/CD, kde se kompilují jenom části kódu, které se změnily. Tím se zkracuje výpočetní doba, což v konečném důsledku snižuje emise uhlíku.

Green Software Foundation – sladění: Energetická účinnost

Doporučení:

  • Rozdělte velká úložiště kódu a oddělte hlavní kód od knihoven a závislostí.
  • Publikujte a znovu používejte artefakty a knihovny kódu, které jsou společné ve více úložištích.

Doporučení:

  • Rozdělte velká úložiště kódu na menší a oddělte hlavní kód od knihoven a závislostí.
  • Publikujte a znovu používejte artefakty a knihovny kódu, které jsou společné ve více úložištích.

Profilace a měření

Úlohy měření, profilace a testování jsou nezbytné pro pochopení nejlepšího využití přidělených prostředků.

Posouzení, kde je paralelizace možná

Bez správné profilace a testování úloh je obtížné zjistit, jestli se tím nejlépe využívá základní platforma a nasazené prostředky.

Green Software Foundation alignment: Měření udržitelnosti

Doporučení:

  • Otestujte své aplikace, abyste pochopili souběžné požadavky, souběžné zpracování a další.
  • Pokud používáte strojové učení (ML) pro testy, zvažte počítače s GPU, abyste dosáhli lepší efektivity.
  • Zjistěte, jestli je úloha náročná na výkon, a pracujte na optimalizaci.
  • Zvažte tento kompromis: Spouštění počítačů založených na GPU pro testy ML může zvýšit náklady.

Posouzení s využitím techniky chaosu

Spouštění testů integrace, výkonu a zátěžových testů zvyšuje spolehlivost úloh. Zavedení techniky chaosu však může výrazně přispět ke zvýšení spolehlivosti a odolnosti a toho, jak aplikace reagují na selhání. Díky tomu je možné úlohu optimalizovat tak, aby zvládala chyby elegantně a s méně zbytečnými prostředky.

Green Software Foundation alignment: Měření udržitelnosti

Doporučení:

  • Pomocí zátěžového testování nebo techniky chaosu můžete vyhodnotit, jak úloha zpracovává výpadky platformy a špičky nebo poklesy provozu. To pomáhá zvýšit odolnost služby a schopnost reagovat na selhání, což umožňuje optimalizovanější zpracování chyb.
  • Zvažte tento kompromis: Injektáž chyby během přípravy chaosu a zvýšení zatížení jakéhokoli systému také zvyšuje emise používané pro testovací prostředky. Vyhodnoťte, jak a kdy můžete využít inženýrství chaosu ke zvýšení spolehlivosti úloh a zároveň zvážit dopad provozu zbytečných testovacích relací na klima.
  • Dalším úhlem je použití techniky chaosu k testování energetických chyb nebo okamžiků s vyššími emisemi uhlíku: zvažte nastavení testů, které budou vyzvat vaši aplikaci ke spotřebě minimální možné energie. Definujte, jak bude aplikace reagovat na takové podmínky s konkrétní "eco" verzí, která uživatele informuje o tom, že produkují minimum možného uhlíku tím, že obětují některé funkce a možná i výkon. Může to být také vaše srovnávací aplikace pro vyhodnocování její udržitelnosti.

Stanovení prahových hodnot procesoru a paměti při testování

Pomozte vytvářet testy pro testování udržitelnosti ve vaší aplikaci. Zvažte měření využití procesoru podle směrného plánu a zjištění neobvyklých změn standardních hodnot využití procesoru při spuštění testů. U směrného plánu je možné dříve zjistit neoptimální rozhodnutí provedená v nedávných změnách kódu.

Přidání testů a bran kvality do kanálu nasazení a testování pomáhá vyhnout se nasazování řešení, která nejsou udržitelná, a přispívá tak ke snížení emisí.

Green Software Foundation – sladění: Energetická účinnost

Doporučení:

  • Monitorování přidělení procesoru a paměti při spouštění integračních testů nebo testů jednotek
  • V kódu aplikace vyhledejte oblasti neobvykle vysoké spotřeby prostředků a nejprve se zaměřte na jejich zmírnění.
  • Nakonfigurujte výstrahy nebo testujte selhání, pokud překročíte stanovené hodnoty směrného plánu, abyste se vyhnuli nasazování úloh, které nejsou udržitelné.
  • Zvažte tento kompromis: S růstem aplikací se může směrný plán odpovídajícím způsobem posunout, aby při zavádění nových funkcí nedocházelo k selhání testů.

Další krok

Projděte si aspekty návrhu pro provozní postupy.