Doporučení pro optimalizaci nákladů na prostředí

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

CO:08 Optimalizujte náklady na prostředí. Sladění výdajů s cílem stanovit prioritu předprodukčních, produkčních, provozních a zotavení po havárii. Pro každé prostředí zvažte požadovanou dostupnost, licencování, provozní dobu a podmínky a zabezpečení. Neprodukční prostředí by měla emulovat produkční prostředí. Implementujte strategické kompromisy do neprodukčních prostředí.

Tato příručka popisuje doporučení pro optimalizaci nákladů v prostředích úloh. Každé prostředí by mělo být přizpůsobeno pro svůj konkrétní účel a optimalizováno pro nákladovou efektivitu. Je důležité provádět strategické kompromisy a přidělovat prostředky tam, kde jsou nejdůležitější, aniž by došlo k ohrožení kritických komponent. Když s prostředími zacházíte odlišně a odpovídajícím způsobem je optimalizujete, můžete dosáhnout rovnováhy mezi optimalizací nákladů a splněním požadovaných cílů.

Definice

Období Definice
Cíl bodu obnovení (RPO) Maximální přijatelná doba trvání ztráty dat během incidentu.
Plánovaná doba obnovení (RTO) Maximální přijatelná doba, po kterou může být aplikace po incidentu nedostupná.
Smlouva o úrovni služeb (SLA) Smluvní smlouva mezi poskytovatelem služeb a zákazníkem služby. Smlouva definuje cíle na úrovni služeb (SLO). Nedodržení smlouvy může mít finanční důsledky pro poskytovatele služeb.

Klíčové strategie návrhu

Cílem optimalizace nákladů na prostředí je najít správnou rovnováhu hodnoty, nákladů a rizik pro každé prostředí, včetně produkčních, předprodukčních a zotavení po havárii (DR). Přizpůsobte si každé prostředí pro jeho konkrétní použití, abyste ušetřili peníze a efektivně využívali prostředky. Určete výhody jednotlivých prostředí, jako je efektivita nebo spokojenost zákazníků. Chcete vyhodnotit návratnost investic (ROI) pro životní prostředí, a to i v případě, že nedochází k přímému zisku. Utrácejte více peněz za vysoce riziková prostředí, abyste snížili problémy a ušetřili peníze za prostředí s nízkým rizikem. Snažte se vyvážit hodnotu, náklady a rizika v každém prostředí.

Posouzení hodnoty prostředí

Posouzení hodnoty každého prostředí znamená pochopení jeho širšího dopadu na podnikání, měření spokojenosti uživatelů a určení, jak je v souladu se zastřešujícími cíli organizace. Toto hodnocení vám pomůže činit informovaná rozhodnutí o přidělování zdrojů a sladit náklady s prioritami životního prostředí. Podstata hodnoty přesahuje to, kolik výnosů prostředí generuje. Při vyhodnocování hodnoty prostředí musíte upřednostnit útratu způsobem, který rezonuje s cíli úlohy. Pokud chcete vyhodnotit hodnotu každého prostředí, vezměte v úvahu následující faktory:

  • Představte si uživatele: Zvažte, kdo jednotlivá prostředí používá a co od něj potřebuje. Zákazníci například používají produkční prostředí, které musí být spolehlivé a splňovat specifické smlouvy SLA pro výkon a dobu provozu.

    Na druhou stranu je vývojové prostředí určené hlavně pro tým úloh, jako jsou vývojáři a testeři. Toto prostředí nemusí splňovat smlouvy SLA určené pro zákazníky, ale mělo by mít nástroje a zdroje potřebné k tomu, aby tým mohl efektivně fungovat.

    Když porozumíte jedinečným potřebám uživatelů v každém prostředí, můžete lépe alokovat prostředky a vyhnout se dalším nákladům. Toto vyloučení pomáhá zajistit, aby každé prostředí bylo funkční a nákladově efektivní.

  • Sladění s hodnotami organizace: Srovnejte úsilí o snížení nákladů s prioritami vaší organizace, jako je zisk nebo spokojenost zaměstnanců. Pro každé prostředí porozumíte tomu, jak se definuje úspěch, abyste mohli své akce udržovat na cílovém základě. Pokud se například vaše organizace zaměřuje na maximalizaci zisku nebo spokojenost zaměstnanců, srovnejte rozhodnutí o útratě s těmito metrikami.

