OLDŘICH ŠRUBAŘ

Go for it. No matter how it ends, it was an experience.

Jaké nástroje lze použít pro řízení Azure prostředí?

Jestliže v cloudu teprve začínáte, určitě si lámete hlavu nad tím, co všechno a jakým způsobem budete muset řešit. Cloud je pro vás novou výzvou, se kterou by vám měl být schopen poradit váš dodavatel IT služeb. Pokud tomu tak není, jste odkázáni sami na sebe nebo případně můžete hledat pomoc u konzultantských společností, které vám přechod do cloudu usnadní. Pokud se s cloudem budete seznamovat sami, nabízíme vám popis většiny užitečných nástrojů, které vám mohou v Azure pomoci. Pokud se již v Azure cloudu pohybujete nějaký čas, bude tento článek pro vás menším opakováním. Opakování je matka moudrosti a možná narazíte na něco, co jste ještě nevyužili, neznali nebo nevyzkoušeli 😊. Všechny uvedené nástroje jsou součástí Azure Governance disciplín (Resource Consistency, Security Baseline, Identity Baseline, Cost Management a Deployment Acceleration), nicméně se s nimi můžete setkat i pokud tyto disciplíny vyloženě neřešíte. Postupně přejdu od těch nejsnadnějších, které nepotřebují žádnou implementaci a mohou se používat ihned, až po ty složitější, které už potřebují hlubší znalosti.

Azure Tags

Tagy přestavují základní nástroj, který poskytuje přehled o nasazených prostředcích. Jedná se o označení zdrojů různými tagy, které jsou pro vás důležité. Může se jednat o označení vlastníka, typu zdroje, jeho důležitosti nebo označení pod jaké spadá oddělení. Díky možnosti filtrování tagů máte pak skvělý přehled o prostředí a jeho nákladech.

img

Azure Management Groups

Slouží k hierarchickému uspořádání více subskripcí ve větších firmách, kde každé oddělení může mít teoreticky svou vlastní subskripci. Jejich využití se pak promítá do dalších nástrojů, kde jsme schopni například zacílit aplikaci politik právě na vybrané skupiny.

img

Způsob použití Azure management Groups

Azure Cost Management + Billing

Tento nástroj vám poskytuje kompletní přehled o nákladech ve vašem prostředí. Díky detailním přehledům a grafům, máte možnost zjistit co přesně vás stojí nejvíce peněz, nebo případně jiné nákladové anomálie. Cost Management + Billing má několik funkcí, které je vhodné využívat, a to zejména upozornění při překročení nastavených limitů na kredit s následným zasláním upozorněním na uvedený email. Skvělou pomůckou jsou také doporučení, které pomohou s optimalizací nákladů. V analýze nákladů si pak můžete jednotlivé položky filtrovat na základě tagů nebo sledovat trend jakým se budou náklady v budoucnu vyvíjet.

img

Ukázka přehledu nákladů

Azure RBAC (Role-based access control)

Řízení přístupu je jedna z klíčových oblastí správy cloudu. V Azure je řízení přístupu ve dvou úrovních – Azure AD a Azure zdroje. Obě úrovně mají předem definované role pro přidělování oprávnění, tyto role jsou pro každou úroveň jiné a s tím i jejich princip. U Azure zdrojů se využívá principu RBAC, kde platí vlastnost dědění oprávnění z vyšších úrovní hierarchie. To znamená, že pokud má někdo práva vlastníka na subskripci, tak je automaticky vlastníkem všech zdrojů v dané subskripci. Základem pro přiřazování rolí jsou: uživatel, role, rozsah. Vybereme daného uživatele, kterému přiřadíme roli na určitém rozsahu zdrojů (subskripce, skupina zdrojů, virtuální stroje, sítě atd.).

Role assignment to control access

Princip přiřazování RBAC rolí

Zdroj: https://docs.microsoft.com/en-us/azure/role-based-access-control/overview

Privileged Identity Management (PIM)

