Share via


Rekommendationer för att ställa in utgiftsriktlinjer

Gäller för den här rekommendationen om kostnadsoptimering i Azure Well-Architected Framework:

CO:04 Ange utgiftsriktlinjer. Skyddsmekanismer bör innehålla versionsgrindar, styrningsprinciper, resursgränser och åtkomstkontroller. Prioritera plattformsautomatisering framför manuella processer.

Den här guiden beskriver rekommendationerna för att ställa in utgiftsriktlinjer. Utgiftsriktlinjer är åtgärder för att kontrollera och hantera kostnader inom en angiven budget. De bidrar till att förhindra oväntade eller överdrivna utgifter och främjar kostnadseffektiv användning av resurser. Utan utgiftsriktlinjer kan dina arbetsbelastningskostnader överskrida din budget, vilket leder till oplanerade utgifter som kan belasta dina ekonomiska resurser.

Definitioner

Period Definition
Styrningsprinciper En uppsättning regler som framtvingar efterlevnad och möjliggör granskning av arbetsbelastningsresurser.
Styrning En uppsättning principer, processer och kontroller som hjälper till att säkerställa att arbetsbelastningen hanteras effektivt, säkert och i enlighet med organisations- och regelkrav.
Infrastruktur som kod (IaC) En beskrivande modell för att definiera och distribuera infrastruktur, inklusive nätverk, virtuella datorer, lastbalanserare och anslutningstopologier.
Versionsgrind Ett villkor eller en kontrollpunkt i en versionspipeline som måste uppfyllas innan distributionen kan fortsätta. En versionsgrind hjälper till att säkerställa att specifika villkor uppfylls innan programvaran släpps.

Viktiga designstrategier

Ange utgiftsriktlinjer genom att implementera åtgärder för att kontrollera och hantera dina kostnader inom en angiven budget. Dessa åtgärder omfattar styrningsprinciper, åtkomstkontroller, versionsgrindar, budgettrösklar och aviseringar. Automation minskar risken för mänskliga fel, förbättrar effektiviteten och hjälper till att konsekvent tillämpa utgiftsriktlinjer. Prioritera plattformsautomatisering framför manuella processer. Automatiseringsverktyg och -tjänster som plattformen tillhandahåller kan effektivisera resursetablering, konfiguration och hantering.

Använda styrningsprinciper

Styrningsprinciper kan fungera som utgiftsriktlinjer för olika aspekter av resurser, till exempel resurstyper, konfigurationer, taggar, plats och datahantering. Många molnplattformar har en tjänst som automatiserar tillämpningen av styrningsprinciper. Använd automatiserade principer för att kontrollera resursanvändningen, framtvinga ansvarsskyldighet och eliminera utgifter för begränsade resurstyper. Här följer några av de principer som du bör överväga att tillämpa:

  • Begränsade resurstyper: Principer kan ange vilka typer av resurser som tillåts eller inte tillåts i en organisation. En organisation kan till exempel ha en princip som begränsar användningen av vissa dyra resurstyper för att kontrollera kostnaderna.

  • Resursgränser: Ange resursgränser för att kontrollera kostnader och förhindra överetablering. Inkludera gränser för antalet resurser som kan etableras, storleken på resurserna och varaktigheten för resursanvändningen i principen. Dessa begränsningar kan hjälpa dig att förhindra alltför stora utgifter och optimera resursutnyttjandet. Resursgränser kan till exempel minimera effekterna av ett obehörigt kontointrång som är relaterat till kryptoutvinning.

  • Definierade resurskonfigurationer: Principer kan definiera specifika konfigurationer för resurser. Du kan framtvinga inställningar för resurser som främjar kostnadsoptimering, till exempel automatisk skalning och dataarkivering

  • Begränsade platser: Du kan använda principer för att begränsa distributionen av resurser till specifika regioner eller platser. Överväg att begränsa platser för att undvika kostsamma dataöverföringsavgifter och upprätthålla efterlevnaden av regler för datasuveränitet.

  • Hanterade data: Använd principer för att tillämpa datahanteringsmetoder som hjälper till att optimera kostnaderna. Du kan till exempel implementera principer som kräver användning av lagringsnivåer med lägre kostnad för data som används mindre ofta eller principer som definierar förfalloregler för datakvarhållning.

  • Framtvingade metadata: Upprätta principer som kräver användning av specifika metadata för bättre spårning och kostnadsallokering. Du kan också använda metadata i din automatisering eller manuella granskning. Du kan till exempel använda metadata för att automatisera säkerhetskopieringar av resurser med hjälp av en säkerhetskopia. En konsekvent metadataprincip hjälper till att justera kostnaderna med utgiftsriktlinjer.

  • Begränsade inaktiva resurser: Använd principer för att identifiera inaktiva resurser så att du kan ta bort eller återanvända dem. Överväg att ange principer som automatiskt stänger av instanser under de timmar som de inte används.

