Share via


Rekommendationer för att optimera skalningskostnader

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

CO:12 Optimera skalningskostnader. Utvärdera alternativ skalning i dina skalningsenheter. Överväg alternativa skalningskonfigurationer och anpassa dig till kostnadsmodellen. Överväganden bör omfatta användning mot ärvningsgränserna för varje instans, resurs och skalningsenhetsgräns. Använd strategier för att kontrollera efterfrågan och tillgång.

Den här guiden innehåller rekommendationer för optimering av skalningskostnader. Kostnadsoptimering av skalning är processen att ta bort ineffektivitet i arbetsbelastningsskalning. Målet är att minska skalningskostnaderna samtidigt som alla icke-funktionella krav uppfylls. Spendera mindre för att få samma resultat. Genom att optimera skalning kan du undvika onödiga utgifter, överetablering och slöseri. Det hjälper också till att förhindra oväntade toppar i kostnaderna genom att kontrollera efterfrågan och begränsa utbudet. Ineffektiva skalningsmetoder kan leda till ökade arbetsbelastnings- och driftskostnader och påverka arbetsbelastningens övergripande ekonomiska hälsa negativt.

Definitioner

Period Definition
Automatisk skalning En skalningsmetod som automatiskt lägger till eller tar bort resurser när en uppsättning villkor uppfylls.
Kostnadsmått Numeriska data som rör arbetsbelastningskostnader.
Skala ned En vertikal skalningsstrategi som övergår till en lägre SKU för att ge färre resurser till arbetsbelastningen.
Skala in En horisontell skalningsstrategi som tar bort instanser för att tillhandahålla färre resurser till arbetsbelastningen.
Skala ut En horisontell skalningsstrategi som lägger till instanser för att tillhandahålla fler resurser till arbetsbelastningen.
Skalningsenhet En grupp resurser som skalas proportionellt tillsammans.
Skala upp En vertikal skalningsstrategi som övergår till en högre SKU för att ge mer resurser till arbetsbelastningen.
Lagerhållningsenhet (SKU) En tjänstnivå för en Azure-tjänst.
Användningsdata Användningsdata är antingen direkt information (verklig) eller indirekt/representativ information (proxy) om hur mycket en uppgift, tjänst eller ett program används.

Viktiga designstrategier

Målet med kostnadsoptimering av skalning är att skala upp och ut vid det sista ansvarsfulla ögonblicket och att skala ned och in så snart det är praktiskt. Om du vill optimera skalningen för din arbetsbelastning kan du utvärdera alternativa skalningsalternativ inom skalningsenheterna och anpassa dem till kostnadsmodellen. En skalningsenhet representerar en specifik gruppering av resurser som kan skalas oberoende eller tillsammans. Du bör utforma skalningsenheter för att hantera en viss belastning och de kan bestå av flera instanser, servrar eller andra resurser. Du måste utvärdera kostnadseffektiviteten för dina arbetsbelastningsskalningsenheter och modellalternativ.

Om du inte använder skalning kan du läsa mer i vägledningen om skalning av arbetsbelastningen. Du måste ta reda på om ditt program kan skalas. Tillståndslösa program är enklare att skala eftersom de kan hantera flera begäranden samtidigt. Utvärdera även om programmet har skapats med hjälp av distribuerade systemprinciper. Distribuerade system kan hantera ökad belastning genom att distribuera arbetsbelastningen över flera noder. Ett singleton-program är dock utformat för att bara ha en instans som körs vid en viss tidpunkt. Skalning kanske inte är lämplig för alla arbetsbelastningar.

Utvärdera utskalning jämfört med att skala upp

Utvärdering av utskalning jämfört med uppskalning innebär att fastställa den mest kostnadseffektiva metoden mellan att öka resurser i ett befintligt system (skala upp) eller lägga till fler instanser av systemet (skala ut) baserat på olika faktorer som prissättning, arbetsbelastningskrav och acceptabel stilleståndstid. Att välja rätt skalningsmetod kan leda till betydande besparingar, vilket säkerställer att du bara betalar för det du behöver samtidigt som du uppfyller prestanda- och tillförlitlighetsstandarderna.