Služba Azure AD PIM umožňuje spravovat, řídit a monitorovat přístup k důležitým prostředkům ve vaší organizaci. Poskytuje časovou a schvalovací aktivaci rolí na cloudové zdroje, které jsou pod vaší správou. Zmírňuje se tím riziko přidělení práv špatné osobě nebo nadměrné či nechtěné přihlašování na váš zdroj. Zjednodušeně řečeno, když někdo potřebuje přístup nebo práva, tak si o ně musí říct a někdo to musí posoudit, zda je požadavek relevantní a schválit ho. Proces lze samozřejmě automatizovat a manuální schvalování si můžete nastavit jen pro role s nejvyšším oprávněním. Pro využívání této služby musíte mít licence pro Azure AD Premium P2 a Enterprise Mobility + Security (EMS) E5.

Azure Templates (ARM)

Jedná se o nástroj/službu, která umožňuje automatizované nasazení zdrojů. To se hodí zejména při časté změně infrastruktury nebo při opakovaném nasazování různých částí nebo celé aplikace. Případně pokud chcete implementovat infrastrukturu jako kód (IaaC) pro vaše Azure prostředí, tak jsou šablony Azure Resource Manager (ARM) tím pravým. Šablona je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci vašeho nasazení. Šablona používá deklarativní syntaxi, která umožňuje uvést, co chcete nasadit, aniž byste museli psát sekvenci programovacích příkazů k jejímu vytvoření. V šabloně určíte prostředky, které se mají nasadit a vlastnosti těchto prostředků. Pokud by vás tento typ automatizace zajímal více, můžete si projít detailního průvodce vaším první šablonou ZDE. Pokud jde o další nástroje pro automatické nasazování, tak je vhodné zmínit TerraForm, Ansible, Chef, Azure Automation, Azure CLI, Bash nebo Cloud Shell.

Azure Monitor

Azure Monitor maximalizuje dostupnost a výkon vašich aplikací a služeb tím, že poskytuje komplexní řešení pro shromažďování, analýzu a telemetrii dat z vašich cloudových nebo on-premise prostředí. Pomůže vám pochopit, jak aplikace fungují, proaktivně identifikuje problémy, které je ovlivňují a prostředky, na kterých závisí.

Přehled služby Azure Monitor

High-level přehled pro Azure Monitor

Zdroj: https://docs.microsoft.com/cs-cz/azure/azure-monitor/overview

Ve středu obrázku jsou dva základní typy úložiště dat, které Azure Monitor používá, což jsou metriky a logy. Vlevo jsou zdroje monitorovacích dat, která naplňují tato datová úložiště. Na pravé straně jsou různé funkce, které Azure Monitor provádí s těmito shromážděnými daty, jako je analýza, upozornění a streamování do externích systémů.

Azure Policy

Jedná se o nástroj, který pomáhá nastavovat a sledovat dodržování zásad společnosti. Může se jednat jak o bezpečnostní zásady nebo nastavení, které nám pomáhají udržet pořádek a přehlednost. Díky Azure Policy můžete jednotlivé konfigurace vynucovat nebo jen auditovat, což je velký pomocník v případě přípravy pro nějaký větší audit společnosti. Pokud bychom měli tento nástroj porovnat s on-premise nástrojem, tak se nejvíce blíží Group Policy v Active Directory nebo Desired State Configuration (DSC). V případě, že si vystačíte s předem definovanými politikami, tak nemusíte mít hlubší znalost ARM šablon a JSON syntaxe politik, pokud ne, tak se těmto nárokům nevyhnete.

img

Přehled o tom, jak jsou dodržovány nastavené politiky

Azure Blueprints

Umožňují definovat sadu prostředků (politiky, skupiny zdrojů, zdroje a přiřazení rolí), které lze opakovaně nasadit a tím zajistit dodržování standardů, šablon, bezpečnostních zásad a jiných požadavků organizace v rámci jednoho automatizačního nástroje. Využití je vhodné zejména tam, kde je potřeba rychle postavit kompletní infrastrukturu menších rozměrů včetně sady politik a integrovaných komponent jako je síťování. Příkladem může být prostředí pro testování nebo vývojový tým, přičemž bude toto prostředí po odvedené práci smazáno.

img

Jak fungují Azure Blueprints

