Doporučení pro optimalizaci nákladů na komponenty

Platí pro toto doporučení kontrolního seznamu optimalizace nákladů služby Azure Well-Architected Framework:

CO:07 Optimalizujte náklady na komponenty. Pravidelně odebírat nebo optimalizovat starší, nepotřebné a nedostatečně využívané součásti úloh, včetně funkcí aplikací, funkcí platformy a prostředků.

Tato příručka popisuje doporučení pro optimalizaci nákladů na součásti úloh. Optimalizací nákladů na komponenty se rozumí proces vyhodnocení a zlepšení nákladové efektivity jednotlivých prvků v rámci úlohy. Klade důraz na nepřetržitou kontrolu a potenciální odebrání nebo vylepšování zastaralých, nepotřebných nebo zřídka používaných komponent, jako jsou funkce aplikací, funkce platformy a prostředky. Zabývá se také optimalizací nákladů prostředí pro zotavení po havárii a tím, jak se vyhnout zavádění neoptimalizovaných komponent. Pokyny v tomto článku se vztahují na existující úlohy, které nejsou ve fázi návrhu. Zanedbání pravidelné optimalizace komponent může vést ke zvýšení nákladů, plýtvání zdroji a neefektivním úlohám, které vyčerpávají čas i peníze.

Definice

Období Definice
Funkce aplikace Jedinečná schopnost v rámci aplikačního softwaru, která uživatelům umožňuje provádět konkrétní úlohy nebo přistupovat ke konkrétním informacím.
Funkce platformy Konkrétní funkce nebo schopnosti poskytované platformou. Může se lišit v závislosti na platformě, ale obecně jsou funkce platformy navržené tak, aby vylepšily uživatelské prostředí, zvýšily produktivitu nebo umožňovaly konkrétní úlohy nebo akce.
Prostředek Jednu entitu nebo komponentu, kterou můžete vytvářet, konfigurovat a využívat v rámci poskytovatele cloudových služeb.

Klíčové strategie návrhu

Optimalizace komponent úloh spočívá ve zpřesnění různých prvků úlohy, včetně funkcí aplikace, možností platformy a prostředků. Cílem je zajistit, aby úloha používala všechny komponenty efektivně a nákladově efektivně. Mezi strategie patří odebrání, úpravy a předcházení komponentám, které způsobují, že utrácíte více, než potřebujete. Proces optimalizace nákladů na komponenty zajišťuje přidělení prostředků k funkcím a komponentám, které poskytují nejvyšší hodnotu, a vyhnete se zbytečným výdajům.

Optimalizace funkcí aplikace

Optimalizace funkcí aplikace je proces odebrání, reinvestice nebo monetizace funkcí aplikace na základě hodnoty. Zajišťuje přidělení prostředků funkcím aplikace, které zákazníkům poskytují největší hodnotu. Optimalizace funkcí aplikace pomáhá vyhnout se investicím do funkcí, které přispívají k technickému dluhu nebo nepřinášejí dostatečnou návratnost investic.

Vyhodnocení hodnoty funkce aplikace

Pokud chcete zjistit hodnotu funkce, zvažte její vliv na celkovou aplikaci a hodnotu, kterou poskytuje zákazníkům. Mezi faktory, které je potřeba vzít v úvahu, patří:

  • Potřeby zákazníků: Vyhodnoťte, jak dobře tato funkce splňuje potřeby a očekávání zákazníků. Zpětná vazba od zákazníků, průzkumy a data o využití mohou být cenné při pochopení vnímané hodnoty.

  • Obchodní cíle: Vyhodnoťte, jak funkce odpovídá strategickým cílům firmy. Zamyslete se nad tím, jak funkce podporují generování výnosů, spokojenost zákazníků nebo konkurenční výhodu.

  • Vliv na uživatelské prostředí: Určete, jaký vliv má tato funkce na zlepšení uživatelského prostředí a zlepšení použitelnosti nebo produktivity.

  • Diferenciace: Vyhodnoťte, jestli funkce poskytuje jedinečný prodejní bod nebo konkurenční výhodu ve srovnání s jinými aplikacemi na trhu.

Vyhodnocení nákladů na funkci aplikace