Målet är att fastställa det mest kostnadseffektiva valet baserat på prissättning på tjänstnivå, arbetsbelastningsegenskaper, acceptabel stilleståndstid och kostnadsmodellen. För vissa kan det vara mer ekonomiskt att välja dyrare instanser i färre antal. Omvänt kan en billigare nivå med fler instanser vara bättre för andra. För att kunna fatta ett välgrundat beslut måste du analysera verkliga eller representativa data från konfigurationen och utvärdera de relativa kostnadsförtjänsterna för varje strategi. Överväg följande rekommendationer för att utvärdera den mest kostnadseffektiva metoden:

  • Samla in användningsdata: Samla in faktiska produktionsdata eller proxydata som representerar arbetsbelastningens användningsmönster och resursutnyttjande. Dessa data bör innehålla mått som CPU-användning, minnesanvändning, nätverkstrafik och andra relevanta mått som påverkar kostnaden för skalning.

  • Definiera kostnadsmått: Identifiera de kostnadsmått som är relevanta för din arbetsbelastning, till exempel kostnad per timme, kostnad per transaktion eller kostnad per resursanvändningsenhet. De här måtten hjälper dig att jämföra kostnadseffektiviteten för olika skalningsalternativ.

  • Samla in användningsdata: Samla in faktiska produktionsdata eller proxydata som representerar arbetsbelastningens användningsmönster och resursutnyttjande. Dessa data bör innehålla mått som CPU-användning, minnesanvändning, nätverkstrafik och andra relevanta mått som påverkar kostnaden för skalning

  • Definiera kostnadsmått: Identifiera de kostnadsmått som är relevanta för din arbetsbelastning, till exempel kostnad per timme, kostnad per transaktion eller kostnad per resursanvändningsenhet. De här måtten hjälper dig att jämföra kostnadseffektiviteten för olika skalningsalternativ.

  • Se krav: När du bestämmer mellan utskalnings- och uppskalningsstrategier bör du tänka på kraven på tillförlitlighet, prestanda och skalning för din arbetsbelastning. Utskalning kan förbättra tillförlitligheten genom redundans. Uppskalning ökar kapaciteten för en resurs, men det kan finnas gränser för hur mycket du kan skala upp.

  • Överväg resursgränser: När du utvärderar skalningsalternativ är det viktigt att överväga de inneboende gränserna för varje instans, resurs och skalningsenhetsgräns. Tänk på de övre skalningsgränserna för varje resurs och planera därefter. Tänk dessutom på gränserna för din prenumeration och andra resurser.

  • Testskalning: Skapa tester för olika skalningsscenarier, inklusive skalnings- och skalningsalternativ. Tillämpa användningsdata och simulera arbetsbelastningsbeteendet under olika skalningskonfigurationer. Utföra verkliga tester med hjälp av modellerade skalningsscenarier.

  • Beräkna kostnader: Använd insamlade data och kostnadsmått för att beräkna kostnaderna som är associerade med varje skalningskonfiguration. Överväg faktorer som instanspriser, resursutnyttjande och eventuella extra kostnader som rör skalning.

Optimera autoskalning

Optimering av principen för automatisk skalning innebär att förfina autoskalning för att reagera på belastningsändringar baserat på arbetsbelastningens icke-funktionella krav. Du kan begränsa överdriven skalning genom att justera tröskelvärden och använda rätt nedkylningsperiod. Överväg följande rekommendationer för att optimera autoskalning:

  • Analysera den aktuella autoskalningsprincipen: Förstå den befintliga principen och dess beteende som svar på varierande belastningsnivåer.

  • Se icke-funktionella krav: Identifiera specifika icke-funktionella krav som du behöver tänka på, till exempel svarstid, resursanvändning eller kostnad.

  • Justera skalningströsklar: Justera skalningströsklarna baserat på arbetsbelastningens egenskaper och icke-funktionella krav. Ange tröskelvärden för att skala upp eller ned baserat på faktorer som processoranvändning över tid, nätverkstrafik eller kölängd.

  • Justera en nedkylningsperiod: Justera nedkylningsperioden för att förhindra överdrivna skalningsaktiviteter som utlöses av tillfälliga belastningstoppar. En nedkylningsperiod medför en fördröjning mellan skalningshändelser, vilket gör att systemet kan stabiliseras innan ytterligare skalningsåtgärder.

  • Övervaka och finjustera: Övervaka systemets beteende och prestanda kontinuerligt. Analysera skalningsaktiviteterna och justera principen efter behov för att optimera kostnaden och uppfylla önskade icke-funktionella krav.