Zdroj: https://francescomolfese.it/en/2020/02/azure-governance-panoramica-di-azure-blueprints/

Věřím, že výše uvedené nástroje pomohou vyřešit nejednu svízelnou situaci, kterou řešíte. Pokud byste se chtěli dozvědět více o jednotlivých nástrojích, tak doporučuji na našem blogu sledovat seriál Azure Governance, který se zabývá detailnějším popisem každé disciplíny včetně využívaných nástrojů.

Facebooktwitterredditpinterestlinkedinmail

5 TOP best practices v Azure Governance – 2. díl

Dnešní díl navazuje na předchozí článek 5 TOP best practices v Azure Governance – 1. díl, kde jsem rozebral vhodné praktiky z pohledu Azure Governance pro první dvě disciplíny – Cost Management a Resource Consistency. Dnes se zaměřím na zbývající tři disciplíny včetně rad a doporučení, které by měl následovat každý, kdo to s Microsoft Azure myslí vážně a chce mít své prostředí pod kontrolou, zabezpečené a za přijatelnou cenu.

Mějte dostatečné zabezpečení – Security Baseline

V dnešní době se musí bezpečnosti věnovat hodně času, přece jen jsou útoky poslední dobou sofistikovanější a častější než dříve. Na druhou stranu by nemělo panovat přesvědčení „Bezpečnost nadevše“, to by totiž mohlo způsobit složité a nepříjemné používání systémů pro koncové uživatele včetně IT správců, a to nikdo nechce. Je tedy rozumné najít kompromis mezi použitelností systému a dobrým zabezpečením. Bezpečnost v Azure lze rozdělit na základní tři stavební kameny:

  • Ochrana dat
  • Zabezpečení infrastruktury před hackerskými útoky
  • Aplikování a dodržování bezpečnostních zásad

Ochranu dat zajistíme dostatečným šifrováním komunikace v síti, úložišť, VM disků, uchováváním tajemství v Azure KeyVault a samozřejmě dostatečným zálohováním. Co se týče hackerských útoků, tak je opět celá řada nástrojů, díky kterým si můžeme prostředí více zabezpečit. Azure jako takový už nativně poskytuje mnoho vrstev (Network Security Groups, Basic DDoS Protection, fyzické zabezpečení datacenter, auditování a další), které chrání vaše zdroje, a navíc k nim můžete přidat například Standard Protection DDoS plány pro veřejné IP adresy, které detekují útok a ihned vás o něm informují včetně reportingu, Azure Firewall, Azure Site Recovery, Traffic Manager, Application proxy a spoustu dalších.

Pokud jde o vynucování bezpečnostních zásad v Azure, tak s tím velmi pomohou Azure Policy. Firma má nějaké vnitrofiremní bezpečnostní politiky pro IT a ty je potřeba promítnout i do cloudového prostředí. Azure Policy využívá pro definici politik a nastavení JSON formát. Přímo v Azure portálu je již připravených několik šablon, které lze ihned aplikovat. Je potřeba si však ujasnit, zda chceme dodržování politik jen sledovat nebo je rovnou i vynucovat – lze automaticky nebo manuálně.

Jak vypadá přehled politik a jejich dodržování můžete vidět na obrázku níže:

img

Doporučovanou službou je také Azure Security Center, která poskytuje kompletní přehled stavu zabezpečení. Díky tomu máte vše na jednom místě, včetně doporučených postupů, jak zabezpečení zlepšit.

Skóre zabezpečení na Security Center řídicím panelu

Zdroj: Sledování skóre zabezpečení v Azure Security Center | Microsoft Docs

Sledujte, kdo má jaká práva – Identity Baseline

