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

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

CO:09 Optimalizace nákladů na toky Srovnejte náklady na každý tok s prioritou toku. Při určování priority toků vezměte v úvahu funkce, funkce a nefunkční požadavky každého toku. Optimalizace výdajů na toky často vyžaduje strategické kompromisy.

Tato příručka popisuje doporučení pro optimalizaci nákladů na jednotlivé toky ve vašich úlohách. Optimalizace nákladů na toky v úloze zahrnuje strategické přidělování a správu prostředků, aby se minimalizovaly náklady při zachování výkonu. Tato optimalizace je zásadní, protože zajišťuje efektivní využití investovaných prostředků, snižuje zbytečné výdaje a zlepšuje celkovou návratnost investic do infrastruktury. Pokud neoptimalizujete náklady na toky v úloze, riskujete nadměrné výdaje na prostředky, což vede ke zvýšení provozních nákladů a snížení ziskovosti.

Definice

Období Definice
Oddělit Strategie odebrání toku z prostředku, který obsahuje více toků, a jeho umístění do samostatného prostředku
Tok V úloze posloupnost akcí, které provádějí konkrétní funkci. Tok zahrnuje přesun dat a spouštění procesů mezi komponentami úlohy.
Tok systému Tok informací a procesů v rámci systému. Systém podle tohoto toku automaticky povolí toky uživatelů nebo funkce úloh.
Tok uživatele Cesty nebo posloupnosti akcí, které uživatelé provádějí v rámci aplikace nebo systému.

Klíčové strategie návrhu

Investovat více do toků s vysokou prioritou než do toků s nižší prioritou. Sladění priority toků a výdajů může zahrnovat oddělení toků, které aktuálně sdílejí stejný prostředek. Může také zahrnovat kombinování toků, které mají podobné požadavky, ale spouští se na samostatných prostředcích. Předpokládejme například, že máte webovou aplikaci, která obsahuje více toků, jako je registrace uživatelů, přihlášení a zpracování dat. Tyto toky běží na jednom serveru, i když mají různé požadavky na prostředky. Pokud chcete optimalizovat náklady i výkon, můžete toky oddělit nebo je zkombinovat:

  • Oddělte toky. Můžete například oddělit tok registrace uživatelů od ostatních a přesunout ho na vyhrazený server s nižšími náklady. Tento tok je důležitý, ale není náročný na prostředky, takže je vhodným kandidátem na levnější server.

  • Kombinování toků Můžete například zkombinovat toky přihlašování a zpracování dat, které mají vyšší požadavky na prostředky, a spouštět je společně na vysoce výkonném serveru. Kombinace těchto toků umožňuje serveru efektivně zvládat požadavky obou toků náročné na prostředky. Optimalizuje výkon a náklady.

V úloze můžou existovat různé typy toků nebo cest, které je potřeba zvážit. Tato příručka se zaměřuje na následující typy toků:

  • Systémové toky. Optimalizace systémových toků zahrnuje zefektivnění komunikace a interakce mezi součástmi systému, minimalizaci kritických bodů a zajištění efektivního využití prostředků.

  • Toky uživatelů. Optimalizace toků uživatelů zahrnuje vylepšení uživatelského prostředí, snížení třecích bodů a zajištění plynulé navigace a interakce v rámci aplikace nebo systému.

Vytvoření inventáře toků

Inventář toků je úplný seznam a popis všech sekvencí akcí, přechodů dat a systémových interakcí v rámci úlohy. Inventář toků je prvním krokem k zajištění souladu investic s prioritou toků. Toky byste měli optimalizovat pouze v případě, že plně rozumíte jejich účelu a závislostem. Tady je postup vytvoření inventáře toků úloh:

  1. Toky dokumentů. Začněte dokumentací a výpisem všech existujících toků v úlohách, abyste získali přehled o komplexním stavu systému. Zahrňte každou posloupnost akcí, přechody dat a systémové interakce. Seznamte se s každou komponentou, jako jsou externí služby, databáze, middleware a integrace třetích stran. Kromě toho sledujte nebo odhadněte objem požadavků v průběhu času.

  2. Vizualizujte toky. Pokud chcete získat přehlednější perspektivu, znázorněte svá zjištění vizuálně, třeba ve vývojových diagramech nebo diagramech. Vizualizace pomáhají vidět vzájemné závislosti mezi komponentami. Zvažte použití nástroje, jako je Visio, který vám pomůže s vizualizacemi.

  3. Kategorizace toků Sbalit podobné toky s ohledem na atributy, jako jsou jejich funkce (například ověřování, načítání dat a zpracování transakcí), důležitost pro firmu nebo prostředky, které používají (procesor, paměť nebo šířka pásma).

Stanovení priority toků