Kompromiss: Om du minskar antalet skalningshändelser ökar risken för problem som rör skalning. Det innebär att du eliminerar den extra bufferten eller bufferten som kan hjälpa dig att hantera potentiella problem eller fördröjningar från skalning.

Överväg händelsebaserad skalning

Med händelsedriven autoskalning kan programmet dynamiskt justera resurser baserat på specifika händelser eller utlösare i stället för traditionella mått som PROCESSOR- eller minnesanvändning. Kubernetes händelsedriven autoskalning (KEDA) kan till exempel skala program baserat på skalningsverk, till exempel längden på ett Kafka-ämne. Precision hjälper till att förhindra onödiga skalningsfluktuationer och resursavfall. En hög precisionsnivå optimerar i slutändan kostnaderna. Följ dessa steg om du vill använda händelsebaserad skalning:

  • Välj en händelsekälla: Fastställ den händelsekälla som utlöser skalningen av skalningsenheten. En källa kan vara en meddelandekö, en strömningsplattform eller något annat händelsedrivet system.

  • Konfigurera händelseinmatning: Konfigurera programmet så att det förbrukar händelser från den valda händelsekällan. Det handlar vanligtvis om att upprätta en anslutning, prenumerera på relevanta ämnen eller köer och bearbeta inkommande händelser.

  • Implementera skalningslogik: Skriv logiken som avgör när och hur din skalningsenhet ska skalas baserat på inkommande händelser. Den här logiken bör ta hänsyn till faktorer som antalet händelser, antalet inkommande händelser eller andra relevanta mått.

  • Integrera med skalningsmekanismer: Beroende på programmets körningsmiljö kan du använda olika skalningsmekanismer för att justera de resurser som allokerats till programmet.

  • Konfigurera skalningsregler: Definiera skalningsregler som anger hur skalningsenheten ska skalas som svar på händelser. Dessa regler kan baseras på tröskelvärden, mönster eller andra kriterier som överensstämmer med programmets krav. Tröskelvärden för skalning bör vara relaterade till affärsmått. Om du till exempel lägger till ytterligare två instanser kan du stödja ytterligare 50 användare i kundvagnsbearbetning.

  • Testa och övervaka: Verifiera beteendet för din händelsebaserade skalningsimplementering genom att testa den med olika händelsescenarier. Övervaka skalningsåtgärderna och se till att åtgärderna överensstämmer med dina förväntningar.

Avvägning Konfiguration och finjustering av händelsebaserad automatisk skalning kan vara komplext, och felaktig konfiguration kan leda till överetablering eller underetablering av resurser.

Optimera efterfrågan och tillgång

Kontrollera efterfrågan mot ditt utbud. På arbetsbelastningar där användningen avgör skalning korrelerar kostnaden med skalningen. För att optimera kostnaderna för skalning kan du minimera skalningsutgifterna. Du kan avlasta efterfrågan genom att distribuera efterfrågan till andra resurser eller minska efterfrågan genom att implementera prioritetsköer, gateway-avlastning, buffring och hastighetsbegränsning. Båda strategierna kan förhindra oönskade kostnader på grund av skalning och resursförbrukning. Du kan också styra utbudet genom att begränsa skalningsgränserna. Tänk på följande rekommendationer för att optimera arbetsbelastningens efterfrågan och tillgång.

Avlastning av efterfrågan

