Sdílet prostřednictvím


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

Platí pro toto doporučení kontrolního seznamu optimalizace nákladů architektury s dobře navrženou architekturou Azure:

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

Tato příručka popisuje doporučení pro optimalizaci nákladů na komponenty úloh. Optimalizace nákladů na komponenty se týká procesu vyhodnocení a zlepšení nákladové efektivity jednotlivých prvků v rámci úlohy. Zdůrazňuje nepřetržitou kontrolu a potenciální odebrání nebo vylepšení zastaralých, nepotřebných nebo zřídka používaných komponent, jako jsou funkce aplikací, funkce platformy a prostředky. Zahrnuje také optimalizaci nákladů prostředí zotavení po havárii a způsob, jak se vyhnout zavedení neoptimalizovaných komponent. Pokyny v tomto článku platí pro existující úlohy, které nejsou ve fázi návrhu. Zanedbávání pravidelné optimalizace součástí může vést k nafouknutí nákladů, plýtvání prostředkům a neefektivním úlohám, které vyprázdní čas i peníze.

Definice

Pojem definice
Funkce aplikace Jedinečná funkce v aplikačním softwaru, která uživatelům umožňuje provádět konkrétní úlohy nebo přistupovat k určitým informacím.
Funkce platformy Konkrétní funkce nebo funkce poskytované platformou. Může se lišit v závislosti na platformě, ale obecně jsou funkce platformy navržené tak, aby zlepšily uživatelské prostředí, zlepšily produktivitu nebo umožňovaly konkrétní úlohy nebo akce.
Prostředek Jedna entita nebo komponenta, kterou můžete vytvořit, nakonfigurovat a využívat v rámci poskytovatele cloudových služeb.

Klíčové strategie návrhu

Optimalizace komponent úloh spočívá v upřesňování různých prvků úlohy, včetně funkcí aplikací, funkcí platformy a prostředků. Cílem je zajistit, aby úloha efektivně a nákladově používala všechny komponenty. Mezi strategie patří odebrání, úpravy a zabránění komponentám, které způsobují, že strávíte více, než potřebujete. Proces optimalizace nákladů na komponenty zajišťuje přidělení prostředků funkcím a komponentám, které poskytují nejvyšší hodnotu, a zabraňuje zbytečným výdajům.

Optimalizace funkcí aplikace

Optimalizacefunkcích Zajišťuje přidělení prostředků funkcím aplikace, které zákazníkům poskytují největší hodnotu. Optimalizace funkcí aplikací pomáhá vyhnout se investicím do funkcí, které přispívají k technickému dluhu, nebo nevyvolají dostatečný návratnost investic.

Vyhodnocení hodnoty funkce aplikace

Pokud chcete zjistit hodnotu funkce, zvažte její účinky 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 funkce splňuje potřeby a očekávání zákazníků. Zpětná vazba zákazníků, průzkumy a data o využití můžou být cenné při pochopení vnímané hodnoty.

  • Obchodní cíle: Vyhodnoťte, jak funkce odpovídá strategickým cílům firmy. Zvažte, 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ý účinek má funkce na vylepšení uživatelského prostředí a zlepšení použitelnosti nebo produktivity.

  • Rozlišení: Vyhodnoťte, zda funkce poskytuje jedinečnou prodejní bod nebo konkurenční výhodu v porovnání s jinými aplikacemi na trhu.

Vyhodnocení nákladů na funkce aplikace

Pro efektivní přidělování a optimalizaci prostředků je nezbytné porozumět nákladům spojeným s jednotlivými funkcemi. Při vyhodnocování nákladů zvažte různé aspekty, například:

  • Úsilí o vývoj: Vyhodnoťte čas, prostředky a odborné znalosti potřebné k vývoji a údržbě funkcí nebo okolních funkcí. Nedostatečně využ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 této funkce, včetně oprav chyb, aktualizací zabezpečení a řešení potíží.

  • Infrastruktura a využití prostředků: Vyhodnoťte účinek 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 na integraci funkce s jinými systémy nebo službami třetích stran.

  • Důležité informace o výkonu: Vyhodnoťte účinek 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í aplikací u zúčastněných stran zapojením klíčových pracovníků, jako jsou produktoví manažeři, vývojáři softwaru a obchodní analytici, a vyhodnoťte hodnotu konkrétních funkcí obchodních cílů. Tato spolupráce je nezbytná pro optimalizaci nákladů, protože poskytuje přehledy o úsilí o údržbu a identifikuje funkce, které by mohly bránit produktivitě nebo znemožnit vývoj nových, cenných funkcí. Vývojový tým vám může poskytnout důležité informace o tom, kolik práce trvá, aby se zachovaly určité funkce. Povzbuďte je, aby mluvili o funkcích, které by mohly být více problémů, než stojí za to, zejména pokud tyto funkce ruší tým od vytváření nových funkcí.

