Doporučení pro optimalizaci nákladů na tok
Platí pro toto doporučení kontrolního seznamu optimalizace nákladů architektury s dobře navrženou architekturou Azure:
CO:09 | Optimalizace nákladů na tok Zarovnejte náklady na každý tok s prioritou toku. Při určování priorit toků zvažte funkce, funkce a nefunkční požadavky jednotlivých toků. 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ší úloze. Optimalizace nákladů na toky v úloze zahrnuje strategicky přidělování a správu prostředků, aby se minimalizovaly výdaje 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 infrastruktury. Pokud toky v úloze neoptimalizujete, riskujete nadměrné přespívání prostředků, což vede k nafouknutí provozních nákladů a snížení ziskovosti.
Definice
Pojem | 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 tento tok automaticky sleduje, aby umožňoval 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
Investujte více do toků s vysokou prioritou než do toků s nižší prioritou. Sladění priority toku 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 běží na samostatných prostředcích. Předpokládejme například, že máte webovou aplikaci, která zahrnuje 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é potřeby prostředků. Pokud chcete optimalizovat náklady i výkon, můžete oddělit toky nebo kombinovat toky:
Samostatné toky. Můžete například oddělit tok registrace uživatele 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.
Zkombinujte toky. Můžete například zkombinovat toky pro přihlášení 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ě zpracovávat potřeby obou toků náročných 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 zjednodušení komunikace a interakce mezi součástmi systému, minimalizací kritických bodů a zajištění efektivního využití prostředků.
Toky uživatelů Optimalizace toků uživatelů zahrnuje zlepšení uživatelského prostředí, snížení třecích bodů a zajištění hladké navigace a interakce v rámci aplikace nebo systému.
Vytvoření inventáře toků
Inventář toku je komplexní seznam a popis všech sekvencí akcí, přechodů dat a interakcí systému v rámci úlohy. Inventář toků je prvním krokem k zajištění investic v souladu s prioritou toků. Toky byste měli optimalizovat jenom v případě, že plně rozumíte jejich účelu a závislostem. Tady jsou kroky pro vytvoření inventáře toků úloh:
Toky dokumentů Začněte dokumentováním a výpisem všech existujících toků ve vaší úloze, abyste pochopili komplexní stav systému. Zahrňte všechny posloupnosti akcí, přechodů dat a interakcí se systémem. Seznamte se s každou komponentou, jako jsou externí služby, databáze, middleware a integrace třetích stran. Navíc sledujte nebo odhadujte objem požadavků v průběhu času.
Vizualizace toků Pokud chcete získat jasnější perspektivu, představte si svá zjištění vizuálně, případně v vývojových diagramech nebo diagramech. Vizualizace vám pomůžou vidět vzájemné závislosti mezi komponentami. Zvažte použití nástroje, jako je Visio, který vám pomůže s vizualizacemi.
Kategorizace toků Sbalte 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í priorit toků
Stanovení priorit toků je proces klasifikace toků na základě jejich vlivu na obchodní výsledky, důsledky na uživatelské prostředí a prostředky, které spotřebovávají. Kritické toky často vyžadují vyšší úrovně dostupnosti, rychlejší doby obnovení a lepší výkon pro splnění cílů úloh. Stanovením priority toků můžete lépe sladit útratu s prioritou toku. Pokud chcete určit prioritu toků, zvažte následující kroky:
Identifikujte hodnotu toku. Při optimalizaci nákladů na tok úloh je potřeba identifikovat tok, který poskytuje nejvyšší hodnotu. Nechcete utratit víc, než kolik stojí tok. Místo pouhého snižování nákladů zvažte přesun nákladů tak, aby upřednostňovaly cennější toky. Tok pokladny je například kritický pro firmu, ale historie nákupů není. Do toku rezervace byste měli přidělit více prostředků a rozpočtu.
Toky s nízkou prioritou mají nižší očekávání pro dostupnost, obnovení a výkon. Náklady můžete snížit pomocí levnějších konfigurací, abyste snížili náklady na výkon, dostupnost nebo útratu provozní kontinuity.
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í vysoké požadavky na dostupnost a smlouvy o úrovni služeb (SLA). Toky spojené s nižším RPO a RTO jsou důležitější než toky, které mají vyšší cíl bodu obnovení a RTO.
Optimalizace nezávislých toků
Někdy už vaše toky 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, které jsou součástí jednotlivých nezávislých toků, a určete, jestli existují způsoby jejich optimalizace nebo zjednodušení. 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, což snižuje složitost a náklady.
Přepracujte tok. Zvažte změnu návrhu architektury toku, aby se zlepšila její efektivita. Můžete například změnit posloupnost operací, snížit latenci nebo zlepšit rychlost přenosu dat.
Zvolte odpovídající úroveň výkonu. Různé toky můžou mít různé požadavky z hlediska rychlosti zpracování, paměti nebo jiných metrik prostředků. Nezapomeňte zvolit úroveň prostředků, která je v souladu s konkrétními požadavky jednotlivých toků.
Upravte nastavení škálování. Pokud tok zaznamená proměnlivou poptávku, zvažte implementaci automatického škálování pro dynamickou úpravu prostředků podle potřeb v reálném čase, čímž optimalizujete náklady.
Dolaďte konfigurace. Dolaďte další nastavení, jako jsou možnosti síťového úložiště nebo úložiště dat, abyste lépe odpovídali požadavkům na výkon a rozpočet toku.
Samostatné odlišné toky
Oddělení rozdílných toků na různé prostředky je proces přidělování odlišných úkolů s různými výpočetními potřebami vyhrazených prostředků. 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, potřeby zabezpečení a požadavky na dodržování předpisů. Často je nákladově efektivnější spouštět různé typy toků na samostatných prostředcích. To umožňuje přesné přidělování prostředků jednotlivým tokům, což snižuje zbytečné výdaje a zajišťuje maximální efektivitu.
Zvažte oddělení rozdílných toků, které jsou aktuálně kombinovány. Toto oddělení zvyšuje škálovatelnost, odolnost proti chybám a adaptabilnost a také zjednodušuje náklady. Tím, že zajistíte, že každý tok funguje nezávisle, snížíte rizika rušení a na základě priority jednotlivých toků můžete prostředky přidělovat nákladově efektivněji. Předpokládejme například, že jste colocate CRM (tok uživatele) s datovým modulem (tok dat). Uživatelský provoz 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 základě poptávky po úlohách. 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žíváním sdílených prostředků. Tato strategie eliminuje redundance 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, když oddělíte odlišné toky: výpočetní požadavky, závislosti dat, vstupně-výstupní operace, citlivost latence, potřeby zabezpečení a požadavky na dodržování předpisů. Tady je několik příkladů, kdy kombinace podobných toků úloh pro použití stejného prostředku může vést k podstatným úsporám:
Webové servery. Místo vyhrazování samostatných webových serverů pro každou aplikaci zvažte jejich konsolidaci, zejména pokud 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 údržby jednotlivých bran rozhraní API pro samostatné mikroslužby nebo aplikace můžete použít centralizovanou bránu rozhraní API ke zjednodušení požadavků a jejich směrování do příslušné služby. Díky tomu je správa jednodušší a snižuje náklady.
Zpracování protokolů. Místo toho, aby každá aplikace nebo služby provozovala vlastní instance zpracování protokolů, zvažte možnost nasměrovat je všechny na sdílený nástroj pro zpracování 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í vlastní mechanismy ověřování, zavádí se redundance. Integrace řešení jednotného přihlašování nebo sdílené ověřovací služby snižuje tuto duplikaci a optimalizuje využití prostředků, což snižuje náklady.
Riziko: Nemýlejte náhodu s návrhem. Dva toky, které vypadají podobně, nemusí nutně sloužit stejnému účelu. Než je sloučíte nebo změníte, musíte porozumět funkci a návrhu každého toku. Nesprávné interpretace toku tím, že se zaměří výhradně na jeho vzhled, může vést k nezamýšleným důsledkům a narušit službu nebo proces, který podporuje. Pokud více toků obsluhuje stejnou funkci a v jejich návrhu nebo záměru nejsou žádné rozpoznatelné rozdíly, zvažte jejich sloučení.
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 útratu toku, abyste měli jistotu, že náklady odpovídají prioritám. Vyhodnoťte využití prostředků jednotlivých toků analýzou výpočetních prostředků, úložiště a využití sítě přidružených k jednotlivým tokům. Identifikujte všechny neektivnosti nebo oblasti, ve kterých jsou prostředky nedostatečně využité. Tato analýza vám pomůže určit příležitosti pro optimalizaci nákladů. Při kontrole využití toku je potřeba vzít v úvahu některé aspekty:
Analyzujte vzory použití. Analyzujte vzory využití toků. Některé toky můžou být v určitých časech dne nebo měsíce aktivnější, zatímco jiné můžou mít konzistentní zatížení. Pochopením těchto vzorů 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řízení.
Monitorujte relevantní metriky. Určete metriky, které vám můžou pomoct vyhodnotit efektivitu a nákladovou efektivitu jednotlivých toků. Zvažte využití procesoru, náklady na přenos dat, náklady na transakce a nároky na úložiště. Pomocí monitorovacích nástrojů můžete shromažďovat 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í infrastruktury jako služby, jako jsou virtuální počítače. Potřebujete počítat s aktivitami, jako jsou opravy, upgrady, zálohy, monitorování a zabezpečení.
Během analýzy identifikujte všechny neekicience nebo oblasti, ve kterých se prostředky nevyužívají efektivně. Zvažte nečinné výpočetní instance, nepoužitá data a nízkou šířku pásma sítě. Tyto nefektivnosti můžou značit příležitosti pro optimalizaci nákladů.
Usnadnění azure
Určení priorit, optimalizace a monitorování toků: Nástroj Tok uživatele v Application Insights poskytuje vizuální znázornění navigace uživatelů na stránkách a funkcích webu. Tento nástroj pomáhá identifikovat oblasti, kde uživatelé často odcházejí, opakují akce nebo sledují konkrétní cesty. 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é četnosti změn, opakující se akce nebo chyby návrhu. Nástroj také umožňuje filtrování vlastních vlastností prostřednictvím dimenzí, které nabízejí šitější analýzu.
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 tím, že spravujete využití a uchovávání dat. Zvažte společné přidělení protokolů a použití vyhrazených řešení místo sdílených řešení, abyste mohli lépe spravovat náklady.
Související odkazy
Kontrolní seznam optimalizace nákladů
Projděte si kompletní sadu doporučení.