Je nezbytné, abyste rozuměli nákladům spojeným s jednotlivými funkcemi kvůli efektivnímu přidělování a optimalizaci prostředků. Při vyhodnocování nákladů zvažte různé aspekty, například:

  • Úsilí při vývoji: Vyhodnoťte čas, zdroje a odborné znalosti potřebné k vývoji a údržbě funkce nebo okolních funkcí. Nevyužité funkce se často stávají klíčovým zdrojem technického dluhu.

  • Údržba a podpora: Zvažte průběžné náklady spojené s údržbou a podporou funkce, včetně oprav chyb, aktualizací zabezpečení a řešení potíží.

  • Infrastruktura a využití prostředků: Vyhodnoťte vliv funkce na požadavky na infrastrukturu, včetně prostředků serveru, úložiště a šířky pásma.

  • Složitost integrace: Vyhodnoťte složitost a náklady spojené s integrací funkce s jinými systémy nebo službami třetích stran.

  • Důležité informace o výkonu: Vyhodnoťte vliv funkce na výkon aplikace, včetně škálovatelnosti, doby odezvy a využití prostředků.

Kontrola hodnoty funkcí aplikace se zúčastněnými stranami

Zkontrolujte hodnotu funkcí aplikace se zúčastněnými stranami tím, že zapojíte klíčové pracovníky, jako jsou produktoví manažeři, vývojáři softwaru a obchodní analytici, aby posoudili hodnotu konkrétních funkcí pro obchodní cíle. Tato spolupráce je nezbytná pro optimalizaci nákladů, protože poskytuje přehled o úsilí o údržbu a identifikuje funkce, které můžou bránit produktivitě nebo snižovat vývoj nových, cenných funkcí. Váš vývojový tým vám může poskytnout důležité informace o tom, kolik práce je potřeba k údržbě určitých funkcí. Povzbuďte je, aby mluvili o funkcích, které by mohly představovat větší problém, než za to stojí, a to zejména v případě, že tyto funkce odvádějí tým od vytváření nových.

Určení budoucnosti funkce

Na základě analýzy a vyhodnocení určete budoucnost funkcí aplikace. Odeberte, reinvestujte nebo zpeněžte všechny funkce aplikace, které neposkytují návratnost investic:

  • Odebrání: Zvažte plánovaný konec životnosti funkce aplikace na základě dat. Mezi důvody pro odebrání funkcí může patřit nízká poptávka od zákazníků, vysoké náklady na údržbu, složitost nebo redundance, které se nevyplatí opravovat. Vytvořte plán pro odebrání, který může zahrnovat refaktoring kódu, aktualizaci závislostí nebo reorganizaci uživatelského rozhraní.

    Ikona rizika: Můžete neúmyslně odebrat funkce, které jsou kritické pro určité uživatele nebo scénáře a můžou mít negativní vliv na výkon, provoz a zabezpečení aplikace.

  • Reinvestice: Některé funkce aplikací nemusí být v aktuálním stavu dostatečně cenné, ale pokud do nich reinvestujete, můžou přidat hodnotu. Reinvestice znamená přepracování nebo propagaci funkce aplikace. Určit prioritu identifikovaných vylepšení na základě jejich hodnoty a proveditelnosti. Určete plán a časovou osu implementace změn. Zvažte faktory, jako jsou vývojové prostředky, závislosti a potenciální vliv na aplikaci.

  • Monetizace: Přeměňte funkce aplikace na příležitost generovat výnosy prostřednictvím monetizace. Funkce někdy uživatelům poskytují hodnotu, ale nevyplatí se za aktuální investici. Prozkoumejte příležitosti, jak tyto funkce zpeněžit, například je nabízet jako samostatné placené doplňky nebo je licenovat jiným společnostem.

Optimalizace prostředků úloh

Optimalizace prostředků úloh zahrnuje odebrání všech nepoužívaných prostředků a optimalizaci všech nevyužitých prostředků, které úloha potřebuje. Tímto úsilím můžete ušetřit peníze, vyhnout se plýtvání a zajistit, aby úloha používala pouze prostředky, které přidávají přidanou hodnotu.