Určení budoucnosti funkce

Na základě analýzy a vyhodnocení určete budoucnost funkcí aplikace. Odeberte, reinvestujte nebo zpeněžujte žádnou funkci aplikace, která neposkytuje návratnost investic:

  • Odebrání: Zvažte plánované ukončení životnosti funkce aplikace na základě dat. Důvody pro odebrání funkcí můžou zahrnovat nízkou poptávku zákazníků, vysoké náklady na údržbu, složitost nebo redundanci, které stojí za to opravit. Vytvořte plán pro odebrání, který může zahrnovat refaktoring kódu, aktualizaci závislostí nebo přeuspořádání uživatelského rozhraní.

    Ikona rizikaRiziko: Můžete neúmyslně odebrat funkce, které jsou důležité pro určité uživatele nebo scénáře a mohou negativně ovlivnit výkon, operace a zabezpečení ve vaší aplikaci.

  • Reinvest: Některé funkce aplikace nemusí v aktuálním stavu přidat dostatečnou hodnotu, ale mohou přidat hodnotu, pokud do nich reinvestujete. Reinvestice znamená přepracování nebo zvýšení úrovně funkce aplikace. Určete prioritu identifikovaných vylepšení na základě jejich hodnoty a proveditelnosti. Určete plán a časovou osu pro implementaci změn. Zvažte faktory, jako jsou vývojové prostředky, závislosti a potenciální vliv na aplikaci.

  • Zpeněžení: Zpeněžení funkcí aplikace na prodejní příležitost vygenerující prostřednictvím monetizace. Někdy funkce poskytují uživatelům hodnotu, ale nestojí za aktuální investici. Prozkoumejte příležitosti ke zpeněžení těchto funkcí, například jejich nabízení jako samostatných placených doplňků nebo licencování pro jiné společnosti.

Optimalizace prostředků úloh

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