RiskikonRisk: Om du implementerar automatisk skalning anger du ett högsta skalningströskelvärde baserat på testning. Maximala tröskelvärden kan hjälpa dig att undvika enorma skalningstoppar som orsakar kostnadsöverskridanden, men ett tröskelvärde som anges för lågt kan påverka prestanda negativt. Mer information finns i Rekommendationer för att optimera skalningskostnader.

Konfigurera åtkomstkontroller

Konfigurera åtkomstkontroller för att ange begränsningar som förhindrar överförbrukning och för att säkerställa att endast behöriga personer kan använda resurser. Åtkomstkontroller kan minska risken för oavsiktliga eller onödiga ändringar som negativt påverkar kostnadsoptimeringen. Följ dessa steg om du vill implementera åtkomstkontroller för kostnadsoptimering:

  1. Identifiera nödvändig kontroll. Identifiera de resurser och tjänster som behöver åtkomstkontroller.

  2. Definiera åtkomstprinciper. Definiera åtkomstprinciper baserat på principen om åtkomst med lägsta behörighet, vilket ger användarna endast de behörigheter som krävs för att utföra sina uppgifter. Vissa användare kanske till exempel bara behöver läsåtkomst, medan andra också kan kräva skriv- eller borttagningsbehörigheter.

  3. Implementera autentisering. Implementera autentiseringsmetoder som användarnamn/lösenord, multifaktorautentisering eller integrering med identitetsprovidrar för att säkerställa att endast behöriga användare kan komma åt resurser.

  4. Använd rollbaserad åtkomstkontroll (RBAC). Konfigurera RBAC för att tilldela roller och behörigheter till användare baserat på deras jobbansvar. Med HJÄLP av RBAC kan du hantera resursåtkomst på ett effektivt sätt.

  5. Granska och uppdatera kontroller. Granska och uppdatera åtkomstkontroller regelbundet för att säkerställa att de överensstämmer med organisationens föränderliga behov. Ta bort onödiga åtkomstbehörigheter och justera åtkomstnivåerna efter behov.

Använda versionsgrindar

Versionsgrindar är kontrollpunkter eller villkor som måste uppfyllas innan en lansering eller distribution kan fortsätta. Använd versionsgrindar för att säkerställa att versionen är kostnadseffektiv och överensstämmer med optimeringsmålen. Versionsgrindar är en strukturerad metod för identifiering och implementering av kostnadsbesparande åtgärder. Överväg följande steg för att implementera versionsgrindar för kostnadsoptimering av arbetsbelastningar:

  1. Upprätta villkor för frisläppningsgrind. Upprätta de villkor eller kriterier som måste uppfyllas innan resurser släpps eller distribueras. Ta med faktorer som utgiftsgränser, tröskelvärden för resursutnyttjande eller milstolpar för projekt.

  2. Inkludera frisläppningsportar. Införliva versionsgrindarna i distributionspipelinen. Du kan använda automatiseringsverktyg eller anpassade skript för att säkerställa att resursdistributioner omfattas av de definierade kriterierna.

  3. Övervaka utgifter. Övervaka utgifter och resursanvändning kontinuerligt mot de definierade kriterierna. Om organisationen överskrider utgiftströsklarna bör versionsgrindarna förhindra ytterligare distributioner tills problemet har åtgärdats.

Konfigurera kostnadsaviseringar