Odeberte nepoužívané prostředky úloh. Nevyužité prostředky jsou nasazené služby, které vaše úlohy nebo provozní procesy nepoužívají. Tyto prostředky můžou být dlouhodobě nečinné, osamocené nebo zapomenuté. Neposkytují žádnou návratnost investic a měli byste je odebrat. Mezi běžné příčiny nepoužívaných prostředků patří:

  • Výstrahy.
  • Ukázkové buildy.
  • Vyřazení prostředí z provozu
  • Vyřazení funkcí z provozu
  • IP adresy.
  • Síťové brány firewall.
  • Testování konceptu.
  • Snímky.
  • Účty úložiště.
  • Dočasná testovací prostředí.
  • Dočasná prostředí pro třídění.

Pokud chcete v úloze odebrat nepoužívané prostředky, zvažte následující kroky:

  1. Proveďte inventarizaci: Proveďte důkladný inventář všech prostředků v rámci úlohy napříč prostředími.

  2. Vyhledání osamocených prostředků: Prostředky se můžou stát osamocené, když už je nepotřebujete nebo když se odeberou jejich nadřazené prostředky. Můžete například odebrat virtuální počítač, ale jeho přidružený účet úložiště se neodebere. Zkontrolujte úlohu a identifikujte nepotřebné nebo osamocené prostředky.

  3. Odebrání nečinných komponent: S nasazeným prostředkem jsou obvykle spojené náklady. I když vám prostředek umožní zastavit nebo přerozdělit jeho přidělení, můžete za tento prostředek dál platit. Zvažte odebrání nečinných prostředků. Pokud potřebujete data, nejprve je zálohujte a pak odeberte prostředek. Je lepší, když prostředek znovu nasadíte a obnovíte data, než aby prostředek zůstal nečinný.

Optimalizujte nevyužité prostředky. Nevyužité prostředky představují nevyužité výdaje, protože platíte za nevyužitou kapacitu prostředků, která se plně nevyužívá. Identifikujte a optimalizujte tyto prostředky za účelem snížení nákladů a efektivnějšího přidělování prostředků. Pokud chcete vyhodnotit a optimalizovat náklady na nevyužité prostředky, postupujte takto:

  1. Monitorování prostředků: Pomocí nástrojů můžete monitorovat, kolik procesoru, paměti a úložiště skutečně využíváte. Na základě těchto informací vyberte nejlepší plán, který vyhovuje vašim potřebám.

  2. Analýza využití: Prohlédněte si data a zjistěte, které prostředky nepoužíváte. Věnujte pozornost prostředkům, které mají v průběhu času nízké využití nebo velké rozdíly ve využití mezi zaneprázdněnými a pomalými časy.

  3. Nastavení správné velikosti: Zkontrolujte, jestli není k funkcím, které se nepoužívají, přiděleno příliš mnoho prostředků. Pokud ano, upravte jejich velikost tak, aby lépe odpovídala tomu, co skutečně potřebujete.

  4. Automatické škálování: Pomocí automatického škálování můžete upravit prostředky, které používáte, podle toho, jak jste zaneprázdněni. Ujistěte se, že jste nastavili maximální limit škálování, abyste se vyhnuli náhlým špičkám, které můžou být nákladné a zbytečné.

Po provedení těchto úprav otestujte, jestli všechno stále funguje tak, jak má. Průběžně monitorujte využití prostředků a upravujte přidělování prostředků podle toho, jak se v průběhu času mění požadavky na úlohy. Pravidelně kontrolujte a optimalizujte využití prostředků, abyste zachovali nákladovou efektivitu a optimalizaci výkonu.