Stanovení priorit toků je proces klasifikace toků na základě jejich vlivu na obchodní výsledky, dopadů na uživatelské prostředí a prostředků, které spotřebovávají. Kritické toky často vyžadují vyšší úroveň dostupnosti, rychlejší dobu obnovení a lepší výkon, aby byly splněny cíle úloh. Stanovením priority toků můžete lépe sladit výdaje s prioritou toku. Pokud chcete určit prioritu toků, zvažte následující kroky:

  • Identifikujte hodnotu toku. Při optimalizaci nákladů na toky úloh je potřeba identifikovat tok, který poskytuje nejvyšší hodnotu. Nechcete utratit víc, než je hodnota toku. Místo pouhého snižování nákladů zvažte přesun nákladů, abyste upřednostnit hodnotnější toky. Například tok pokladny je pro firmu důležitý, ale historie nákupů ne. Pro tok rezervace byste měli přidělit více prostředků a rozpočet.

    Toky s nízkou prioritou mají nižší očekávání z hlediska dostupnosti, obnovení a výkonu. Náklady můžete snížit použitím levnějších konfigurací, které vám pomůžou snížit náklady na výkon, dostupnost nebo provozní kontinuitu.

  • Zvažte metriky toku. Pokud se vám nedaří určit prioritu toků, zvažte cíle dostupnosti a obnovení, které jste jim přiřadili. Kritické toky často mají požadavky na vysokou dostupnost a smlouvy o úrovni služeb (SLA). Toky spojené s nižším RPO a RTO jsou důležitější než toky s vyšším RPO a RTO.

Optimalizace nezávislých toků

Někdy vaše toky už běží na různých prostředcích. V těchto případech můžete snadněji vyhodnotit a optimalizovat útratu. Vyhodnoťte komponenty a procesy zahrnuté do jednotlivých nezávislých toků a určete, jestli existují způsoby, jak je optimalizovat nebo zjednodušit. Pokud chcete optimalizovat nezávislé toky, můžete postupovat takto:

  • Eliminujte nepotřebné součásti. Odeberte všechny nadbytečné prvky, které nepřispívají k základním funkcím toku, a tím snižte složitost a náklady.

  • Přepracujte tok. Zvažte návrh architektury toku, abyste zvýšili jeho efektivitu. Můžete například změnit posloupnost operací, snížit latenci nebo zlepšit rychlost přenosu dat.

  • Zvolte vhodnou úroveň výkonu. Různé toky můžou mít různé požadavky na rychlost zpracování, paměť nebo jiné metriky prostředků. Nezapomeňte zvolit úroveň prostředků, která je v souladu se specifickými požadavky jednotlivých toků.

  • Upravte nastavení měřítka. Pokud tok zaznamená proměnlivou poptávku, zvažte implementaci automatického škálování, které dynamicky upraví prostředky podle potřeb v reálném čase, a tím optimalizuje náklady.

  • Vylaďte konfigurace. Dolaďte další nastavení, jako jsou možnosti sítě nebo úložiště dat, aby lépe odpovídaly požadavkům toku na výkon a rozpočet.

Oddělené odlišné toky

Oddělení odlišných toků na různé prostředky je proces přidělování různých úkolů s různými výpočetními potřebami vyhrazeným prostředkům. Odlišné toky jsou toky, které mají různé atributy. Mezi tyto atributy patří výpočetní požadavky, závislosti dat, vstupně-výstupní operace, citlivost latence, požadavky na zabezpečení a požadavky na dodržování předpisů. Spouštění různých typů toků na samostatných prostředcích je často nákladově efektivnější. Tím se umožní přesné přidělení prostředků každému toku, což snižuje zbytečné výdaje a zajišťuje maximální efektivitu.

Zvažte oddělení odlišných toků, které jsou v současné době kombinovány. Toto oddělení zvyšuje škálovatelnost, odolnost proti chybám a přizpůsobivost a také zjednodušuje náklady. Tím, že zajistíte, aby každý tok fungoval nezávisle, snížíte rizika rušení a můžete prostředky přidělovat nákladově efektivněji na základě priority jednotlivých toků. Předpokládejme například, že společně rozmísťujete CRM (tok uživatelů) s datovým modulem (tokem dat). Provoz uživatelů do systému CRM během pracovní doby může zpomalit datový modul. Když oddělíte toky, může datový modul škálovat každou komponentu nebo službu nezávisle na požadavcích úloh. Toto oddělení optimalizuje přidělování prostředků a snižuje náklady.

Kombinování podobných toků