Det är viktigt att ange aviseringar för budgetar, kostnadsavvikelser och åtagandebaserad plananvändning för att optimera kostnaderna. Dessa aviseringar ger insyn i dina molnutgifter och möjliggör proaktiv kostnadshantering. Var noga med att hantera meddelandemottagare för aviseringar och hålla mottagarlistan uppdaterad med aktuella ansvarsområden och åtkomst. Några aviseringar som du kan skapa för att optimera kostnaderna är:

  • Budgetaviseringar: Ställ in aviseringar för budgetar för att spåra dina utgifter mot fördefinierade tröskelvärden. Du kan övervaka dina kostnader och få meddelanden när du närmar dig eller överskrider det budgeterade beloppet genom att skapa en månadsbudget, ett faktureringskonto eller en resursgrupp. Budgetaviseringar hjälper dig att hålla dig informerad om dina utgifter och vidta förebyggande åtgärder för att kontrollera kostnaderna.

  • Kostnadsavvikelseaviseringar: Avvikelseaviseringar meddelar dig om oväntade kostnadsvariationer som kan tyda på ineffektivitet eller onormala utgiftsmönster. Du kan konfigurera dessa aviseringar för att identifiera avvikelser i de faktiska eller prognostiserade kostnaderna. Använd kostnadsavvikelseaviseringar för att undersöka den underliggande orsaken till en kostnadsvariation och vidta korrigerande åtgärder vid behov.

  • Aviseringar om åtagandebaserad plananvändning: Implementera aviseringar om åtagandebaserad plananvändning för att övervaka din plananvändning. Om du har åtagandebaserade planer kan du effektivt hantera och maximera värdet av dessa åtaganden genom att ställa in aviseringar för plananvändning. Du kan konfigurera dessa aviseringar för att meddela intressenter om användningen av åtagandebaserade resurser sjunker under ett önskat tröskelvärde. Optimera dina åtagandebaserade resurser och se till att du använder fördelarna med dina åtaganden.

Använda IaC

Infrastruktur som kod är en metod för att hantera och etablera infrastrukturresurser med hjälp av kod, vanligtvis i form av konfigurationsfiler. Implementera den här strategin för att definiera och automatisera distributionen och konfigurationen av infrastrukturresurser, till exempel virtuella datorer, nätverk och lagring, med hjälp av kodbaserade mallar.

IaC-strategier ger en strukturerad och repeterbar metod för att hantera och kontrollera infrastrukturresurser. IaC kan hjälpa dig att distribuera resurser efter behov, ta bort resurser utan att köra dem kontinuerligt och optimera kostnaderna genom att se till att du distribuerar och konfigurerar resurser enligt fördefinierade regler. Följ dessa steg för att använda IaC för kostnadsoptimering:

  1. Skapa IaC-mallar. Skapa ett kodbaserat mallspråk för att definiera dina infrastrukturresurser och deras konfigurationer. Med de här mallarna kan du ange önskat tillstånd för dina infrastrukturresurser på ett deklarativt sätt. Implementera metodtips för kostnadsoptimering i din infrastrukturkod. Överväg att ändra storlek på dina resurser med hjälp av reserverade instanser eller sparplaner. Använd kostnadseffektiva lagringsalternativ och tillämpa resursmetadata för kostnadsallokering och spårning.

  2. Lagra mallar. Lagra IaC-mallar i ett versionskontrollsystem för att spåra ändringar och hantera olika versioner. Du kan använda versionskontroll för att upprätthålla en historik över dina infrastrukturkonfigurationer och främja samarbete mellan teammedlemmar.

  3. Använd parametrar. Använd parametrar i mallarna för att göra dem återanvändbara och konfigurerbara. Med hjälp av parametrar kan du enkelt anpassa dina infrastrukturdistributioner för olika miljöer eller scenarier.

  4. Använd tillfälliga miljöer. Använd tillfälliga miljöer för utveckling, testning och mellanlagring för att optimera kostnaderna. Tillfälliga miljöer bör endast köras vid behov. Skapa dessa miljöer med hjälp av IaC-verktyg och ta bort miljön när du är klar.

  5. Använd IaC-verktyg. Använd IaC-verktyg och ramverk för att automatisera distributionen och konfigurationen av dina infrastrukturresurser. Använd automatisering för att konsekvent och tillförlitligt distribuera resurser enligt dina definierade principer.

  6. Övervaka distribuerade resurser. Övervaka regelbundet dina resurser och deras kostnader för att säkerställa efterlevnaden av dina utgiftsprinciper. Använd övervaknings- och aviseringsverktyg för att identifiera eventuella avvikelser från de definierade skyddsräckena och vidta åtgärder efter behov. Sök efter oanvända resurser och ta bort dem, helst med automatisering.

Azure-underlättande

Använda styrningsprinciper: Använd Azure Policy för att definiera och tillämpa styrningsprinciper som överensstämmer med dina kostnadsoptimeringsmål. Du kan använda Azure Policy för att ange regler för hanteringsgrupper, prenumerationer och resursgrupper. Dessa principer kan reglera resursetablering, användningsgränser och kostnadsallokering. Använd principer för att främja rättighetsändring av resurser, identifiera och eliminera inaktiva eller underutnyttjade resurser och uppmuntra användningen av kostnadseffektiva tjänster och arkitekturer.