Častým nešvarem v nekontrolovaných prostředích je zmatek při udělování práv a přehled o tom kdo disponuje vlastnickými právy. Často se setkáváme s tím, že práva vlastníka (což jsou ty nejvyšší, pokud nebereme v potaz administrátora tenantu 😊) jsou přidělovány velmi často a také zbytečně. Jde o to, že se nikomu nechce zamýšlet nad tím, jaká práva daný uživatel vůbec potřebuje, a raději mu dá všechny, než aby ho později uživatel zase obtěžoval, že mu něco nefunguje. Azure má vynikající Role-Based Access Model – RBAC, který má již předdefinované role s určitými právy, a tak odpadá skutečnost, že byste se musel jako IT správce topit v detailním rozboru práv. Rolí existuje opravdu mnoho a ve většině případů si s nimi vystačíte. Existuje i možnost vytvoření vlastních rolí, což ale moc osobně nedoporučuji, protože se špatně hlídají Pokud si každý začne vytvářet vlastní role dle potřeby, tak v rolích začne být opět zmatek. Doporučením je používat princip least-privilege u kritických zdrojů vaší infrastruktury.

Least-Privilege – jde o koncept a praktiky, které udělují uživatelům, servisním účtům a procesům pouze taková práva, která jsou nutná pro vykonávání rutinních nebo legitimovaných operací.

Součástí identit je určitě i jejich zabezpečení. Ukradená identita dokáže nadělat spoustu škody, a to opravdu nikdo nechce. Proto je vhodné využívat služby typu Multi-Factor Authentication, Conditional Access, Single Sign-On pro přihlašování (Azure AD password hash synchronization nebo Azure AD Pass-through Authentication), Privileged Identity Management, který se používá na straně Azure a Privileged Access Management, který se využívá v lokálních AD.

Privileged Identity Management & Privileged Access Managementposkytují časovou a schvalovací aktivaci rolí na zdroje, které jsou pod vaší správou. Zmírňuje se tím riziko přidělení práv špatné osobě nebo nadměrné či nechtěné přihlašování na váš zdroj. Zjednodušeně řečeno, když někdo potřebuje přístup nebo práva, tak si o ně musí říct a někdo to musí posoudit, zda je požadavek relevantní a schválit ho.

  • Poskytují just-in-time privilegovaný přístup do Azure AD nebo Azure zdrojům, případně on-premise AD (PAM).
  • Dokážou přiřadit určitý čas, kdy bude zdroj přístupný.
  • Vyžádání schválení při přiřazení privilegovaných práv.
  • Dokážou vynutit MFA pro aktivaci jakékoli role na vašem zdroji.
  • Poskytují notifikace při přidělení práv, možnost využít i vynucení informace při aktivaci rolí.
  • Provádí kontroly přidělených práv, zdali jsou stále potřeba.
  • Možnost stažení audit historie.

Automatizujte ve váš prospěch – Deployment Acceleration

Už ze samotného principu cloudu nám jde o to co nejvíce automatizovat. Šetříme tím čas a peníze, což jsou dva podstatné faktory. Automatizovat se má tam, kde to dává smysl a není to spíše na škodu, protože úplně všechno automatizovat nelze (zatím😊). V Azure nám jde především o automatizaci při nasazování zdrojů, aplikací nebo kódu.

Automatizace nasazení zdrojů – existuje několik možností od nativních až po ty více složité. Nejjednodušším příkladem je využívání Azure Resource Manager šablon (ARM templates). Principem automatizace v tomto případě může být nejprve manuální nasazení zdroje a poté vyexportování šablony do knihovny. Jakmile máme šablonu připravenou dle našich představ, tak opětovné nasazení stejného zdroje, byť i s jinými parametry může být mnohem rychlejší než předtím.

Poměrně novou Azure službou, která je zatím stále v public preview jsou Azure Blueprints – slouží k rychlému vybudování předem definovaného prostředí, které je v souladu s firemními politikami. V podstatě si předem připravíte šablonu s veškerými zdroji, které chcete nasadit a k tomu přidáte předem vytvořené politiky, které mohou řešit dodržování bezpečnostních zásad nebo principy řízení zdrojů. Díky tomu dokážete vytvořit v Azure celé prostředí během několika kliknutí.

S automatizací u vývoje dokáže pomoct služba Azure DevOps, která poskytuje vývojářské služby pro podporu plánování práce, kolaboraci na vývoji kódu a kompilaci včetně nasazování aplikací. Azure DevOps je cloudová verze tohoto pracovního prostoru, pro on-premise se využívá Azure DevOps Server, který byl dříve znám jako Visual Studio Team Foundation Server (TFS).

