Microsoft Azure poskytuje výkonnou sadu služeb, které pomáhají vývojářům vytvářet a nasazovat své aplikace. Azure umožňuje tak snadné použití, že můžete rychle nechat své náklady na hosting Azure vymknout kontrole. Existují však způsoby, jak lépe spravovat ceny Azure a optimalizovat celkové náklady.
ve společnosti Stackify používáme Azure více než 4 roky. Vyrostli jsme s Azure, jak rádi říkáme, a využíváme širokou škálu různých služeb Azure a každý rok na něj utratíme malé jmění. Píšeme tento článek, abychom se podělili o některé z našich nejlepších tipů.
Zaměřme se na 5 různých způsobů, jak snížit vaše náklady:
- Snížit vaše skutečné azure ceny
- Zjistit, jaké jsou vaše současné náklady
- Optimalizovat, jak si nasadit své aplikace
- Zlepšit výkon vaší aplikace
- Další tipy
Jak Snížit Microsoft Azure Ceny & Efektivní Azure Řízení Nákladů
Jedním z nejjednodušších věcí, které můžete udělat, je jednoduše získat nějaké slevy na váš účet, nebo získat něco zdarma!
1. Předplaťte si slevu, a to i na účtu pay-as-you-go.
společnost Microsoft nabídla slevy 2,5-5% na základě 6 nebo 12 měsíců předplacení. Zkontrolujte, zda můžete využít tohoto. Dohoda EA však může být lepší volbou.
2. Získejte smlouvu EA pro maximální slevy Azure.
dohody EA vyžadují výběr ročního peněžního závazku, který uzamkne diskontní sazbu. Poté Vám bude účtována čtvrtletní částka za jakékoli překročení nad rámec vašeho ročního závazku.
dohoda EA vám může u některých produktů Azure ušetřit až 20-30%. Pozor, plány diskontních sazeb jsou nepořádek. Jako příklad, vaše diskontní sazba na SQL Azure by mohla být 5%, ale cloudové služby by mohly být něco jako 10-20% a je to jiné pro každou jednotlivou SKU, kterou prodávají. Někteří nemusí nabídnout velkou slevu vůbec. Existují tisíce sku. Nezapomeňte tedy vědět, jaké služby Azure skutečně potřebujete, a maximalizovat slevu na tyto sku ve vaší dohodě EA.
3. Můžete se přihlásit do Bizsparku?
Stackify byl původně v Bizsparku a byl schopen získat spoustu úžasných bezplatných výhod. Společnost Microsoft inzeruje až 120 000 USD v bezplatných výhodách pro startupy. To není špatný obchod!
4. Můžete přepnout Azure regiony pro lepší ceny azure?
ceny Azure se v jednotlivých regionech liší, dokonce i v USA. Zkontrolujte ceny v různých regionech a zjistěte, zda můžete trochu ušetřit.
příklad: A2 VM v Západní USA je $ 133.92 ale $ 126.48 v Západní USA 2. Austrálie východ $ 168.14
5. Získejte zdarma peníze od společnosti Microsoft spoluprací s partnerem Azure na projektu.
Pokud máte velký projekt na přesun do Azure, můžete získat nějaké slevy, aby pomoci motivovat a platit za Microsoft partner pomáhat, aby se to stalo. Jako jeden příklad, dokázali jsme to udělat, abychom pomohli udělat spoustu práce s šéfkuchařem.
zjistěte, jaké jsou vaše současné náklady na Azure, a organizujte hlášení
kurzy jsou, nevíte, co nevíte, pokud jde o to, kolik utrácíte a na co je utrácíte. S Azure je tak snadné roztočit nové zdroje a jednoduše na ně zapomenout.
6. Vědět, kolik utratíte za co, což je těžké bez nástroje pro to.
Microsoft má několik nástrojů, které můžete použít k analýze fakturace:
- Azure billing portal
- EA portal – https://ea.azure.com/
oba tyto ponechávají hodně žádoucí pro jakoukoli pokročilou úroveň hlášení. Data EA můžete připojit k PowerBI, což otevírá další příležitosti pro křupání dat, ale opravdu potřebujete segmentovat data podle projektu, oddělení atd. Chcete-li získat více vhled do něj.
existuje mnoho nástrojů třetích stran k dispozici, i když děsivě, mnoho z nich více než $ 1,000 měsíčně! Doporučujeme používat službu s názvem Azure Náklady (https://azure-costs.com/), která je levná a dělá skvělou práci. Má bezplatnou úroveň a placené možnosti od $ 29- $ 199 měsíčně.
jen aby vám představu, můžete seskupit hlášení spoustu různých způsobů, jak pochopit, pokud jste tráví hodně na VMs, SQL Azure, App služby, atd.
seskupte podle různých polí v Azure cost
7. Přiřazení výdajů Azure podle projektu, prostředí nebo klienta pro lepší vykazování.
ve společnosti Stackify hostujeme naše výrobní, předprodukční, QA, vývojové a testovací aplikace s Azure. Při pohledu na náš účet na vysoké úrovni neexistuje dobrý způsob, jak zjistit, kolik utrácíme za které prostředí, což je pro nás důležité.
kolik utrácíme ve výrobě ovlivňuje naše marže jako podnikání a chceme také minimalizovat náklady v prostředí dev/test.
používáme Azure náklady organizovat to, co jsme utrácet peníze na. Jednoduše označíme každý zdroj Azure a pak můžeme získat hlášení podle značek, abychom snadno viděli náklady na prostředí.
Tag zdrojů v Azure Náklady
pak můžeme dostat hlášení od každé značky, aby pochopili, jak trávíme naše peníze.
Vykazování podle značek v Azure Náklady
Optimalizovat, Jak Si Nasadit Své Aplikace, jak Ušetřit Peníze na Azure
Pokud se pohybujete aplikace na Azure, existuje několik způsobů, jak ušetřit peníze, které dokonce ani nemusí myslet. Také vám chci dát několik tipů na optimalizaci služeb aplikací, cloudových služeb atd.
8. Vyberte správný typ a velikost virtuálních strojů.
Pokud používáte Azure pro hostování Virtuálních Strojů, ujistěte se, že vybrat správný typ instance. Existují doslova desítky různých typů a velikostí. Ujistěte se, že jste vybrali správný typ na základě toho, zda potřebujete více paměti, CPU, rychlejší disk atd.
9. Použijte Azure DevTest Labs, abyste zajistili, že testovací VM dostanou automatické vypnutí, abyste ušetřili peníze.
nic není otravnější než někdo, kdo nastaví testovací server a později zjistí, že za něj platíte měsíce a měsíce. Azure DevTest Labs je úžasné pro vytváření serverů, které potřebujete občas nebo jen určité hodiny dne.
Devtest Labs je může automaticky zapnout a vypnout podle plánu. To hodně pomáhá při řešení problému vašeho týmu QA, který zapomněl vypnout servery před odjezdem na den nebo víkend.
Poznámka: DevTest Labs nestojí nic navíc k použití. Jednoduše platíte za samotné VM.
10. Vyhněte se placení za staging sloty na cloudových službách.
se službami Azure Cloud pro webové a pracovní role platíte plnou cenu za pracovní sloty stejně jako produkční sloty. Je dobré nasadit do stagingových slotů a poté vyměnit staging do výroby, aby se minimalizovaly prostoje.
ujistěte se, že odstraníte pracovní sloty co nejrychleji. Nic mě rozčiluje, než přihlášení do Azure a vidět spoustu věcí nasazen v pracovní sloty tam žádný důvod.
Upravit zobrazení v Portálu Azure přidat sloupce pro „Staging“ a „Výrobu“, takže můžete rychle zjistit, které z nich mají něco v inscenaci sloty. Cloudové služby vás stojí peníze, i když jsou servery zastaveny. Musíte je smazat!
11. Zkombinujte webové aplikace s plány Azure App Service, abyste snížili počet serverů.
jednou z absolutně nejlepších funkcí Azure jsou služby aplikací. Můžete vytvořit plán služeb aplikace, který představuje 2-3 nebo více serverů a poté na ně zabalit tolik webových aplikací, kolik chcete.
to je obrovská výhoda oproti placení za celý server za webovou aplikaci, která téměř nic nedělá. Použili jsme webové role cloudové služby navždy a v některých případech máme 3 instance pro vysokou dostupnost webové aplikace, která nemá prakticky žádný provoz. Je to obrovská škoda.
12. Přestaňte používat webové role cloudové služby, pokud nebudete muset.
Pokud pro webové role nemusíte používat cloudové služby Azure, pracoval bych na přepínání aplikací na služby aplikací, abych využil kombinace více aplikací na méně serverů.
cloudové služby také trvají věčně. App služby jsou světelné roky rychlejší pro nasazení do.
13. Ke kombinování aplikací použijte službu Azure Service Fabric nebo Container Service.
ze stejných důvodů, které jsem zmínil výše u služeb aplikací a webových rolí, se podívejte na přesun pracovních rolí do služby tkaniny nebo kontejnerové služby. Oba se řídí vzorem, jako jsou plány služeb aplikací, kde v podstatě poskytujete skupinu serverů a poté na ně hodíte spoustu aplikací.
14. Použijte automatické škálování ke snížení nákladů během mimo pracovní dobu.
většina aplikací má rušnější a pomalejší období po celý týden nebo den. Využijte automatické škálování zabudované do Azure, abyste ušetřili nějaké peníze během pomalých období.
Tyto typy nasazení veškerou podporu automatického škálování:
- Cloud Služby
- Aplikace Služby
- PJ Rozsah Sady (Včetně Šarže, Služba Tkaniny, Container Service)
Škálování může také znamenat zavírání vaše aplikace úplně dolů. Služby aplikací mají funkci nazvanou AlwaysOn, která řídí, zda by se aplikace měla vypnout kvůli žádné aktivitě. Můžete také naplánovat vypnutí serverů dev / QA pomocí něčeho jako Devtest Labs. Existují také služby třetích stran, jako je Park My Cloud.
15. Použijte funkce Azure PaaS; nevalte si vlastní na VM, pokud nebudete muset.
mluvil jsem s několika lidmi, kteří používají Azure a jejich verze použití Azure nastavuje některé VM a hostuje jejich aplikaci a SQL Server na těchto VM.
využití Azure pro virtuální stroje a IaaS je v pořádku, ale chybí vám mnoho příležitostí ke snížení nákladů na správu a snížení nákladů Azure jako celku. Pokud nemáte opravdu dobrý důvod pro použití SQL ve VM, jako nákup některých třetích stran, vyrovnávání zatížení běží ve VM a další scénáře, prostě ne.
Na Stackify, jsme využít každé PaaS funkce Azure můžeme. To zahrnuje SQL Azure, Redis, úložiště tabulek, servisní sběrnici atd. Myšlenka na nastavení VM pro Redis nebo nějakou jinou službu ve frontě se jeví jako opravdu hrozný nápad. Jedinou výjimkou pro nás je elasticsearch.
Azure Search je k dispozici a je základní nabídkou elasticsearch PaaS. Vzhledem k naprosté velikosti a rozsahu našeho clusteru elasticsearch má větší smysl spravovat to sami.
16. Použijte SQL elastické bazény.
Pokud máte mnoho databází, měli byste zvážit SQL Elastic pools.
S Azure musíte vybrat úroveň výkonu pro každou jednotlivou databázi. To funguje velmi dobře a poskytuje předvídatelnou úroveň výkonu. V mnoha případech to však také vede k nadměrnému výkonu.
myslete na Azure SQL Elastic Pool jako více serveru a můžete získat přiřadit spoustu databází k tomuto serveru. To umožňuje výkon každé databáze odliv a tok v rámci celkových zdrojů serveru.
na Stackify každý z našich klientů má své vlastní SQL databáze. Máme jich doslova stovky a každý den přidáváme nové a některé odstavujeme. SQL elastické bazény jsou rozhodující pro nás spravovat, že mnoho databází v měřítku.
Zlepšení Výkonu Samotné Aplikace
OK, pokud máte maximalizované, kolik utratíte na Azure, když jde o vaše celkové Azure cenách a jak si nasadit své aplikace, je na čase začít dělat nějaké ladění výkonu.
doporučil bych použít nějaký typ nástroje APM, jako je Retrace, Azure Application Insights nebo New Relic.
17. Je čas dostat se z profilerů!
Pokud chcete optimalizovat výkon vašeho kódu, musíte provést nějaké profilování kódu. Existují tři různé typy profilerů a možná budete potřebovat všechny tři, abyste svůj kód skutečně vylepšili.
- Standardní profiler – profil kód na vaší pracovní stanici hledat pomalé metody v kódu
- Transakce obrysu – zachytit kompletní webové žádosti prostřednictvím ASP.NET profiler a zkontrolovat, co se děje
- APM – Sledovat celkový výkon vaší aplikace a jeho závislosti
18. Identifikujte své nejpoužívanější a nejpomalejší webové požadavky nebo transakce.
hledejte požadavky, které trvají hodně času nebo se vyskytují několikrát, ale trvají příliš dlouho. Podívejte se na ASP.NET transakční stopy, abyste zjistili, zda se děje příliš mnoho dotazů SQL, pomalé webové služby atd.
většina moderních aplikací je více vázána databázovými nebo webovými službami. Pokud váš kód sám o sobě může být pomalý, pravděpodobně budete chtít použít standardní. Net profiler, jako je Visual Studio profiler, aby se pokusila zjistit, proč.
nejlepší webové požadavky z Retrace APM
19. Optimalizujte výkon databáze SQL.
každá zaneprázdněná aplikace může obvykle těžit z nějakého základního ladění SQL. SQL Azure má některé skvělé základní funkce pro hlášení výkonu a doporučení pro ladění indexů.
Pokud potřebujete jít hlouběji, ujistěte se, že dotaz DMVs v SQL zjistit, které dotazy jsou přístupné nejvíce, použijte nejvíce IO, je nejdelší, atd. Také buďte opatrní, abyste zjistili, jak dlouho dotazy trvají z pohledu vaší aplikace.
můžete také využít svůj nástroj APM k určení, které dotazy se používají nejvíce a jaké akce ve vašem softwaru je nazývají.
Horní SQL dotazy pohled z Retrace APM
20. Sledujte využití a výkon všech závislostí aplikací.
Mimo SQL server, vaše aplikace pravděpodobně dělá volání webové služby, používá fronty, ukládání do mezipaměti, a další závislosti, včetně dalších Azure funkce, jako DocumentDB, Azure Storage, atd.
ujistěte se, že všechny tyto závislosti fungují dobře a správně škálovány pomocí Azure.
další nápady, jak snížit náklady na Azure
zde je několik dalších nápadů, které je třeba zvážit, abyste pomohli snížit, kolik utratíte za Azure.
21. Můžete použít CDN?
CDN jako Cloudflare je opravdu snadné přidat ukládání do mezipaměti všech statických souborů bez změn kódu. Cloudflare má také spoustu skvělých funkcí, které lze použít k optimalizaci výkonu.
Azure má také velmi jednoduchou nabídku CDN, kterou můžete vyzkoušet, ale nedělá to, co Cloudflare dělá.
22. Můžete použít novou možnost Azure cold storage?
Azure nyní nabízí teplé a studené úložiště Azure. Teplý je určen pro data, která se často používají, a studený je pro data, která se používají jen zřídka. Pokud máte spoustu dat, která se sotva používají, zálohy, archivy nebo jiná data, nezapomeňte se podívat na chladné úložiště.
optimalizace Azure Cloud Hosting náklady
doufám, že jste našli tento seznam být užitečné. Nezapomeňte začít s některými z nejjednodušších nápadů k implementaci a nechat optimalizaci kódu na poslední.
Optimalizace kódu je zdaleka nejtěžší a může trvat obrovské množství času a regresního testování. Ve společnosti Stackify máme API, která se nazývají miliony a milionykrát denně. Pokud máte kód, který se volá tolikrát, kolikrát je náš, rozhodně stojí za to investovat do nízkoúrovňových optimalizací kódu, jinak … možná ne.