Optimalizujte prostředky zotavení po havárii. Optimalizace prostředí pro zotavení po havárii spočívá v zajištění efektivního využití prostředků přidělených pro zotavení po havárii. Běžným zdrojem nedostatečného využití je teplá (aktivní-pasivní) strategie zotavení po havárii. Ve strategii teplého zotavení po havárii přijímá jedno prostředí veškeré zatížení, zatímco druhé prostředí je nečinné, dokud se nenasadí scénář havárie. Pokud chcete optimalizovat prostředí zotavení po havárii, zvažte, jak může horký přístup (aktivní-aktivní), studený (aktivní-vypnutý) nebo aktivní-opětovné nasazení pomoct vyhnout se nevyužitým prostředkům. Tady je přehled těchto tří přístupů k zotavení po havárii:

  • Horké plány: Primární i sekundární prostředí obsluhují provoz souběžně. Vaše úloha dokáže vyrovnávat zatížení mezi těmito prostředími a reagovat na požadavky v reálném čase. Distribuce zatížení mezi dvě aktivní prostředí umožňuje využívat levnější prostředky, snižovat kritické body s jedním bodem a využívat kapacity naplno. To může vést ke snížení nákladů z hlediska plýtvání prostředků nebo nečinnosti. Horký přístup může přát větší investice do synchronizace a udržování parity mezi těmito dvěma prostředími.

  • Studené plány: Model studeného zotavení po havárii zahrnuje pohotovostní prostředí, které zůstává neaktivní, dokud havárie nevyvolá potřebu převzetí služeb při selhání. Vzhledem k tomu, že pohotovostní prostředí není aktivně spuštěné, jsou náklady související s výpočetními operacemi, úložištěm a síťovými operacemi minimalizovány. Vaše výdaje se týkají ukládání záloh, imagí virtuálních počítačů nebo šablon. Převzetí služeb při selhání v studeném modelu může trvat déle, protože je potřeba spustit prostředky a obnovit data. Než se k tomuto přístupu zavážete, ujistěte se, že doba obnovení odpovídá cílům doby obnovení (RTO) vaší firmy.

  • Aktivní a opětovné nasazení: Tato strategie používá infrastrukturu jako kód. Když dojde k události převzetí služeb při selhání, nasadíte sekundární prostředí pomocí předdefinovaných šablon a skriptů. Bez předem nasazených výpočetních prostředků v prostředí pro zotavení po havárii ušetříte náklady spojené s údržbou nečinných prostředků. Náklady se vám účtují pouze během skutečného nasazení ve scénáři převzetí služeb při selhání. Podobně jako u studeného přístupu může tento model zavádět delší dobu obnovení, zejména v případě vysoké složitosti infrastruktury. Čas obnovení byste měli otestovat a změřit, abyste měli jistotu, že splňuje váš cíl doby obnovení.

Optimalizace funkcí platformy

Optimalizace funkcí platformy zahrnuje odstranění nebo aktualizaci funkcí platformy, jako jsou úrovně výkonu a nastavení konfigurace, za účelem optimalizace nákladů. Pomáhá sladit výdaje s požadavky úloh a vyhnout se zbytečným výdajům na nepotřebné funkce. Tady je několik tipů pro optimalizaci nákladů na funkce platformy:

  • Znalost možností věcí, které si koupíte: Než budete moct optimalizovat, potřebujete jasný inventář služeb a jejich funkcí napříč vašimi cloudovými platformami. Seznamte se s funkcemi platforem nebo služeb ve vašich úlohách. Mějte na paměti konkrétní úroveň, kterou jste zvolili, a funkcí, které jednotlivé úrovně nabízejí. Pokud například nevyžadujete automatické škálování nebo pokročilé síťové služby, může stačit plán nižší úrovně.

  • Zakázat nepoužívané funkce: Identifikujte a zakažte funkce platformy, které stojí peníze. Možná máte nepotřebné snímky úložiště, nepoužívané disky, redundantní funkce zabezpečení nebo nedostatečně využité síťové funkce.

  • Použití správných verzí: Novější verze služby můžou poskytovat podobný výkon za stejnou cenu. Například virtuální počítač s novějším hardwarem může často poskytovat stejný výkon za méně peněz.

  • Použití správných konfigurací: Možná platíte za vyšší dostupnost nebo výkon, než potřebujete. Eliminujte záruky dostupnosti nebo výkonu, které úloha nepotřebuje.

  • Eliminace nepotřebné automatizace: Vyhodnoťte své procesy automatizace a eliminujte všechny nepoužívané automatizace, za které by mohly být účtovány dodatečné náklady.

  • Eliminace redundance nástrojů: Zbavte se nástrojů, které nepotřebujete, nebo nástrojů, které poskytují stejnou funkci. Vyhodnoťte potenciální redundanci v nástrojích, které používáte k vytváření softwaru, psaní kódu, zabezpečení a monitorování. Pokud například k vytváření softwaru používáte GitHub Actions, nemusíte si kupovat další nástroj, který vytváří software. Než si koupíte funkce nebo nástroje, zkontrolujte, jestli ve vaší úloze už není nástroj, který tuto úlohu zvládne. Eliminujte redundanci nástrojů, abyste se vyhnuli plýtvání penězi a maximálně využívejte to, co už máte.

Zabránění neoptimalizovaným komponentám

