5 TOP best practices v Azure Governance – 1. díl
V dnešním článku, který je rozdělen na dva díly uvedu několik užitečných praktik, které pomohou udržet vaše Azure prostředí přehledné a cenově efektivní. Uvedené praktiky spadají do oblasti Azure Governance, které se na našem blogu věnujeme v několika směrech.
Úvodem je vhodné říct, že zavádění a vyladění Azure Governance k dokonalé spokojenosti je běh na delší trať. Je potřeba pochopit, že pokud nikdo během dvou let, co vaše společnost využívá Azure služeb neřešil řízení zdrojů, pořádné zabezpečení, aplikování politik nebo správu nákladů, tak se to určitě nezmění o 180° k lepšímu během několika dnů nebo týdnů. Větší společnosti stráví nad Azure Governance i několik let, než je opravdu všechno nastaveno, tak jak má být. Navíc během času, ve kterém se firma vyvíjí, tak by se mělo vyvíjet i samotné řízení cloudu a přizpůsobovat se novým změnám ve společnosti.
V prvopočátku Azure Governance je na místě zvážit důvody proč ji chceme řešit, za jakým účelem a co je cílem. Nejprve doporučuji stanovovat menší cíle na kratší období, kdy můžete velmi dobře sledovat jejich průběh a plnění. Pokud jde vše zdárnou cestou, tak se mohou volit větší cíle na delší období s celofiremním dopadem. V tomto článku popisuji pět nejlepších praktik, se kterými můžete v Azure začít kdykoli. Jsou to ty nejzákladnější pravidla, která při dodržování uleví firemní peněžence a zpřehlední celé vaše Azure prostředí.
Sledujte kolik utrácíte – Cost Management
V cloudu jde velmi často o finanční prostředky, které jsou k dispozici a mohou být proinvestovány. Náklady na cloudové služby jako takové jsou brány jako Opex – operativní náklady. Většinou neplatíte nic předem, platíte pouze za to, co spotřebováváte. Zní to jednoduše, ale realita je někdy jiná. Bez dozoru totiž stěží uhlídáte Frantu z IT nebo Lenku z vývoje, kteří si nasadí tu nejdražší variantu databázové služby, třeba jen proto, že si ji chtěli vyzkoušet, ale zapomněli ji smazat. Taková malá nepozornost může vyjít na několik desítek tisíc korun měsíčně, a přitom zcela zbytečně. V Cost Managementu jde o odhalení rizik spojených se zbytečnými výdaji za infrastrukturu v Azure dříve, než nastanou. Mezi nejčastěji opomenuté aspekty týkající se běžící infrastruktury v Azure patří:
- Kontrola budgetu – bez kontroly limitu výdajů se může částka za náklady v cloudu dostat k astronomickým hodnotám.
Rada: Nastavte si budget limity v Azure Cost Management + Billing.
- Utilizace – většinou jde o nevyužívání zdrojů dle jejich kapacity nebo předkoupení zbytečného množství zdrojů, které pak nejsou stejně využívány.
Rada: Sledujte využívání zdrojů pomocí Azure Monitor nebo využijte auto scalingu.
- Výdajové anomálie – nečekaně objevující se vysoké výdaje mohou být důsledkem špatného nastavení nebo nesprávného využívání služby.
Rada: Nastavte si Upozornění na Budget limitu, které vás informuje o překročení limitní částky.
- Předimenzované zdroje – při nasazení zdrojů v Azure se může stát, že počáteční konfigurace služby/zdroje převyšuje nároky na běžící aplikaci nebo virtuální stroj. Tyto přebytky mohou tvořit značnou část měsíčních nákladů.
Rada: Sledujte využívání zdrojů v Azure Monitor a v případě nevyužívané kapacity snižte SKU služby.
Základním rozcestníkem při analýze výdajů bude nástroj Cost Analysis v Cost Management + Billing službě. Jde o přehledný dashboard, na které vidíte kolik aktuálně utrácíte, za co a jaký bude vývoj nákladů, pokud již v prostředí nic nepřibude. Ukázka, jak může takový dashboard vypadat je na obrázku níže.
Z pohledu těch nejlepších praktik bychom se na Cost management měli dívat ze dvou směrů – náklady na provoz a náklady při zřizování služby/zdroje. Je vhodné dodržovat jmenné konvence a využívat tagů, identifikovat správné velikosti zdrojů (např. virtuálních strojů), automatické vypínání neprodukčních a jiných virtuálních strojů, když nejsou zrovna potřeba, využívat správných parametrů při automatickém rozšiřování infrastruktury a nezapomínat na vyřazené stroje z provozu a jejich smazání. Tyto praktiky detailněji vysvětluje následující kapitola.
Udržujte přehled a pořádek – Resource Consistency
Pro správce Azure prostředí není nic horšího než nepřehledné a chaotické uspořádání zdrojů a služeb. Nejen že se tím navyšují náklady pro správu těchto zdrojů, ale často tato prostředí obsahují „věci“, které jsou už nevyužívané, zastaralé a zranitelné. Přitom stačí málo , aby to dávalo smysl. Začít se musí od začátku, takže je nejprve vhodné promyslet Azure hierarchii a způsob jakým se bude udržovat základní přehlednost celé infrastruktury. Hezký příkladem je obrázek níže.
Už jen toto malé opatření dokáže efektivně zpřehlednit vaše prostředí. Pokud je společnost větší a má více oddělení, tak se to dá vyřešit jejich rozčleněním do dalších Management Groups. Výbornou praktikou je i rozdělování aplikačních celků do jednotlivých Resource Groups. Další základní kameny pro přehledné a učesané prostředí jsou:
-
Tagování – každý zdroj v Azure byl měl mít nastavené tagy, které specificky určují například vlastníka, datum vytvoření zdroje, oddělení, SLA, jeho důležitost, klasifikaci atd.
-
Automatické vypínání virtuálních strojů – proč by měly VM běžet, když nejsou využívané? Samozřejmě to nelze aplikovat v produkčních prostředích, kde musí být vaše služba dostupná 24/7, ale takové vývojové nebo testovací prostředí, které přes noc nikdo nepoužívá může být dobrým kandidátem.
-
Smazání nepotřebných zdrojů – zde platí pravidlo 90/90. Pokud nebyl zdroj v posledních 90 dnech využíván, doporučuji ho vypnout a dealokovat (jde o náklady na Storage, které by byly i tak účtovány). Pokud je VM dalších 90 dnů vypnutá a nikdo ji během této doby nepotřeboval, tak doporučuji tento zdroj kompletně smazat.
-
Zálohování – zde je to bez debat, pokud se jedná o produkční VM, je nutné ji zálohovat. Jak často a jak dlouho držet kopii zálohy by měla určit vaše vnitrofiremní politika.
-
Obnova při havárii – pokud provozujete služby, které jsou pro zákazníky kritické, tak musíte být připraveni i na možnost Disaster Recovery. Při jakékoli nečekané události musíte být schopni vaše služby co nejrychleji obnovit – zde pomohou Availability Sets, Zones, VM Scale Sets, Geo Redundance Storage a mnoho dalších Azure High Availability řešení. Řešení je však vždy nutné přizpůsobit požadavkům na RPO a RTO.
Ve druhém díle rozeberu doporučení a vhodné praktiky pro dostatečné zabezpečení, přiřazování identit a práv s tím spojených a v neposlední řadě pár tipu pro automatizace, která je nedílnou součástí cloudového prostředí.
Zdroje:
https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/govern/cost-management/best-practices
https://docs.microsoft.com/cs-cz/azure/cloud-adoption-framework/ready/azure-setup-guide/organize-resources?tabs=AzureManagementGroupsAndHierarchy
Sdílej v médiích