Určení nákladů na prostředí

Při určování nákladů na prostředí je třeba znát náklady na infrastrukturu, služby, licence a provozní náklady v jednotlivých prostředích úloh. Nástroje pro správu nákladů jsou klíčem k získání přehledu o vzorech útraty a trendech v různých prostředích. Pokud chcete určit náklady na prostředí, zvažte tyto strategie:

  • Identifikace faktorů nákladů: Identifikujte klíčové faktory, které řídí náklady v jednotlivých prostředích. Mezi tyto faktory patří využití prostředků, využití úložiště, uchovávání dat, přenos dat a konkrétní služby.

  • Vyhodnocení rizik: Vyhodnoťte rizika spojená s rozhodováním o výdajích a jejich potenciální dopad na životní prostředí a obchodní provoz. Zvažte faktory, jako jsou zabezpečení dat, dodržování předpisů, výkon, audity a požadavky sla.

  • Monitorování a úprava útraty: Nepřetržitě sledujte a analyzujte vzorce útraty, doručování hodnot a rizikové faktory. Pravidelně kontrolujte a upravujte strategie optimalizace útraty podle toho, jak se vyvíjejí potřeby prostředí a podnikání.

Optimalizace produkčního prostředí

Optimalizace nákladů v produkčním prostředí zahrnuje implementaci strategií ke snížení zbytečných nákladů a zlepšení provozní efektivity. Zaměřte se na rozdíl od produkčních nasazení a uspokojování potřeb uživatelů. Tady jsou doporučení pro optimalizaci produkčního prostředí:

  • Odlišení oblastí: Utraťte méně za oblasti, které obsluhují méně zákazníků. Například byste měli investovat více do oblasti, která obsluhuje 90 procent uživatelů, než do oblasti, která obsluhuje 10 procent uživatelů. Upravte strategii nasazení tak, aby splňovala požadavky jednotlivých oblastí a uživatelských segmentů.

  • Rozlišení škálování: Implementujte strategie horizontálního a vertikálního škálování. Efektivně škálujte prostředky tak, aby uspokojily poptávku bez nadměrného zřizování.

  • Rozlišovat infrastrukturu: Zvolte nákladově efektivní hardwarová řešení a řešení infrastruktury, která splňují požadovaný výkon a škálovatelnost. Zvažte faktory, jako je výkon, náklady, spolehlivost a škálovatelnost.

  • Ladění modelů tenantů: Přizpůsobte prostředí na základě modelu tenanta. Například utraťte více za služby a funkce pro placené tenanty a méně utraťte za neplacené tenanty.

Optimalizace prostředí zotavení po havárii

Prostředí zotavení po havárii označuje infrastrukturu a procesy, které úloha používá k obnovení po rušivé události. K rušivým událostem patří přírodní katastrofy, kybernetické útoky a selhání hardwaru. Vyvažte náklady na údržbu prostředí zotavení po havárii a potenciální vliv rušivé události. Zvažte následující strategie:

  • Vyhodnocení důležitosti systémů a dat: Vyhodnoťte důležitost systémů a dat a určete požadovanou úroveň ochrany a prostředků pro každou komponentu.

  • Určení objektů RTO a RPO: Pokud chcete pomoct určit návrh prostředí zotavení po havárii, definujte přijatelné limity výpadků a ztrát dat pro každý systém nebo aplikaci.

  • Optimalizace studeného prostředí zotavení po havárii: Studené prostředí zotavení po havárii má malou nebo žádnou infrastrukturu nebo spuštěné služby. Infrastrukturu jako kód (IaC) můžete použít k rychlému nasazení infrastruktury během rušivé události. Zásady zálohování a úložiště musí splňovat RPO a RTO prostředí. Ujistěte se, že množství a frekvence zálohování dat nejsou robustnější, než je potřeba.

    Kompromis: Studené prostředí zotavení po havárii je nákladově efektivní volbou, ale můžete mít dlouhé doby obnovení.

  • Optimalizace horkého prostředí zotavení po havárii: Veškerá infrastruktura a služby běží v horkém prostředí zotavení po havárii. Data zrcadlí primární lokalitu v reálném čase. V případě havárie poskytuje téměř okamžité převzetí služeb při selhání a minimální ztrátu dat. Zvažte nasazení typu aktivní-aktivní, abyste optimalizovali náklady.

  • Optimalizace teplého prostředí zotavení po havárii: Teplý přístup k zotavení po havárii představuje střední úroveň mezi studeným prostředím zotavení po havárii a horkým prostředím zotavení po havárii. Teplé prostředí je částečně aktivní a pravidelně se synchronizuje s primární lokalitou. Nabízí rovnováhu mezi náklady a dobou obnovení. Jedná se však o přístup s nejnižší optimalizací nákladů. Zvažte studený nebo horký přístup k optimalizaci nákladů.