Avlastning av efterfrågan syftar på att distribuera eller överföra resursefterfrågan till andra resurser eller tjänster. Du kan använda olika tekniker eller strategier:

  • Cachelagring: Använd cachelagring för att lagra data eller innehåll som används ofta, vilket minskar belastningen på serverdelsinfrastrukturen. Du kan till exempel använda nätverk för innehållsleverans (CDN) för att cachelagras och hantera statiskt innehåll, vilket minskar behovet av skalning av serverdelen. Men inte alla arbetsbelastningar kan cachelagrade data. Arbetsbelastningar som kräver aktuella data och realtidsdata, till exempel handel eller spelarbetsbelastningar, bör inte använda ett cacheminne. Cachelagrade data skulle vara gamla och irrelevanta för användaren.

    Kompromiss. Cachelagring kan innebära utmaningar när det gäller cache-ogiltighet, konsekvens och hantering av cacheförfallodatum. Det är viktigt att noggrant utforma och implementera cachelagringsstrategier för att undvika potentiella kompromisser.

  • Avlastning av innehåll: Avlasta innehåll till externa tjänster eller plattformar för att minska arbetsbelastningen i infrastrukturen. I stället för att till exempel lagra videofiler på den primära servern kan du vara värd för dessa filer i en separat lagringstjänst som är oberoende av din primära server. Du kan läsa in dessa stora filer direkt från lagringstjänsten. Den här metoden frigör resurser på dina servrar, så att du kan använda en mindre server. Det kan vara billigare att lagra stora filer i ett separat datalager. Du kan använda ett CDN för att förbättra prestanda.

  • Belastningsutjämning: Distribuera inkommande begäranden över flera servrar med hjälp av belastningsutjämning. Belastningsutjämning distribuerar arbetsbelastningen jämnt och förhindrar att en enskild server blir överbelastad. Lastbalanserare optimerar resursutnyttjandet och förbättrar effektiviteten i infrastrukturen.

  • Databasavlastning: Minska belastningen på huvudprogramservern genom att avlasta databasåtgärder till en separat databasserver eller en specialiserad tjänst. Du kan till exempel använda ett CDN för cachelagring av statiskt innehåll och en Redis-cache för dynamiskt innehåll (data från databasen) cachelagring. Tekniker som databasharding, läsrepliker eller användning av hanterade databastjänster kan också minska belastningen.

    Avvägning: Genom att avlasta specifika uppgifter till alternativa resurser kan du minska eller undvika extra skalning och kostnader som är kopplade till skalning. Det är dock viktigt att ta hänsyn till de drift- och underhållsutmaningar som kan uppstå vid avlastning. Att utföra en omfattande kostnads-nyttoanalys är avgörande när du väljer de lämpligaste avlastningsteknikerna för din arbetsbelastning. Den här analysen säkerställer att den valda metoden är både effektiv och genomförbar i förhållande till de förväntade besparingarna och driftskomplexiteterna.

Minska efterfrågan

Att minska resursefterfrågan innebär att implementera strategier som hjälper till att minimera resursutnyttjandet i en arbetsbelastning. Om du avlastar efterfrågan flyttas efterfrågan till andra resurser. Minskad efterfrågan minskar efterfrågan på arbetsbelastningen. Genom att minska efterfrågan kan du undvika överetablering av resurser och betala för outnyttjad eller underutnyttjad kapacitet. Du bör använda designmönster på kodnivå för att minska efterfrågan på arbetsbelastningsresurser. Följ dessa steg för att minska efterfrågan genom designmönster:

  • Förstå designmönster: Bekanta dig med olika designmönster som främjar resursoptimering.

  • Analysera arbetsbelastningskrav: Utvärdera de specifika kraven för din arbetsbelastning, inklusive dess förväntade behovsmönster, högsta belastning och resursbehov.

  • Välj lämpliga designmönster: Välj de designmönster som överensstämmer med arbetsbelastningens krav och mål. Om din arbetsbelastning till exempel upplever varierande efterfrågan kan händelsedriven skalning och begränsningsmönster hjälpa dig att hantera arbetsbelastningen genom att dynamiskt allokera resurser. Tillämpa de valda designmönstren på din arbetsbelastningsarkitektur. Du kan behöva separera arbetsbelastningskomponenter, containeranpassa program, optimera lagringsanvändningen med mera.

  • Övervaka och optimera kontinuerligt: Utvärdera regelbundet effektiviteten hos de implementerade designmönstren och justera efter behov. Övervaka resursanvändning, prestandamått och kostnadsoptimeringsmöjligheter.

Genom att följa dessa steg och använda lämpliga designmönster kan du minska resursefterfrågan, optimera kostnaderna och säkerställa en effektiv drift av deras arbetsbelastningar.