Odeberte nepoužívané prostředky úloh. Nepoužité prostředky jsou nasazené služby, které vaše úlohy nebo provozní procesy nepoužívají. Tyto prostředky můžou být dlouhodobé, 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
  • Prostředí se vyřadí 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 odebrat nepoužívané prostředky v úloze, zvažte tyto 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ými, když už nejsou potřeba nebo když se odeberou 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 svou úlohu a identifikujte nepotřebné nebo osamocené prostředky.

  3. Odebrání nečinných komponent: Obvykle jsou spojené náklady spojené s nasazeným prostředkem. I když vám prostředek umožní zastavit nebo relokovat, 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. Lépe nasazujete prostředek a obnovujete 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 kapacitu zdrojů, která není plně využita. Identifikujte a optimalizujte tyto prostředky, abyste snížili náklady a efektivněji přidělily prostředky. 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ě používáte. Na základě těchto informací vyberte nejlepší plán, který odpovídá vašim potřebám.

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

  3. Nastavení správné velikosti: Zkontrolujte, jestli není přiděleno příliš mnoho prostředků funkcím, které se nepoužívají. 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, na základě 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, abyste měli jistotu, že všechno funguje stejně, jak by mělo. Průběžně monitorujte využití prostředků a upravte 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í zotavení po havárii spočívá v tom, že se prostředky přidělené pro zotavení po havárii používají efektivně. Běžnou zdrojem nedostatečného využití je teplá (aktivní-pasivní) strategie zotavení po havárii. V teplé strategii zotavení po havárii obdrží jedno prostředí veškeré zatížení, zatímco druhé prostředí je nečinné, dokud nedojde ke scénáři havárie. Pokud chcete optimalizovat prostředí zotavení po havárii, zvažte, jak horký (aktivní),studený (aktivní-vypnutý) nebo přístup typu aktivní-opětovné nasazení může pomoct vyhnout se nedostatečně využ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 můž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 používat levnější prostředky, snížit kritické body v jednom bodu a využívat kapacity naplno. Může vést ke snížení nákladů z hlediska přípravy prostředků nebo idlingu. Horký přístup může vyžadovat větší investice do synchronizace a zachování parity mezi těmito dvěma prostředími.

  • Studené plány: Model zotavení po studené havárii zahrnuje pohotovostní prostředí, které zůstává neaktivní, dokud havárie neaktivuje potřebu převzetí služeb při selhání. Vzhledem k tomu, že pohotovostní prostředí aktivně neběží, minimalizují se náklady související s výpočetními prostředky, úložištěm a síťovými operacemi. 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 možná bude potřeba obnovit data. Před potvrzením tohoto přístupu se ujistěte, že doba obnovení odpovídá cílům doby obnovení vaší firmy (RTO).

  • Aktivní-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í zotavení po havárii ušetříte náklady spojené s údržbou nečinných prostředků. Ve scénáři převzetí služeb při selhání se účtují pouze náklady během skutečného nasazení. Podobně jako u studeného přístupu může tento model zavádět delší dobu obnovení, zejména pokud je složitost infrastruktury vysoká. Měli byste otestovat a změřit dobu obnovení, 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 úlohy 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:

  • Seznamte se s možnostmi 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ší úloze. Mějte na paměti konkrétní úroveň, kterou jste zvolili, a o funkcích, které jednotlivé úrovně nabízejí. Pokud například nepotřebujete automatické škálování nebo pokročilé sítě, 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žité disky, redundantní funkce zabezpečení nebo nevyužité síťové funkce.

  • Použijte správné verze: 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žijte správné konfigurace: Možná platíte za vyšší dostupnost nebo výkon, než potřebujete. Eliminujte dostupnost nebo záruky výkonu, které úlohy nepotřebují.

  • Eliminujte nepotřebnou automatizaci: Vyhodnoťte procesy automatizace a eliminujte všechny nevyužité automatizace, které by mohly vyžadovat další náklady.

  • Vyloučení redundance nástrojů: Zbavte se nástrojů, které nepotřebujete, ani nástroje, 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 sestavení 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 už v úloze existuje nějaký nástroj, který tuto úlohu dokáže. Eliminujte redundanci nástrojů, abyste se vyhnuli plýtvání penězi a co nejvíce z toho, co už máte.

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

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

  • Než změníte řešení, zjistěte původní příčinu: Než problém opravíte, ujistěte se, že víte, co je skutečně příčinou. Pokud je váš web například pomalý, nepřepínejte okamžitě na nový systém. Nejdřív zjistěte, proč je to pomalé. Můžete zjistit, že skutečný problém 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 seskupování prostředků, což usnadňuje sledování, odstraňování a předcházení osamoceným prostředkům. Vytvořte konzistentní strategii metadat napříč prostředky. Zvažte přidání vlastníků, očekávané doby trvání zdroje (například sunset-30d) nebo jiných značek.

  • Nestandardní změny dokumentu: Zdokumentujte všechny změny provedené v infrastruktuře nebo konfiguracích provedených mimo normální řídicí proces vaší úlohy, aby se snížily neočekávané náklady. Můžete například zvýšit kapacitu vertikálního navýšení kapacity (navýšení nebo snížení kapacity) prostředků tak, aby splňovala krátkodobou poptávku nebo sestavili prioritu problému, ale nezapomeňte ho vertikálně snížit. Vytvořte seznam nestandardních změn a použijte ho jako připomenutí, abyste změny vrátili, když už nejsou potřeba.

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

Usnadnění azure

Optimalizace funkcí aplikací: Pomocí služby Azure Monitor a Application Insights můžete monitorovat využití aplikace a identifikovat oblasti, které se používají nebo se nepoužívají. Na základě shromážděných přehledů můžete informovaně rozhodnout o odebrání nebo optimalizaci nepoužívaných nebo nevyužitých funkcí.

Optimalizace prostředků úloh a funkcí platformy: Azure Advisor poskytuje doporučení k nákladům k identifikaci a odstranění nepoužívaných prostředků. Pomocí Advisoru můžete analyzovat využití prostředků a přijímat návrhy k odebrání nebo snížení kapacity prostředků. 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 pomůžou řídit cíle využití a efektivity. Nabízí celou ř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ů Azure Monitoru můžete najít nebo vytvořit sešit, který vyhledá a hlá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á snížit náklady minimalizací využití nečinných prostředků.

Funkci automatického škálování v Azure můžete použít k automatickému škálování aplikace na základě předdefinovaných podmínek, takže kapacitu nemusíte překládat. 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 a oblastmi dostupnosti. 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 optimalizace nákladů

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