Optimalizace předprodukčních prostředí

Optimalizace předprodukčních prostředí zahrnuje strategickou správu prostředků v oblastech vývoje, testování a příprav, aby se úzce simuluje produkce a zároveň se snížily zbytečné náklady. Předprodukční prostředí nevyžadují úplné škálování a dostupnost produkčních prostředí. Nejvíce příležitostí spočívá v přizpůsobení těchto prostředí konkrétním potřebám testování a vývoje bez přesného duplikování produkce. Mezi oblasti snížení nákladů patří použití prostředků s nižšími náklady, vypnutí nepotřebných služeb a uplatnění slev nabízených za předprodukční využití. Zvažte následující strategie optimalizace předprodukčních prostředí:

Vyhodnocení předprodukčních prostředí

Nedostatečné nebo nesprávné přidělení předprodukčních prostředí může vést k nadměrnému nebo nedostatečnému zřizování prostředků. Pokud chcete vyhodnotit předprodukční prostředí pro vaši úlohu, zvažte následující doprovodné materiály:

  • Vysvětlení typů prostředí: Identifikujte typy předprodukčních prostředí, jako je vývoj, testování a příprava, které potřebujete pro úlohu. Každé prostředí by mělo mít definovanou roli a konkrétní funkci, aby se zajistilo efektivní přidělování prostředků.

  • Sladění s požadavky uživatelů: Než nastavíte předprodukční prostředí, seznamte se s požadavky a očekáváními uživatelů. Přizpůsobte funkce a specifikace na základě jejich potřeb, abyste se vyhnuli zbytečným výdajům na funkce nebo prostředky.

  • Konsolidace prostředí: Určete, jestli můžete kombinovat prostředí bez ohrožení jejich funkčnosti. Kombinujte prostředí s funkcemi, které se nepřekrývají. Můžete například sloučit prostředí pro přijetí uživatele s prostředím pro zajištění kvality. Funkce jsou odlišné a jedno prostředí je obvykle nečinné, když se druhé používá.

    Riziko: Při kombinování prostředí buďte opatrní, abyste nezaváděli konflikty nebo neohrožujte procesy testování nebo vývoje.

Následující tabulka obsahuje příklady běžných předprodukčních prostředí.

Příklad předprodukčního prostředí Description
Vývojové prostředí Vývojáři používají toto prostředí k psaní a testování kódu. Poskytuje prostor sandboxu, aby vývojáři mohli experimentovat, vytvářet a integrovat změny kódu.
Prostředí pro zajištění kvality Toto prostředí je vyhrazené pro aktivity kontroly kvality. Používá se k testování, aby bylo možné identifikovat a opravit chyby nebo problémy před nasazením do produkčního prostředí.
Prostředí zabezpečení Toto prostředí je určené k testování zabezpečení. Slouží k zajištění zabezpečení aplikace před hrozbami a ohroženími zabezpečení.
Testovací prostředí pro přijetí uživatelů V tomto prostředí koncoví uživatelé a zúčastněné strany testují aplikaci, aby ověřili její funkčnost a zajistili, že splňuje požadavky a očekávání.
Přípravné prostředí Toto prostředí se velmi podobá produkčnímu prostředí. Je určená k závěrečnému testování a ověření před nasazením do produkčního prostředí.

Použití zásad správného řízení