Azure DevOps poskytuje integrované funkce, které jsou klasicky přístupné přes webový prohlížeč nebo IDE klienta:

  • Azure Repos poskytuje Git repositáře nebo Team Foundation Version Control (TFVC) pro kontrolu verzí kódu.
  • Azure Pipelines poskytuje „build a release“ služby pro podporu kontinuální integrace a doručení aplikací.
  • Azure Boards obsahuje balík agilních nástrojů pro podporu plánování, sledování práce, chyb v kódu a dalších problémů pomocí Kanban a Scrum metod.
  • Azure Test Plans poskytují několik nástrojů pro otestování vašich aplikací včetně manuálního/průzkumného testování a kontinuálního testování.
  • Azure Artifacts dovoluje týmům sdílet Maveny, npm a NuGet balíčky z veřejných a soukromých zdrojů, přičemž integruje sdílení balíčků do vaší CI/CD pipeliny.

Níže je přehled nejběžnějších automatizačních nástrojů pro dané oblasti:

  • Automatická konfigurace VM
    • Ansible, Chef, Puppet a Azure Resource Manager šablony
    • Další specifické VM nástroje pro přizpůsobení jako např. cloud-init pro Linux VM nebo PowerShell Desired State Configuration (DSC) a Azure Custom Script Extension pro všechny Azure VM.
  • Automatizace infrastruktury
    • Nástroj Packer pro automatické vytváření vlastních VM imagí
    • TerraForm pro automatické nasazení celé infrastruktury nebo její části.
    • Azure Automation, který vykonává automatické akce skrze Azure nebo on-premise infrastrukturu.
  • Automatizace pro nasazení aplikací a jejich doručení
    • Azure DevOps nebo Jenkins
Facebooktwitterredditpinterestlinkedinmail

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.

img

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.

Efektivní uspořádání prostředků Azure - Cloud Adoption Framework | Microsoft Docs

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í.

Facebooktwitterredditpinterestlinkedinmail

Jak optimalizovat Azure infrastrukturu?

Představte si, že začínáte s Azure cloudem a nemáte vůbec žádné zkušenosti, nicméně je to pro vás zajímavá výzva a chcete do toho jít. Velmi pravděpodobný scénář bude ten, že si koupíte předplatné Azure, vytvoříte nějakou skupinu zdrojů a do ní začnete umisťovat všechny zdroje, které potřebujete. Pro začátek a otestování funkčnosti řešení je to akceptovatelný postup. Nicméně pokud tento způsob implementace nezměníte a nezačnete systematicky a efektivně plánovat, tak se při rozrůstajícím prostředí začnou objevovat určité problémy. Například se může stát, že ve shluku všech zdrojů budou již některé zbytečné a nepoužívané, jenže vy to nebudete vědět, protože nebudete mít přehled o tom k čemu jsou a pro co jsou využívány. Výsledkem je špatný přehled a vysoká částka na faktuře, kterou dostanete každý měsíc za využívání zdrojů v Azure. Toto byl pouze jeden z mnoha příkladů proč optimalizovat, níže se podíváme na pár tipů, jak optimalizovat a jak nám s tím může pomoci Well-Architected Framework spolu s Azure Governance.

A screenshot of a cell phone Description automatically generated

Jak je z výše uvedeného obrázku patrné, tak se tyto dvě oblasti v některých bodech částečně prolínají. Well-Architected Framework nám v podstatě říká, jak správně budovat infrastrukturu v Azure už od počátku, jak vše správně naplánovat při vytváření architektury a na co si dát pozor. Azure Governance je všeobecně správné řízení Azure cloudu, to znamená, že už pravděpodobně nějaké zdroje máte a nyní je čas je začít správně řídit a bezpečně spravovat včetně jejich nákladů na provoz.

Správa a výběr zdrojů