Zabránění neoptimalizovaným komponentám spočívá v proaktivním zajištění nezbytných a optimalizovaných komponent před přidáním nebo úpravou. Nejlepší způsob, jak se zbavit odpadu, je v první řadě se mu vyhnout. Používejte strategie, které zabraňují zbytečným výdajům tím, že řeší nefektivnost v kořenovém adresáři a zajišťují, aby úloha od samého počátku běžela nákladově efektivně. Pokud chcete zabránit plýtvání, zvažte tyto strategie:

  • Než začnete měnit řešení, najděte původní příčinu: Než problém opravíte, ujistěte se, že víte, co ho skutečně způsobuje. Pokud je váš web například pomalý, nepřepínejte okamžitě na nový systém. Nejdřív zjistěte, proč je to pomalé. Možná zjistíte, že skutečným problémem je něco jiného, například chybné databázové dotazy. Opravte skutečný problém, abyste ušetřili čas a peníze.

  • Použití metadat: Použití metadat k uspořádání a sledování prostředků. Metadata můžete použít ke kategorizaci a seskupení prostředků, což usnadňuje sledování a odstraňování osamocených prostředků a vyhýbá se jim. Vytvořte konzistentní strategii metadat napříč prostředky. Zvažte přidání vlastníků, předpokládané doby trvání prostředku (například sunset-30d) nebo jiných značek.

  • Zdokumentování nestandardních změn: Zdokumentujte všechny změny provedené v infrastruktuře nebo konfiguracích provedených mimo běžný řídicí proces úloh, aby se snížily neočekávané náklady. Můžete například zvýšit kapacitu prostředku( nahoru nebo ven), aby uspokojila krátkodobou poptávku nebo roztříděla problém, ale zapomněli jste ho vertikálně snížit. Vytvořte seznam nestandardních změn a použijte ho jako připomenutí k vrácení změn, když už nejsou potřeba.

  • Jednoduchost: Zjednodušte infrastrukturu a minimalizujte složitost, abyste snížili náklady. Používejte jenom potřebné prostředky a služby, které splňují vaše požadavky.

Usnadnění Azure

Optimalizace funkcí aplikace: Pomocí Azure Monitoru a Application Insights můžete monitorovat využití vaší aplikace a identifikovat oblasti, které se používají nebo se nepoužívají. Na základě shromážděných přehledů se můžete kvalifikovaně rozhodnout, jak nepoužívané nebo nedostatečně využité funkce odebrat nebo optimalizovat.

Optimalizace prostředků úloh a funkcí platformy: Azure Advisor poskytuje doporučení k nákladům a poskytuje doporučení k identifikaci a eliminaci nepoužívaných prostředků. Pomocí Advisoru můžete analyzovat využití prostředků a dostávat návrhy k jejich odebrání nebo vertikálnímu snížení kapacity. Sešit Optimalizace nákladů v Azure Advisoru slouží jako centralizované centrum pro některé z nejčastěji používaných nástrojů, které vám můžou pomoct dosáhnout cílů v oblasti využití a efektivity. Nabízí řadu doporučení, včetně doporučení k nákladům azure Advisoru. Pomáhá také identifikovat nečinné prostředky a spravovat nesprávně uvolněné virtuální počítače.

Azure Monitor podporuje sešity. Pomocí sešitů služby Azure Monitor můžete najít nebo vytvořit sešit, který vyhledá a nahlásí osamocené prostředky v definovaném oboru. Azure Automation můžete použít k vypnutí virtuálních počítačů během období nečinnosti. Vypnutí prostředků pomáhá snižovat náklady tím, že minimalizuje použití nečinných prostředků.

Pomocí funkce automatického škálování v Azure můžete aplikaci automaticky škálovat na základě předdefinovaných podmínek, abyste nemuseli přetěžovat kapacitu. Automatické škálování vám může pomoct efektivně a nákladově efektivně přidělovat prostředky.

Z hlediska návrhu můžou nástroje pro vyrovnávání zatížení Azure distribuovat zatížení napříč zónami dostupnosti a oblastmi. Tyto nástroje pro vyrovnávání zatížení můžou pomoct eliminovat nečinné prostředky, například v přístupech k zotavení po havárii.

Kontrolní seznam pro optimalizaci nákladů

Projděte si kompletní sadu doporučení.