Kombinování podobných toků do jednoho zdroje je proces konsolidace úkolů nebo procesů se srovnatelnými atributy a použití sdílených prostředků pro ně. Tato strategie eliminuje redundanci a zajišťuje efektivnější využití prostředků, což vede k významným úsporám nákladů. Podobné typy toků sdílejí podobné atributy. Můžete zvážit stejné atributy, na které se díváte při oddělení odlišných toků: výpočetní požadavky, závislosti dat, vstupně-výstupní operace, citlivost latence, požadavky na zabezpečení a požadavky na dodržování předpisů. Tady je několik příkladů, kdy kombinování podobných toků úloh při použití stejného prostředku může vést k výrazným úsporám:

  • Webové servery. Místo toho, abyste pro každou aplikaci vydělovali samostatné webové servery, zvažte jejich konsolidaci, zejména v případě, že jejich provoz není konzistentně vysoký. Sdílený webový server spárovaný s reverzním proxy serverem může efektivně spravovat a směrovat provoz do více aplikací.

  • Brány rozhraní API. Místo udržování jednotlivých bran rozhraní API pro samostatné mikroslužby nebo aplikace můžete použít centralizovanou bránu rozhraní API, která zefektivní požadavky a nasměruje je na příslušnou službu. Usnadníte tím správu a také snížíte náklady.

  • Zpracování protokolů. Místo toho, abyste měli více aplikací nebo služeb, z nichž každá provozuje vlastní instance zpracování protokolů, zvažte jejich nasměrování všech do nástroje pro zpracování sdílených protokolů. Tento přístup minimalizuje počet aktivních instancí, což znamená přímé úspory nákladů.

  • Ověřovací služby. Pokud více aplikací nasadí vlastní mechanismy ověřování, zavede se redundance. Integrace řešení jednotného přihlašování (SSO) nebo služby pro společné ověřování snižuje tuto duplicitu a optimalizuje využití prostředků, což snižuje náklady.

Riziko: Nemýlejte se náhodou s designem. Dva toky, které vypadají podobně, nemusí nutně sloužit stejnému účelu. Před sloučením nebo změnou jednotlivých toků potřebujete porozumět jejich funkcím a návrhu. Nesprávná interpretace toku tím, že se zaměřuje výhradně na jeho vzhled, může vést k nezamýšleným důsledkům a narušit službu nebo proces, které tento tok podporuje. Pokud více toků obsluhuje stejnou funkci a v jejich návrhu nebo záměru nejsou patrné žádné rozdíly, zvažte jejich konsolidaci.

Průběžné monitorování toků

Povaha toků a úloh se může v průběhu času měnit, takže je potřeba zkontrolovat výdaje na toky, abyste měli jistotu, že náklady odpovídají prioritám. Vyhodnoťte využití prostředků každého toku analýzou výpočetních prostředků, úložiště a využití sítě přidružené k jednotlivým tokům. Identifikujte případné nedostatky nebo oblasti, ve kterých jsou prostředky nevyužité. Tato analýza vám pomůže určit příležitosti pro optimalizaci nákladů. Tady je několik aspektů, které je potřeba vzít v úvahu při kontrole využití toku:

  • Analýza vzorů využití Analyzujte vzory využití toků. Některé toky můžou být v určitých denních nebo měsíčních časech aktivnější, zatímco jiné můžou mít konzistentní zatížení. Když těmto vzorům porozumíte, můžete předpovědět potřeby prostředků a upravit přidělení, abyste se vyhnuli kritickým bodům a nadměrnému zřizování.

  • Monitorujte relevantní metriky. Určete metriky, které vám můžou pomoct vyhodnotit efektivitu a nákladovou efektivitu každého toku. Vezměte v úvahu využití procesoru, náklady na přenos dat, transakční náklady a nároky na úložiště. Pomocí monitorovacích nástrojů shromážděte podrobné metriky o využití a výkonu prostředků.

  • Zvažte průběžnou údržbu. Vezměte v úvahu náklady na údržbu, zejména pokud používáte řešení typu infrastruktura jako služba, jako jsou virtuální počítače. Musíte počítat s aktivitami, jako jsou opravy, upgrady, zálohování, monitorování a zabezpečení.

Během analýzy identifikujte případné nedostatky nebo oblasti, ve kterých se prostředky nevyužívají efektivně. Zvažte nečinné výpočetní instance, nevyužitá data a malou šířku pásma sítě. Tyto nedostatky můžou značit příležitosti k optimalizaci nákladů.

Usnadnění Azure

Stanovení priority, optimalizace a monitorování toků:Nástroj Tok uživatelů ve službě Application Insights poskytuje vizuální znázornění navigace uživatelů na stránkách a funkcích vašeho webu. Tento nástroj pomáhá identifikovat oblasti, ve kterých uživatelé často odcházejí, opakují akce nebo se řídí konkrétními cestami. Porovnáním skutečného chování uživatelů s očekávanými výsledky a cíli můžete identifikovat kritické toky. Umožňuje také optimalizovat potenciální problémy, jako jsou vysoká četnost změn dat, opakované akce nebo chyby návrhu. Tento nástroj také umožňuje filtrování vlastních vlastností prostřednictvím dimenzí a nabízí analýzu šitou na míru.

Azure Monitor vám pomůže získat přehled o výkonu a stavu vašich aplikací. Poskytuje možnosti monitorování a diagnostiky. Tyto funkce umožňují identifikovat kritické body výkonu, optimalizovat využití prostředků a zjišťovat a řešit problémy, které můžou mít vliv na náklady.

Log Analytics je nástroj, který umožňuje shromažďovat, analyzovat a vizualizovat data protokolů z různých zdrojů. Pomocí Log Analytics můžete získat přehled o protokolech aplikací a infrastruktury, identifikovat trendy a optimalizovat náklady díky správě využití a uchovávání dat. Zvažte společné umístění protokolů a použití vyhrazených řešení místo sdílených, abyste mohli lépe spravovat náklady.

Kontrolní seznam pro optimalizaci nákladů

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