Jak jsem již na začátku nastínil, sledování zdrojů a jejich správa je extrémně důležitá disciplína. Pokud vám uživatelé nebo administrátoři chrlí hromady zdrojů do subskripce, tak je na místě začít tím nejjednodušším, a to je označování zdrojů pomocí tagů. Tagy mohou obsahovat informace o oddělení, vlastníkovi zdroje, prostředí, do kterého daný zdroj spadá a spoustu dalších parametrů, které jsou jen na vás. Použití tagů je skvělý způsob, jak agregovat a seskupovat prostředky mnoha způsoby, data lze také použít pro zpětné zúčtování. Neméně důležitým faktorem je také správný výběr úrovně služby a velikost virtuálního stroje, který musí odpovídat stanoveným požadavkům. Pokud dobře vyberete velikost virtuálního zdroje bude to mít okamžitý efekt na možnosti, kapacitu a výkon vašich služeb v Azure, především pak na cenu, která je s typem virtuálního stoje úzce spjatá. Velikost a úroveň služby virtuálního stroje nemusí být permanentní stav, v průběhu času a změn požadavků, se může velikost změnit, proto je potřeba se efektivně přizpůsobovat správným výběrům velikostí.

Plánování pro vypnutí systémů

Pokud máte nějaké virtuální stroje, které se používají pouze periodicky – v určitém čase, ale jsou neustále v provozu, tak zbytečně plýtváte penězi. Ideálním řešením je tyto servery vypínat právě v době kdy nejsou potřeba, čas, po který je server vypnutý šetří vaše náklady za výpočetní kapacitu. Hezkým kandidátem je například prostředí pro development, které se většinou využívá pouze během klasické pracovní doby, takže přes noc mohou být servery vypnuté. Existuje několik možností, jak vypínání zdrojů řešit:

  • Pro běh serverů pouze v čase, kdy to potřebujeme, můžeme využít službu Azure Automation.
  • Pro jednorázové automatické vypnutí virtuálního stroje můžeme využít nativní funkci auto-shutdown.
  • Manuální vypnutí serveru, když víme že už jej nebudeme ten den potřebovat. Zde je nutné zmínit, že je potřeba použít nativní Stop VM z ovládacího panelu virtuálního stoje v Azure, jinak nebude VM dealokována a budou stále účtovány náklady.

Spot instance

Jde o zajímavý typ virtuálních strojů, které běží, pokud má Azure nějaké nevyužité kapacity, které potřebuje zaplnit. V případě, že Azure potřebuje kapacitu zpět, tak jsou virtuální stoje vypnuty a dealokovány nebo úplně smazány. Při dealokaci stále platíte za úložiště, které virtuální stoje využívají, při smazání je vše odebráno včetně disků a neplatíte nic. Teď si určitě říkáte: „K čemu je to vlastně dobré?“ Toto řešení je možné používat pro testovací či vývojářské účely, zpracování batch procesů, kterým nevadí přerušení, pro velké výpočetní operace a další. V porovnání s normálními zdroji jsou spot instance za zlomek ceny, což je jejich největší výhoda.

Rezervované instance

Jsou Azure zdroje, které si můžete rezervovat na určitou dobu, konkrétně na jeden nebo tři roky. Díky rezervaci získáte okamžitou slevu až 72% oproti Pay-as-you-Go. V Azure si můžete rezervovat tyto typy zdrojů:

  • Virtuální stroje Windows a Linux
  • Azure SQL Database
  • Azure Cosmos DB
  • Azure Synapse Analytics
  • Azure Storage

Využívání „managed“ služeb

Pokud je to možné doporučujeme využívat tzv. „Managed Services“. Výhodou těchto služeb je, že kombinují nižší náklady za zdroje spolu s nižšími operativními náklady za údržbu. Důvodem je to, že se nemusíme starat o nižší vrstvy infrastruktury pod naší aplikací. Neřešíte patchování, instalaci aplikací, správu operačního systému a další komponenty, které jsou nutné pro běh vaší aplikace. Jedním z příkladů je Azure SQL Database – můžete nasadit jednu i více databázových instancí, a přitom neřešíte na jakém operačním systému běží, aktualizace, zálohování, vysokou dostupnout a jiné. Vše je obsaženo automaticky v dané službě. Azure App Service je další spravovanou službou, která je navržena k hostování webových aplikací. Místo nasazení a správy virtuálních počítačů pro vaše webové aplikace můžete své aplikace nasadit přímo do App Service a dramaticky snížit operativní náklady, které jsou vyžadovány pro údržbu infrastruktury.