Med Azure kan du ange gränser eller kvoter för att förhindra oväntade kostnader. Du kan definiera gränser för hur många resurser som kan etableras, utöver storleken och varaktigheten för resursanvändningen. Ange dessa gränser för att förhindra överetablering och kontrollera kostnader.

  • Identifiera underanvända eller inaktiva resurser. Använd Azure Advisor för att optimera och minska dina totala Azure-kostnader genom att identifiera inaktiva och underutnyttjade resurser. Få kostnadsrekommendationer från kostnadsavsnittetadvisor-instrumentpanelen .

  • Lägg till resursmetadata. Använd Azure-styrning för att implementera resurstaggning och kategorisering. Tagga resurser med relevanta metadata för att spåra och allokera kostnader till olika avdelningar, projekt eller kostnadsställen. Insyn i kostnadstilldelning kan hjälpa dig att identifiera områden med höga utgifter, optimera resursallokering och underlätta bättre kostnadshantering.

Konfigurera åtkomstkontroller: Använd Azure RBAC för att hantera åtkomst till resurser. Du kan använda RBAC för att bevilja behörigheter till användare, grupper eller program baserat på deras roller. Implementera RBAC för att säkerställa att endast behöriga användare har åtkomst till resurser, vilket minskar risken för obehörig resursanvändning och potentiella kostnadskonsekvenser.

Använda versionsgrindar: Använd Versionshantering i Azure Pipelines för att definiera och framtvinga dina versionsgrindar. Du kan konfigurera manuella eller automatiserade kontrollpunkter för att säkerställa att du uppfyller specifika kriterier, till exempel säkerhetskontroller, efterlevnadskrav och kostnadströsklar.

Använda infrastruktur som kod. Du kan använda Azure-verktyg och -tjänster för att distribuera och hantera infrastrukturresurser med hjälp av kod. Med hjälp av verktyg som ARM-mallar (Azure Resource Manager), Azure Bicep och Azure DevOps kan du definiera och distribuera dina infrastrukturresurser på ett deklarativt sätt. Azure har Bicep-, Azure Resource Manager- och Terraform-mallar för varje Azure-resurs.

Använd Azure Pipelines eller andra VERKTYG för kontinuerlig integrering och kontinuerlig leverans (CI/CD) för att automatisera bygg-, test- och distributionsprocesserna. Teams kan använda pipelines för att definiera en serie steg och åtgärder som körs automatiskt när ändringar görs i kodbasen. Automatisera dessa processer för att minska manuellt arbete, säkerställa konsekvens och påskynda leveransen av programvara.

Överväg att använda resurser med lägre kostnad för dina tillfälliga miljöer eller icke-produktionsmiljöer för att optimera kostnaderna. Azure tillhandahåller olika prisnivåer för resurser. Azure DevTest Labs prissättning och Azure-reservationer är kostnadsbesparande metoder som du kan utforska för tillfälliga miljöer.

Git-lagringsplatser, till exempel Azure Repos och GitHub, tillhandahåller funktioner för versionskontroll för hantering av kod- och infrastrukturkonfigurationer. Teams och utvecklare kan använda automatiserade lagringsplatser för att samarbeta, spåra ändringar och upprätthålla en historik över sin kodbas.

Med Azure Deployment Environments kan utvecklingsteam snabbt och enkelt skapa appinfrastruktur med hjälp av projektbaserade mallar som skapar konsekvens och bästa praxis samtidigt som säkerheten maximeras. Åtkomst på begäran till säkra miljöer påskyndar faserna i livscykeln för programvaruutveckling på ett kompatibelt och kostnadseffektivt sätt.

Azure Developer CLI är ett verktyg med öppen källkod som påskyndar den tid det tar för dig att hämta ditt program från en lokal utvecklingsmiljö till Azure. Azure Developer CLI erbjuder utvecklarvänliga kommandon som mappar till viktiga steg i arbetsflödet, oavsett om du arbetar i terminalen, en integrerad utvecklingsmiljö (IDE) eller CI/CD.

Konfigurera kostnadsaviseringar: Använd Microsoft Cost Management för att optimera kostnader och framtvinga utgiftsskydd. Du kan använda kostnadshanteringsfunktioner för att ange budgetar och aviseringar, visualisera kostnadsinformation med hjälp av verktyg som Power BI och analysera kostnadsmönster och flaskhalsar för prestanda.

Organisatorisk anpassning

Centrala team bör använda Cloud Adoption Framework vägledning för att konfigurera utgiftsskydd i hela organisationen så att arbetsbelastningsteamen förstår vad det centrala teamet kan erbjuda.

Vi uppmuntrar organisationen att införa policydrivna skyddsräcken. Ett exempel på implementering finns i Anta principdrivna skyddsräcken.

Checklista för kostnadsoptimering

Se den fullständiga uppsättningen rekommendationer.