Använd dessa designmönster för att minska efterfrågan:

  • Cachelagring åt sidan: Mönstret kontrollerar cachen för att se om data redan lagras i minnet. Om data hittas i cacheminnet kan programmet snabbt hämta och returnera data, vilket minskar behovet av att fråga det beständiga datalagret.

  • Anspråkskontroll: Genom att separera data från meddelandeflödet minskar det här mönstret storleken på meddelanden och stöder en mer kostnadseffektiv meddelandelösning.

  • Konkurrerande konsumenter: Det här mönstret hanterar effektivt objekt i en kö genom att tillämpa distribuerad och samtidig bearbetning. Det här designmönstret optimerar kostnaderna genom skalning som baseras på ködjup och anger gränser för maximalt antal samtidiga konsumentinstanser.

  • Konsolidering av beräkningsresurser: Det här mönstret ökar densiteten och konsoliderar beräkningsresurser genom att kombinera flera program eller komponenter i delad infrastruktur. Den maximerar resursutnyttjandet, undviker outnyttjad etablerad kapacitet och minskar kostnaderna.

  • Distributionsstämplar: Användningen av distributionsstämplar ger flera fördelar, till exempel geodistribuering av grupper av enheter, distribution av nya funktioner till specifika stämplar och observera kostnader per enhet. Distributionsstämplar ger bättre skalbarhet, feltolerans och effektiv resursanvändning.

  • Gateway-avlastning: Det här mönstret avlastar bearbetning av begäranden på en gatewayenhet och omdirigerar kostnader från resurser per nod till gatewayimplementeringen. Om du använder det här designmönstret kan du få lägre ägandekostnad i en centraliserad bearbetningsmodell.

  • Utgivare/prenumerant: Det här mönstret frikopplar komponenter i en arkitektur och ersätter direkt kommunikation med en mellanliggande meddelandekoordinator eller händelsebuss. Det möjliggör en händelsedriven metod och förbrukningsbaserad fakturering, vilket undviker överetablering.

  • Köbaserad belastningsutjämning: Mönstret buffrar inkommande begäranden eller uppgifter i en kö. Buffring jämnar ut arbetsbelastningen och minskar behovet av överetablering av resurser för att hantera hög belastning. Inkommande begäranden bearbetas asynkront för att minska kostnaderna.

  • Horisontell partitionering: Det här mönstret dirigerar specifika begäranden till ett logiskt mål, vilket möjliggör optimeringar med datasamlokalisering. Horisontell partitionering kan leda till kostnadsbesparingar genom att använda flera instanser av beräknings- eller lagringsresurser med lägre specifikationer.

  • Värd för statiskt innehåll: Det här mönstret levererar statiskt innehåll effektivt med hjälp av en värdplattform som utformats för detta ändamål. Det undviker användning av dyrare dynamiska programvärdar, vilket optimerar resursutnyttjandet.

  • Begränsning: Det här mönstret begränsar hastigheten (hastighetsbegränsning) eller dataflödet för inkommande begäranden till en resurs eller komponent. Det hjälper till att informera kostnadsmodellering och kan kopplas direkt till programmets affärsmodell.

  • Valet-nyckel: Det här mönstret ger säker och exklusiv åtkomst till en resurs utan att involvera fler komponenter, vilket minskar behovet av mellanliggande resurser och förbättrar effektiviteten.

Kontrollera tillförsel

Att definiera en övre gräns för det belopp som du är villig att spendera på en viss resurs eller tjänst är ett sätt att kontrollera leveransen. Det är en viktig strategi för att kontrollera kostnader och se till att utgifterna inte överskrider en viss nivå. Upprätta en budget och övervaka utgifterna för att säkerställa att den ligger inom det definierade beloppet. Du kan använda kostnadshanteringsplattformar, budgetaviseringar eller spåra användnings- och utgiftsmönster. Med vissa tjänster kan du begränsa leverans- och gränsfrekvensen, och du bör använda dessa funktioner där det är användbart.

Kontroll av leverans syftar på att definiera en övre gräns för det belopp som du är villig att spendera på en viss resurs eller tjänst. Det är en viktig strategi eftersom den hjälper till att kontrollera kostnaderna och ser till att kostnaderna inte överskrider en viss nivå. Upprätta en budget och övervaka utgifterna för att säkerställa att de ligger inom det definierade tröskelvärdet. Du kan använda kostnadshanteringsplattformar, budgetaviseringar eller spåra användnings- och utgiftsmönster. Med vissa tjänster kan du begränsa leverans- och gränsfrekvensen, och du bör använda dessa funktioner där det är användbart.