Optimalizace nákladů na Azure SQL databáze

Když vytváříte Azure SQL databázi, tak musíte vybrat jednu z několika možností, která stanovuje výkon služby. Každá úroveň poskytuje určitý výkon v databázových transakčních jednotkách (DTU) nebo počtu virtuálních jader (vCore). Pokud máte databázi, která má stabilní zatížení v čase, tak je celkem jednoduché vybrat příslušnou úroveň výkonu. Jakou úroveň však vybrat, pokud máte databáze, které mají nekonstantní zatížení v různých časech během dne? V tomto případě může pomoci „elastic pool“.

SQL databázové elastic pooly jsou jednoduchým a nákladově efektivním řešením pro správu a škálování několika databází, které mají různé a nepředvídatelné nároky na zatížení. Databáze v elastic poolu jsou na jednom Azure SQL Database serveru a sdílejí stanovený počet prostředků za stanovenou cenu. Charakteristický model pro toto řešení je větší množství databází s nízkým průměrem zátěže, ale s relativně nepravidelnými zátěžovými špičkami.

K dispozici jsou celkem tři elastic pooly:

A screenshot of a cell phone Description automatically generated
Zdroj: Microsoft Docs

Sledování nákladů a tipů Azure Advisor

Využívání služby Azure Cost Management + Billing vám poskytne přehled o tom, za co přesně utrácíte, a také o nevyužitých zdrojích. Jsou sledovány celkové výdaje, náklady podle služeb a náklady v průběhu času. Můžete se proklikávat až do podrobností jednotlivých zdrojů a získat informace o typech prostředků a instancích. Své přehledy nákladů můžete také rozdělit podle organizace nebo nákladového střediska, a to díky již dříve zmíněným tagům.

Výborným pomocníkem je také služba Azure Advisor, která vám automaticky napovídá, co udělat jinak nebo jak danou službu zlepšit za účelem zvýšení výkonu a dostupnosti, zabezpečení či snížením nákladů.

  • V případě potřeby doporučuje změnu velikosti virtuálního počítače.
  • Identifikuje nepoužívané linky Azure ExpressRoute a nečinné virtuální brány sítě.
  • Doporučuje, kdy zvážit nákup rezervovaných instancí, ve chvíli, kdy by to mohlo být nákladově efektivnější než použití instancí typu pay-as-you-go.

Pokud se při sledování a shromažďování nákladů zjistí nějaká výdajová anomálie, měli byste ji nahlásit ihned vlastníkům daných zdrojů nebo zúčastněným stranám. Aktivní zapojení těchto stran může zajistit identifikaci potencionálního překročení nákladů dříve, než se stane problematickým. Transparentnost při komunikaci se zúčastněnými stranami je důležitá, aby mohli plně porozumět veškerým technickým nebo obchodním rozhodnutím, která způsobila neobvyklé náklady.

Věřím, že výše uvedené tipy dokážou ušetřit alespoň nějakou část financí, které byste jinak museli zaplatit. Zkoušejte optimalizovat po malých částech a hlavně tam, kde to opravdu dává smysl. Zaměřte se na služby, za které platíte nejvíce, tam totiž existuje pravděpodobnost, že půjde nějakým způsobem minimalizovat náklady.

Facebooktwitterredditpinterestlinkedinmail

Kdy by měly organizace začít své Azure prostředí systematicky řídit?

„Kdy už bych měl začít systematicky řídit své Azure prostředí?” tuto otázku si pravděpodobně pokládá spoustu vedoucích IT pracovníků zodpovědných za cloudové služby ve své organizaci. Pokud organizace s Azure teprve začíná, je nejlepší začít ihned, nežli později nebo vůbec. Jestliže organizace už používá služby Azure nějakou dobu a má rozsáhlou infrastrukturu, bude narovnávání prostředí komplikovanější, ale určitě ne nemožné. Vždy je nutné začít po malých částech, než chtít dát do pořádku naprosto vše a ihned.