Použití zásad správného řízení spočívá v omezení možností nasazení v předprodukčních prostředích za účelem řízení výdajů a zmírnění rizik. V předprodukci máte flexibilitu přizpůsobit konfiguraci a nasazovat prostředky. Čím více se předprodukční prostředí odchyluje od produkčního prostředí, tím větší je potenciální riziko. Použití zásad správného řízení k omezení předprodukčních prostředí Zvažte následující pokyny:

  • Omezení úrovní výkonu: Vyhodnoťte požadavky na výkon předprodukčních prostředí. Zvolte úrovně výkonu, které vyrovnává náklady a výkon. Služba má často různé úrovně výkonu a některé z těchto úrovní jsou vhodnější pro testování. Některé služby mají úrovně, které nabízejí funkce podobné produkčnímu prostředí, ale nepřicházejí se smlouvou SLA. Tyto služby snižují náklady, ale stále poskytují potřebné funkce pro testování a vývoj.

  • Vysvětlení předprodukčních skladových položek: Některé skladové položky jsou navržené pro vývojová prostředí. Pokud chcete optimalizovat náklady, vyhodnoťte služby a úrovně. Pokud úloha nevyžaduje vysoký výkon, zvolte úrovně s nízkým výkonem.

  • Řízení počtu instancí a procesorů: Určete optimální počet instancí a prostředků procesoru, které vaše předprodukční prostředí potřebuje, na základě požadavků úloh. Vyhněte se nadměrnému zřizování prostředků, abyste minimalizovali náklady.

  • Omezení uchovávání a protokolování: Definujte zásady uchovávání informací pro protokoly a data v předprodukčních prostředích. Zvažte dobu potřebnou k uchovávání protokolů a dat na základě požadavků na dodržování předpisů a aspektů nákladů. Vyhněte se nadměrnému protokolování a uchovávání, abyste snížili náklady na úložiště.

  • Používejte konzistentní architekturu procesoru: Použijte stejnou architekturu procesoru v předprodukci i v produkčním prostředí. Například aplikace x86 se nespouštějí nativně v Azure Resource Manager a naopak. Pokud chcete zajistit kompatibilitu a minimalizovat potenciální problémy, použijte stejnou architekturu procesoru jako produkční prostředí.

  • Používejte stejný operační systém: Vyhněte se změnám operačního systému (například z Windows na Linux) nebo jádra v předprodukčních prostředích. Software vytvořený pro Windows často neběží nativně v Linuxu bez vrstvy kompatibility a naopak. Systémy souborů a adresářové struktury se liší, což může způsobit problémy s opravami aplikací. Konzistentní prostředí pomáhají snížit riziko problémů s kompatibilitou a zajistit bezproblémová nasazení.

  • Omezení škálování: Pokud chcete optimalizovat náklady, můžete omezit automatizaci a zmírnit tak neběžnou automatizaci. Například ve vývojovém prostředí nastavte maximální limit škálování na tři a v produkčním prostředí ho nastavte na 10. Omezte škálování, abyste mohli řídit náklady na využití prostředků a automatizaci.

  • Vypnutí nepotřebných prostředků: Vypněte prostředky, které nejsou aktivně používány, například mimo pracovní dobu a víkendy. K naplánování vypínání a spouštění prostředků můžete použít automatizační nástroje nebo skripty. Někteří dodavatelé poskytují rozhraní API, která můžete použít k programovému zastavení a spuštění prostředků. Zvažte použití IaC k vytvoření dočasných prostředí, která můžete odebrat, když je už nepotřebujete.

  • Omezení dostupných oblastí: Zvažte potenciální výhodu provozování předprodukčních prostředí v různých oblastech, kde můžou být prostředky Azure levnější. Pokud chcete optimalizovat náklady na tato prostředí, omezte předprodukční nasazení na tyto oblasti.

Vyvážení podobnosti s produkčním prostředím

