Microsoft Azure tilbyr et kraftig sett med tjenester som hjelper utviklere med å bygge og distribuere appene sine. Azure gjør det så enkelt å bruke at Du raskt kan la Azure-hostingkostnadene komme ut av kontroll. Det finnes imidlertid måter å bedre administrere Azure-prisene og optimalisere de totale kostnadene.
Hos Stackify har Vi brukt Azure i over 4 år. Vi har vokst opp Med Azure som vi liker å si og utnytter et bredt utvalg Av Forskjellige Azure-tjenester og bruker en liten formue på Det hvert år. Vi skriver denne artikkelen for å dele noen av våre beste tips.
la oss fokusere på 5 forskjellige måter å redusere kostnadene på:
- Senk de faktiske azure-prisene
- Finn ut hva dine nåværende kostnader er
- Optimaliser hvordan du distribuerer appene Dine
- Forbedre ytelsen til appen Din
- Andre tips
Slik Senker Du Microsoft Azure-Priser & Effektiv Azure Cost Management
En av de enkleste tingene du kan gjøre er bare få noen rabatter på regningen din eller få noe gratis!
1. Forhåndsbetaling for å få rabatt, selv på en forbruksbetalt konto.
Microsoft har tilbudt rabatter på 2,5-5% basert på 6 eller 12 måneder forhåndsbetaling. Sjekk for å se om du kan dra nytte av dette. EN EA-avtale kan imidlertid være et bedre alternativ.
2. Få EN EA-Avtale for maksimale Azure-rabatter.
EA avtaler krever å velge en årlig monetær forpliktelse og som låser i en diskonteringsrente. Du blir deretter fakturert kvartalsvis for eventuelle overages utover din årlige forplikte.
EN EA-avtale kan spare deg for opptil 20-30% eller så for Noen Azure-produkter. Vær advart, diskontere rate tidsplaner er et rot. Som et eksempel kan diskonteringsrenten på SQL Azure være 5% , Men Skytjenester kan være noe som 10-20%, og det er forskjellig for hver ENKELT SKU de selger. Noen kan ikke tilby mye av en rabatt i det hele tatt. Det er tusenvis Av Skuer. Så sørg for å vite Hvilke Azure-tjenester du virkelig trenger, og maksimer rabatten på Disse Sku-Ene i EA-avtalen.
3. Kan du registrere Deg For Bizspark?
Stackify var opprinnelig I Bizspark og kunne få mange fantastiske gratis fordeler. Microsoft annonserer opptil $120,000 i gratis fordeler for oppstart. Ikke en dårlig deal!
4. Kan Du bytte Azure-områder for bedre azure-priser?
Prisene på Azure varierer fra region til region, selv i USA. Dobbeltsjekk prisene i ulike regioner for å se om du kan spare litt.Eksempel: A2 VM I Vest-USA er $133,92, men $126,48 I Vest-USA 2. Australia Øst er $168.14
5. Få gratis penger Fra Microsoft ved å samarbeide med En Azure-partner på et prosjekt.
hvis Du har et stort prosjekt å flytte Til Azure, kan du få noen rabatter for å stimulere Og betale For En Microsoft-partner for å hjelpe til med å få det til å skje. Som et eksempel, vi var i stand til å gjøre dette for å gjøre en haug med arbeid Med Kokk.
Finn Ut Hva Dine Nåværende Azure-Kostnader Er og Organiser Rapportering
Odds er, du vet ikke hva du ikke vet når det gjelder hvor mye du bruker og hva du bruker det på. Det er så enkelt med Azure å spinne opp nye ressurser og bare glemme dem.
6. Vet hvor mye du bruker på hva, noe som er vanskelig uten et verktøy for det.
Microsoft har et par verktøy du kan bruke til å analysere faktureringen:
- Azure billing portal
- EA portal – https://ea.azure.com/
Begge disse gir mye å være ønsket for alle avanserte rapporteringsnivåer. DU kan koble EA-dataene dine Til PowerBI, noe som åpner for flere muligheter for å knase dataene, men du må virkelig segmentere dataene etter prosjekt,avdelinger og etc. for å få mer innsikt i det.
det er mange tredjepartsverktøy tilgjengelig, men forferdelig, mange av dem over $1000 i måneden! Vi anbefaler at Du bruker En tjeneste Som heter Azure Costs (https://azure-costs.com/) som er billig og gjør en god jobb. Den har et gratis nivå og betalte alternativer fra $29 – $199 i måneden.Bare for å gi deg en ide, kan du gruppere rapporteringen en rekke forskjellige måter å forstå om du bruker mye På Vm, SQL Azure,App Services, etc.
Gruppere etter ulike felt I Azure Kostnader
7. Tilordne Azure-utgifter etter prosjekt, miljø eller klient for bedre rapportering.
Hos Stackify er vi vertskap for produksjons -, preproduksjons -, QA -, utviklings-og testappene våre med Azure. Når vi ser på regningen vår på et høyt nivå, er det ingen god måte å vite hvor mye vi bruker på hvilket miljø, noe som er viktig for oss.
Hvor mye vi bruker i produksjonen påvirker våre marginer som en bedrift, og vi ønsker også å minimere kostnadene i dev/test miljøer.
Vi bruker Azure Costs til å organisere det vi bruker penger på. Vi merker bare Hver Azure-ressurs, og så kan vi få rapportering av kodene for enkelt å se utgifter per miljø.
Tag ressurser I Azure Kostnader
vi kan da få rapportering av hver tag for å forstå hvordan vi bruker pengene våre.
Rapportering etter tag I Azure Kostnader
Optimaliser Hvordan Du Distribuerer Appene dine For Å Spare Penger på Azure
hvis du flytter et program Til Azure, er det noen måter å spare penger på som du kanskje ikke engang tenker på. Vil også gi deg noen tips om optimalisering Av App-Tjenester, Skytjenester, etc.
8. Velg Riktig Type Og størrelse På Virtuelle Maskiner.
hvis Du bruker Azure for hosting Av Virtuelle Maskiner, må du passe på at du velger riktig type forekomst. Det er bokstavelig talt dusinvis av forskjellige typer og størrelser. Pass på at du velger riktig type basert på om du trenger mer minne, CPU, raskere disk, etc.
9. Bruk Azure DevTest Labs for å sikre at Test-Vm-er får automatisk avslutning for å spare penger.
Ingenting er mer irriterende enn noen som setter opp en testserver og finner ut senere at du har betalt for det i måneder og måneder. Azure DevTest Labs er fantastisk for å lage servere som du trenger av og til eller bare bestemte timer på dagen.DevTest Labs kan automatisk slå dem på og slå dem av på en tidsplan. Dette hjelper mye med å løse problemet MED QA-teamet ditt, og glemmer å slå av servere før de går for dagen eller helgen.
Merk: DevTest Labs koster ikke noe ekstra å bruke. Du betaler Bare For Vm-ene selv.
10. Unngå å betale for staging slots på Skytjenester.
Med Azure Cloud Services for Nett-og Arbeiderroller betaler du full pris for oppsettspor, akkurat som du gjør produksjonsspor. Det er en god ide å distribuere til staging slots og deretter bytte staging i produksjon for å minimere nedetid.
Pass på at du sletter staging-sporene så fort som mulig. Ingenting gjør meg galere enn å logge Inn På Azure og se en masse ting distribuert i staging slots sitter der uten grunn.
Rediger visningen I Azure-Portalen for å legge til kolonner for «Staging » og» Production», slik at du raskt kan se hvilke som har noe i staging-sporene. Skytjenester koster deg penger selv om serverne er stoppet. Du må slette dem!
11. Kombiner nettapper med Azure App Service-Planer for å redusere antall servere.
En av De absolutt beste funksjonene I Azure Er App Services. Du kan opprette En App Service Plan som representerer 2-3 eller flere servere og deretter pakke så mange webapplikasjoner som du vil ha på dem.
Dette er en stor fordel i forhold til å betale for en hel server for en webapplikasjon som nesten ikke gjør noe. Vi har brukt Nettroller For Skytjenester for alltid, og i noen tilfeller har vi 3 forekomster for høy tilgjengelighet på en webapp som nesten ikke får trafikk. Det er et stort avfall.
12. Slutt å bruke Nettroller for Skytjenester med mindre du må.
Med Mindre Du må bruke Azure Cloud Services For Webroller, vil jeg jobbe for å bytte appene dine Til App Services for å dra nytte av å kombinere flere apper til færre servere.
Skytjenester tar OGSÅ EN EVIGHET å distribuere til. App-Tjenester er lysår raskere for distribusjon til.
13. Bruk Azure Service Fabric Eller Container Service til å kombinere apper.
for nøyaktig samme grunner som jeg nevner ovenfor Med App-Tjenester og Webroller, se på å flytte Arbeiderrollene dine Til Service Fabric eller Container Service. Begge følger mønsteret som App Service Planer der du i utgangspunktet gir en gruppe servere og deretter kaster en haug med apper på dem.
14. Bruk auto-skalering for å redusere kostnadene i løpet av timer.
de fleste apper har travlere og langsommere perioder gjennom en uke eller dag. Dra nytte av automatisk skalering innebygd I Azure for å spare penger i langsomme perioder.
disse distribusjonstypene støtter alle automatisk skalering:
- Cloud Services
- App Services
- VM-Skaleringssett (Inkludert Batch, Service Fabric, Container Service)
Skalering kan også bety at du slår av appen helt ned. App-Tjenester har En funksjon Som Heter AlwaysOn som styrer om appen skal slås av på grunn av ingen aktivitet. Du kan også planlegge å slå av dev / QA-serverne dine med Noe Som DevTest Labs. Det er også tredjeparts tjenester som Park My Cloud.
15. Bruk Azure PaaS-funksjoner; ikke rull dine Egne På Virtuelle Maskiner med mindre du må.
jeg har snakket med Flere personer som bruker Azure, og deres Versjon av Å bruke Azure setter opp Noen Vm – er og vert for deres app og SQL Server på Disse Vm-Ene.
Å Utnytte Azure for virtuelle maskiner og iaas er greit, men du går glipp av mange muligheter til å redusere administrasjonskostnader og redusere Azure-kostnader som helhet. Med mindre du har en virkelig, veldig god grunn til å bruke SQL i EN VM, som å kjøpe noen tredjeparts lastbalanser som kjører i EN VM og andre scenarier, bare ikke.
På Stackify utnytter vi alle PaaS-funksjonene I Azure vi kan. DET inkluderer SQL Azure, Redis, Bordlagring, Service Bus, etc. Tanken på å sette Opp Vm for Redis eller en annen køtjeneste virker som en veldig forferdelig ide. Det eneste unntaket til det for oss er elasticsearch.
Azure Search er tilgjengelig og er et grunnleggende elasticsearch PaaS-tilbud. På grunn av størrelsen og omfanget av elasticsearch-klyngen vår, er det mer fornuftig å håndtere det selv.
16. Bruk SQL Elastiske Bassenger.
hvis du har mange databaser, bør DU vurdere SQL Elastiske bassenger.
Med Azure må Du velge et ytelsesnivå for hver enkelt database. Dette fungerer veldig bra og gir et forutsigbart ytelsesnivå. Men det resulterer også i over provisioning ytelse i mange tilfeller.
Tenk På Et Azure SQL Elastic-Basseng som mer av en server, og du kan få tilordne en haug med databaser til den serveren. Det gjør at ytelsen til hver database kan ebbe og flyte innenfor serverens totale ressurser.
På Stackify hver og en av våre kunder har sine EGNE SQL databaser. Vi har bokstavelig talt hundrevis av dem, og vi legger til nye og de-bestemmelse noen hver eneste dag. SQL Elastiske Bassenger er avgjørende for oss å administrere at mange databaser i skala.
Forbedre Ytelsen til Selve Applikasjonen
OK, hvis du har maksimert hvor mye Du bruker På Azure når det gjelder Den totale Azure-prisen og hvordan du distribuerer appene dine, er det på tide å begynne å gjøre litt ytelsesjustering.jeg vil foreslå å bruke NOEN TYPE APM-verktøy som Retrace, Azure Application Insights eller New Relic.
17. På tide å få ut profilene!
hvis du vil optimalisere ytelsen til koden din, må du gjøre noe kodeprofilering. Det er tre forskjellige typer profiler, og du må kanskje alle tre for å virkelig forbedre koden din.
- Standard profiler – profil koden din på arbeidsstasjonen din for å se etter langsomme metoder i koden ASP.NET profiler og gjennomgå hva som skjer
- APM-Spor den generelle ytelsen til søknaden din og dens avhengigheter
18. Identifiser de mest brukte og tregeste nettforespørslene eller transaksjonene dine.
Se etter forespørsler som tar mye tid eller skjer et moderat antall ganger, men tar altfor lang tid. Se på ASP.NET transaksjons spor for å se om for mange SQL-spørringer skjer, treg webtjenester, etc.De fleste moderne applikasjoner er mer bundet av database-eller webtjenesteanrop. HVIS koden din selv kan være treg, vil du sannsynligvis bruke en standard. NET profiler, som Visual Studio profiler for å prøve å finne ut hvorfor.
Topp Webforespørsler fra RETRACE APM
19. Optimaliser SQL database ytelse.
Hver opptatt program kan vanligvis ha nytte av noen grunnleggende SQL tuning. SQL Azure har noen gode grunnleggende funksjonalitet for ytelsesrapportering og indeksjusteringsanbefalinger.
hvis du trenger å gå dypere, må Du spørre Dmvene I SQL for å identifisere hvilke spørringer som er mest tilgjengelige, bruk MEST IO, ta lengst, etc. Vær også forsiktig med å se hvor lenge spørringene tar fra synspunktet fra appen din.
Du kan også utnytte APM-verktøyet til å identifisere hvilke spørringer som brukes mest og hvilke handlinger i programvaren som ringer dem.
TOPP SQL-Spørringer utsikt FRA Retrace APM
20. Spor bruk og ytelse av alle programavhengigheter.
utover BARE SQL server, gjør programmet sannsynligvis webtjenesteanrop, bruker køer, caching og andre avhengigheter, inkludert Andre Azure-funksjoner som DocumentDB, Azure Storage, etc.
Pass på at alle disse avhengighetene utfører godt og riktig skalert via Azure.
Andre Ideer For Å Redusere Azure-Kostnader
Her er noen andre ideer du bør vurdere for å redusere hvor mye Du bruker På Azure.
21. Kan jeg bruke CDN?
EN CDN som Cloudflare gjør det veldig enkelt å legge til caching av alle dine statiske filer uten kodeendringer. Cloudflare har også massevis av kule funksjoner som kan brukes til å optimalisere ytelsen.
Azure har også et veldig enkelt CDN-tilbud som du kan prøve, men det gjør ikke Hva Cloudflare gjør.
22. Kan Du bruke Det Nye Azure cold storage-alternativet?
Azure tilbyr nå varm Og kald Azure-lagring. Varm er designet for data som brukes ofte, og kald er for data som sjelden brukes. Hvis du har mye data som knapt brukes, sikkerhetskopier, arkiver eller andre data, må du sjekke ut kald lagring.
Optimalisere Azure Cloud Hosting Kostnader
jeg håper du fant denne listen til å være nyttig. Sørg for å starte med noen av de enkleste ideene å implementere og la optimalisere koden din til slutt.
Optimalisering av koden din er langt den vanskeligste delen å gjøre og kan ta en enorm mengde tid og regresjonstesting. På Stackify har Vi Apier som blir kalt millioner og millioner ganger om dagen. Hvis du har kode som blir kalt så mange ganger som vår, er det definitivt verdt å investere i lavt nivå kodeoptimaliseringer, ellers … kanskje ikke.