Kompromiss: Strängare gränser kan leda till missade möjligheter att skala när efterfrågan ökar, vilket kan påverka användarupplevelsen. Det kan orsaka avstängningar eller att det inte går att svara på belastningen. Det är viktigt att hitta en balans mellan kostnadsoptimering och att se till att du har tillräckligt med resurser för att uppfylla dina affärsbehov.

Azure-underlättande

Utvärdera utskalning jämfört med uppskalning: Azure tillhandahåller en testmiljö där du kan distribuera och testa olika skalningskonfigurationer. Genom att använda faktiska arbetsbelastningsdata eller proxydata kan du simulera verkliga scenarier och mäta effekterna på kostnaderna. Azure erbjuder verktyg och tjänster för prestandatestning, belastningstestning och övervakning, vilket kan hjälpa dig att utvärdera kostnadseffektiviteten för utskalning jämfört med uppskalningsalternativ.

Azure tillhandahåller rekommendationer för kostnadshantering via olika verktyg och tjänster, till exempel Azure Advisor. Dessa rekommendationer analyserar dina användningsmönster, resursutnyttjande och skalningskonfigurationer för att ge insikter och förslag för att optimera kostnaderna.

Azure Load Testing är en fullständigt hanterad tjänst för belastningstestning som genererar högskalig belastning. Tjänsten simulerar trafik för dina program, oavsett var de finns. Utvecklare, testare och kvalitetssäkringstekniker kan använda belastningstestning för att optimera programmets prestanda, skalbarhet eller kapacitet.

Optimera autoskalning: Många Azure-beräkningstjänster stöder distribution av flera identiska instanser och snabb justering av tröskelvärden och principer för skalning. Azure tillhandahåller funktioner för automatisk skalning som gör att du automatiskt kan justera antalet instanser eller resurser baserat på efterfrågan på arbetsbelastningar. Du kan definiera skalningsregler och tröskelvärden för att utlösa utskalnings- eller inskalningsåtgärder. Med hjälp av autoskalning kan du optimera resursallokering och kostnadseffektivitet genom att dynamiskt skala resurser baserat på faktisk efterfrågan.

Azure har en lista över prenumerations- och tjänstbegränsningar. Det finns en allmän gräns för antalet instanser av en resurs som du kan distribuera i varje resursgrupp med några undantag. Mer information finns i Begränsningar för resursinstanser per resursgrupp.

Optimera efterfrågan och utbud: Azure Monitor ger insikter om prestanda och hälsotillstånd för dina program och infrastruktur. Du kan använda Azure Monitor för att övervaka belastningen på dina resurser och analysera trender över tid. Med hjälp av mått och loggar som samlas in av Azure Monitor kan du identifiera områden där skalningsjusteringar kan behövas. Den här informationen kan vägleda förfining av din autoskalningsprincip för att säkerställa att den överensstämmer med icke-funktionella krav och kostnadsoptimeringsmål.

  • Avlastningsförsörjning: Azure har ett modernt nätverk för innehållsleverans i molnet (CDN) som kallas Azure Front Door och cachelagringstjänster (Azure Cache for Redis och Azure HPC Cache). CDN cachelagrar innehåll närmare slutanvändarna, vilket minskar nätverksfördröjningen och förbättrar svarstiderna. Cachelagring lagrar en kopia av data framför huvuddatalagret, vilket minskar behovet av upprepade begäranden till serverdelen. Genom att använda CDN och cachelagringstjänster kan du optimera prestanda och minska belastningen på servrar för potentiella kostnadsbesparingar.

  • Kontrollera leverans: Med Azure kan du också ange resursgränser för din molnarbetsbelastning. Genom att definiera resursgränser kan du se till att din arbetsbelastning ligger inom de allokerade resurserna och undvika onödiga kostnader. Azure tillhandahåller olika mekanismer för att ange resursgränser, till exempel kvoter, principer och budgetaviseringar. De här mekanismerna hjälper dig att övervaka och kontrollera resursanvändningen.

    API Management kan hastighetsbegränsningsbegäranden. Att kunna begränsa inkommande begäranden är en viktig roll för Azure API Management. Antingen genom att styra antalet begäranden eller det totala antalet överförda begäranden/data API Management gör det möjligt för API-leverantörer att skydda sina API:er från missbruk och skapa värde för olika API-produktnivåer.

Checklista för kostnadsoptimering

Se den fullständiga uppsättningen rekommendationer.