Pro lepší pochopení problematiky řízení a správy zdrojů v Azure (Governance) je důležité zmínit čím je potřeba se zabývat:

  • Vytvářením smysluplných hierarchií pomocí Azure Management Groups
  • Aplikování příslušných politik pomocí Azure Policy na již definované skupiny a subskripce
  • Konfigurace politik přímo do šablon nebo rolí v Azure pomocí Azure Blueprints, což přináší efektivitu a rychlost při aplikaci politik na nové subskripce
  • Inventářem zdrojů přes Azure Resource Graph – díky domu máte detailní přehled o zdrojích
  • Optimalizací a sledováním nákladů pomocí Azure Cost Management + Billing

Základním kamenem Governance je MVP – Minimum Viable Product (minimálně životaschopný produkt). Cílem MVP je omezit překážky, které by bránily k vytvoření počátečního plánu pro Governance a poté umožnit rychlé vyřešení rizik, které se mohou během implementace nebo produkce objevit.

Méně znalí Microsoft Azure jsou teď pravděpodobně vyděšeni, co všechno bude potřeba zvládnout a jak si s tím vlastně poradit. Nicméně není potřeba se děsit, protože již existuje řada nástrojů a průvodců, kteří nám usnadní kroky k vysněné cestě – mít vše pod kontrolou, přehledné a řídit vše systematicky bez stresu. Jedním z těchto nástrojů, který nám může při přechodu do cloudu velmi pomoct je Cloud Adoption Framework (CAF). CAF poskytuje postupy, které samy o sobě obsahují kroky související se správou zdrojů a vkládá je přímo do činností souvisejících s plánem pro přijetí cloudu v organizaci. Díky této sadě doporučení je organizace schopna efektivně nasadit potřebná pravidla pro Governance hned na začátku. Hezkým příkladem je použití šablon k nasazení jedné nebo více “landing zones“ (připravená infrastruktura v Azure) pro migraci do cloudu.

Pokud jste tedy CAF použili při přechodu do cloudu, tak se můžete pochválit, že jste šli správnou cestou a Governance již určitě nějakým způsobem řešíte. Pokud ne, tak jsou pro vás dobrým pomocníkem příručky pro nasazení správného řízení – Governance, které jsou rozděleny do dvou skupin:

  • Standartní Governance průvodce – příručka pro většinu organizací založená na počátečním modelu s dvěma subskripcemi pro nasazení ve více regionech. Nezahrnuje řešení pro veřejné a vládní organizace.
A screenshot of a cell phone Description automatically generated
A picture containing screenshot Description automatically generated

Obě příručky přináší ty nejlepší zkušenosti a postupy, které se daly během vývoje správy a řízení zdrojů vysledovat. V zásadě popisují postupy pro fiktivní organizace, které mají určité cíle a jak jich dosáhnout co nejefektivněji. Nasazení právě té správné Governance pro vaši organizaci vám může nyní připadat velmi obsáhlé a složité, nicméně jak jsem na začátku zmínil, je potřeba postupovat po malých částech a postupně přidávat další a další části pro kompletní správu a řízení zdrojů. Startovacím bodem by měly být následující tři oblasti:

A picture containing drawing Description automatically generated

Následované tímto implementačním procesem:

A close up of a logo Description automatically generated

Pro přidávání dalších částí, například při změně business procesů nebo zvýšení bezpečnosti či snížení nákladů je vhodné začlenit tyto další oblasti:

A screenshot of a cell phone Description automatically generated

Pokud jste dočetli až sem, tak vás evidentně téma Governance zaujalo, což je velmi dobře, protože i přes značné úsilí stojí za to budovat smysluplné prostředí se snažíš správou a řízením zdrojů. Každopádně před každou implementací je vhodné promyslet možná rizika před velkými změnami. A jedna rada na závěr, pokud si nevíte rady a netroufáte si na nasazení Governance ve vaší organizaci, svěřte tuto problematiku do rukou odborníků, kteří vás provedou a dostanou k vašemu cíli.

Facebooktwitterredditpinterestlinkedinmail