Pro předprodukční prostředí je často zbytečné a nákladné přesně zrcadlit produkční prostředí. Cílem je zajistit, aby každé předprodukční prostředí bylo odpovídajícím způsobem odlišné od produkčního prostředí, aby se zabránilo zbytečným nákladům. Pokud se ale předprodukce a produkční prostředí liší, existuje riziko nasazení chyby do produkčního prostředí. Čím jsou tato prostředí odlišnější, tím větší je riziko. Přizpůsobení předprodukčního prostředí tak, aby vyhovovalo vašim potřebám, vám může pomoct se správou rizik a optimalizací nákladů. Pokud chcete vyvážit podobnost s produkčním prostředím, zvažte následující doporučení:

  • Vyhněte se přesným replikám: Vyhněte se tomu, aby předprodukční prostředí bylo přesnou kopií produkčního prostředí. Může zbytečně zvyšovat náklady. Create předprodukční prostředí, které je nákladově efektivní, ale umožňuje odhalit a řešit potenciální rizika před nasazením.

  • Vyhněte se extrémním odchylkám: Vyhněte se nadměrným odchylkám od produkce, jako je používání různých služeb. Různé služby nemusí přesně simulovat reálná rizika. Určete prahovou hodnotu rizika a nepřekračujte ji jenom kvůli úspoře peněz.

  • Zkrátit moduly runtime: Zvažte zkrácení běhových modulů procesů v předprodukční fázi, abyste ušetřili peníze. Buďte opatrní před novými chybami zabezpečení, které se mohou objevit, jako jsou nezjištěné nevracení paměti.

  • Kontrola licencí: Zkontrolujte licenční plány pro vaše nástroje zabezpečení. Pokud se počet uzlů mezi produkčním a předprodukčním nastavením výrazně liší, přehodnocujte své potřeby a vylaďte náklady bez ohrožení zabezpečení.

Optimalizace vývojových prostředí

Vývojová prostředí jsou navržená pro účely vývoje, testování a ladění. Mají kratší životní cyklus a často se vytvářejí podle potřeby a existují po krátkou dobu. Vývojová prostředí mají obvykle nižší požadavky na spolehlivost, kapacitu a zabezpečení v porovnání s jinými předprodukčními a produkčními prostředími. Můžou mít méně funkcí a můžou přijímat nižší využití prostředků. Optimalizace vývojového prostředí:

  • Vyhodnocovat nástroje: Pravidelně vyhodnocujte nákladovou efektivitu aktuálního nastavení nástrojů, včetně integrovaných vývojových prostředí (IDE), licencí a souvisejících nástrojů. Zvažte bezplatné nebo opensourcové alternativy, které nabízejí podobné funkce bez ohrožení kvality. Neustále přehodnotujte nutnost a efektivitu těchto nástrojů s vývojem vývojového prostředí.

  • Zvažte hardware: Vyhodnoťte náklady a výkon aktuálních hardwarových nastavení. Investice do lepšího a efektivnějšího hardwaru může zvýšit produktivitu a snížit dlouhodobé náklady. Místo častých výměn hardwaru zvažte upgrade stávajících systémů, abyste prodloužili jejich životnost a zlepšili výkon.

  • Optimalizace počtu prostředí: Analyzujte výhody a nevýhody individuálních vývojových prostředí oproti sdílenému prostředí. Jednotlivá prostředí můžou napodobovat produkční nastavení, zabránit rušení mezi vývojáři a nabízet přizpůsobená nastavení. S rostoucím počtem vývojářů se ale škálování stává nákladnější. Sdílená prostředí můžou šetřit náklady, ale pokud problémy ovlivňují současně celý vývojový tým, můžou vzniknout obavy o spolehlivost. Najděte správnou rovnováhu založenou na nákladech, zmírnění rizik, efektivitě a spokojenosti vývojářů.

  • Pravidelné čištění: Pravidelně čistíte a optimalizujte vývojové prostředí, abyste se vyhnuli kumulaci osamocených prostředků, nepoužívaných dat a testování konceptu experimentů. Implementujte procesy čištění nebo automatizované nástroje k identifikaci a odebrání nepoužívaných prostředků. Používejte pouze základní a aktivní součásti. Pravidelné čištění pomáhá snižovat náklady na úložiště a zajišťuje efektivní využití prostředků.

  • Implementace vzorkovaného škálování: Místo škálování všech komponent na maximální kapacitu zvažte ukázkový přístup, při kterém selektivně škálujete důležité komponenty. Tento přístup může být nákladově efektivní a současně minimalizovat rizika. Vyhodnoťte poměr rizika a přínosu při neškálování určitých prvků a zvažte potenciální dopad na životní prostředí.

  • Optimalizace správy dat: Vývojová prostředí můžou mít nízké požadavky na uchovávání dat a frekvenci zálohování.

Zvážení emulace koncového bodu

Náklady v předprodukčním prostředí můžete optimalizovat pomocí emulace koncových bodů nebo napodobení koncových bodů, zejména u drahých prostředků, jako jsou GPU. Identifikujte komponenty nebo služby v předprodukčním prostředí, které jsou nejdražší nebo nejnáročnější na prostředky. Pomocí napodobených koncových bodů můžete simulovat odpovědi těchto nákladných komponent, aniž byste je museli vyvolat. K simulaci odpovědí rozhraní API můžete použít nástroje, jako je WireMock, napodobený server Postman nebo vlastní implementace.

Emulace a napodobení koncových bodů pomáhají šetřit náklady, ale musíte zajistit, aby v dostatečné míře představovaly produkční prostředí pro testování. Dosažení rovnováhy mezi přesností a náklady, abyste se vyhnuli budoucím problémům v produkčním prostředí. Pokud jsou například grafický procesor hlavním nákladovým faktorem, zvažte emulaci GPU pro úlohy, které nevyžadují skutečný výpočetní výkon GPU v předprodukčních fázích. Emulace nemusí plně představovat výkon nebo vlastnosti skutečných GRAFICKÝch procesorů, proto ji použijte, když přesné chování GPU není pro testování předprodukcí důležité.

Usnadnění Azure

Určení a optimalizace nákladů na prostředí:Microsoft Cost Management je sada nástrojů, které organizacím pomáhají monitorovat, přidělovat a optimalizovat náklady na úlohy microsoft cloudu. Služba Cost Management je dostupná všem uživatelům, kteří mají přístup k rozsahu fakturace nebo správy prostředků.

Azure Advisor je nástroj, který poskytuje doporučení pro optimalizaci nákladů, včetně identifikace oblastí využití virtuálních počítačů, které vyžadují optimalizaci. Advisor vám pomůže činit informovaná rozhodnutí a optimalizovat náklady ve vašem prostředí Azure. Azure poskytuje nástroje a funkce pro správu nákladů, které pomáhají stanovit prioritu výdajů. Pomocí těchto nástrojů můžete sledovat a analyzovat náklady v různých prostředích, nastavovat rozpočty a dostávat doporučení k optimalizaci nákladů.

Použití zásad správného řízení: S Azure Policy můžete omezit typy prostředků, skladové položky a instance definováním pravidel zásad, která vynucují omezení typů prostředků, které můžete nasadit ve svém prostředí Azure. Můžete mít kontrolu nad zřízenými prostředky a zajistit dodržování zásad a osvědčených postupů vaší organizace.

Pokud chcete omezit typy prostředků pomocí Azure Policy, můžete definovat pravidla zásad, která určují povolené typy prostředků. Použijte tato pravidla na příslušná předplatná Nebo skupiny prostředků Azure. Azure Policy brání uživatelům v nasazování prostředků, které nejsou povolené.

Azure Resource Manager slouží k definování a správě prostředků deklarativním způsobem. Prostředky, které jsou přiděleny jednotlivým prostředím, můžete ladit na základě jejich konkrétních požadavků. K optimalizaci nákladů použijte šablony a parametrizujte konfigurace prostředků.

Optimalizace předprodukčních prostředí: Azure nabízí cenové možnosti pro vývoj/testování, které poskytují snížené sazby pro neprodukční prostředí. Důležitým produkčním prostředím můžete přidělit více prostředků a rozpočtu, což optimalizuje náklady v neprodukčních prostředích. Můžete také využít nabídku licencování Azure, Zvýhodněné hybridní využití Azure.

K napodobení rozhraní API můžete použít Azure API Management. API Management funguje jako fasáda back-endových služeb, což umožňuje poskytovatelům rozhraní API abstrahovat implementace rozhraní API a vyvíjet back-endovou architekturu, aniž by to mělo vliv na uživatele rozhraní API.

Kontrolní seznam pro optimalizaci nákladů

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