Microsoft Azure biedt een krachtige reeks services om ontwikkelaars te helpen bij het bouwen en implementeren van hun apps. Azure maakt het zo makkelijk te gebruiken dat je je Azure hosting kosten snel uit de hand kunt laten lopen. Er zijn echter manieren om uw Azure-prijzen beter te beheren en uw totale kosten te optimaliseren.
bij Staccify gebruiken we Azure al meer dan 4 jaar. We zijn opgegroeid met Azure zoals we graag zeggen en maken gebruik van een breed scala aan verschillende Azure diensten en besteden een klein fortuin aan het elk jaar. We schrijven dit artikel om een aantal van onze beste tips te delen.
laten we ons richten op 5 verschillende manieren om uw kosten te verlagen:
- Verlaag uw werkelijke azure-prijzen
- erachter komen wat uw huidige kosten zijn
- optimaliseer hoe u uw apps implementeert
- Verbeter de prestaties van uw app
- andere tips
hoe de prijzen van Microsoft Azure te verlagen& effectief Azure-kostenbeheer
een van de makkelijkste dingen u kunt doen is gewoon een aantal kortingen op uw factuur of krijg iets gratis!
1. Pre-pay om korting te krijgen, zelfs op een pay-as-you-go account.
Microsoft heeft kortingen van 2,5-5% aangeboden op basis van 6 of 12 maanden vooruitbetaling. Kijk of je hier gebruik van kunt maken. Een EA-overeenkomst kan echter een betere optie zijn.
2. Ontvang een EA-Overeenkomst voor maximale Azure-kortingen.
EA-overeenkomsten vereisen het selecteren van een jaarlijkse monetaire verbintenis en dat houdt een discontovoet vast. U wordt vervolgens driemaandelijks gefactureerd voor eventuele overschrijdingen buiten uw jaarlijkse commit.
een EA-overeenkomst kan u tot 20-30% of zo besparen voor sommige Azure-producten. Wees gewaarschuwd, de discount rate schema ‘ s zijn een puinhoop. Net als een voorbeeld, uw discontovoet op SQL Azure zou kunnen zijn 5% , maar Cloud Services zou kunnen worden iets als 10-20% en het is anders voor elke SKU ze verkopen. Sommige bieden misschien niet veel van een korting op alle. Er zijn duizenden SKU ‘ s. Dus zorg ervoor dat u weet welke Azure-services u echt nodig hebt en maximaliseer de korting op die SKU ‘ s in uw EA-overeenkomst.
3. Kun je je aanmelden voor Bizspark?
Staccify was oorspronkelijk in Bizspark en kon veel geweldige gratis voordelen krijgen. Microsoft adverteert tot $ 120.000 aan gratis voordelen voor startups. Geen slechte deal!
4. Kunt u van Azure-regio ‘ s Wisselen voor betere azure-prijzen?
Azure prijzen variëren van regio tot regio, zelfs in de VS. Controleer de prijzen in verschillende regio ‘ s om te zien of je een beetje kunt besparen.
voorbeeld: A2 VM in West US is $ 133,92 maar $126,48 in West US 2. Australië Oost is $ 168,14
5. Krijg gratis geld van Microsoft door samen te werken met een Azure partner aan een project.
als u een groot project naar Azure wilt verplaatsen, kunt u kortingen krijgen om een Microsoft-partner te stimuleren en te betalen om het mogelijk te maken. Als voorbeeld, we waren in staat om dit te doen om te helpen doen een heleboel werk met Chef.
Zoek uit wat uw huidige Azure kosten zijn en organiseer rapportage
Odds zijn, je weet niet wat je niet weet als het gaat om hoeveel je uitgeeft en waaraan je het besteedt. Met Azure is het zo gemakkelijk om nieuwe bronnen op te draaien en ze gewoon te vergeten.
6. Weet hoeveel je uitgeeft aan wat, wat moeilijk is zonder gereedschap.
Microsoft heeft een aantal tools die u kunt gebruiken om uw facturering te analyseren:
- Azure billing portal
- EA portal – https://ea.azure.com/
beide laten veel te wensen over voor elk geavanceerd niveau van rapportage. Je kunt je EA-gegevens koppelen aan PowerBI, wat nog meer mogelijkheden biedt om de gegevens te kraken, maar je moet de gegevens echt segmenteren per project, afdeling en etc. om er meer inzicht in te krijgen.
er zijn veel tools van derden beschikbaar, hoewel ontstellend, veel van hen meer dan $ 1.000 per maand! We raden aan om een service genaamd Azure Costs (https://azure-costs.com/) te gebruiken die goedkoop is en geweldig werk levert. Het heeft een gratis tier en betaalde opties van $ 29- $ 199 per maand.
om u een idee te geven, kunt u de rapportage groeperen op een aantal verschillende manieren om te begrijpen of u veel besteedt aan VM ‘ s, SQL Azure, App Services, enz.
groeperen op verschillende velden in Azure Costs
7. Wijs Azure-uitgaven toe per project, omgeving of klant voor een betere rapportage.
bij Staccify hosten we onze productie -, pre-productie -, QA -, ontwikkelings-en testapps met Azure. Als we kijken naar onze rekening op een hoog niveau, is er geen goede manier om te weten hoeveel we besteden aan welk milieu, wat belangrijk is voor ons.
hoeveel we besteden aan productie beïnvloedt onze marges als bedrijf en we willen ook de kosten in dev/test-omgevingen minimaliseren.
We gebruiken Azure kosten om te organiseren waar we geld aan uitgeven. We taggen gewoon elke Azure resource en dan kunnen we rapportage krijgen door de tags om gemakkelijk de kosten per omgeving te zien.
Tag resources in Azure Costs
We kunnen dan rapportage krijgen per tag om te begrijpen hoe we ons geld uitgeven.
rapportage per tag in Azure Costs
optimaliseer hoe u uw Apps inzet om geld te besparen op Azure
Als u een toepassing naar Azure verplaatst, zijn er een paar manieren om geld te besparen waar u misschien niet eens aan denkt. Wil je ook enkele tips geven over het optimaliseren van App-Services, clouddiensten, enz.
8. Kies het juiste type en de juiste grootte van virtuele Machines.
Als u Azure gebruikt voor het hosten van virtuele Machines, zorg er dan voor dat u het juiste type instantie kiest. Er zijn letterlijk tientallen verschillende soorten en maten. Zorg ervoor dat u het juiste type selecteert op basis van als u meer geheugen, CPU, snellere schijf, enz. nodig hebt.
9. Gebruik Azure DevTest Labs om ervoor te zorgen dat test VM ‘ s automatisch worden afgesloten om geld te besparen.
niets is erger dan iemand die een testserver opzet en er later achter komt dat je er maanden en maanden voor betaald hebt. Azure DevTest Labs is geweldig voor het creëren van servers die u af en toe of slechts bepaalde uren van de dag nodig.
DevTest Labs kunnen ze automatisch inschakelen en afsluiten volgens een schema. Dit helpt veel bij het oplossen van het probleem van uw QA-team vergeten om servers af te sluiten voordat ze vertrekken voor de dag of het weekend.
opmerking: DevTest Labs kost niets extra om te gebruiken. Je betaalt gewoon voor de PW ‘ s zelf.
10. Vermijd betalen voor staging slots op Cloud Services.
met Azure cloudservices voor Web-en werkrollen betaalt u de volledige prijs voor het stagen van slots, net zoals u dat doet bij productie slots. Het is een goed idee om te implementeren in staging slots en dan swap staging in productie om downtime te minimaliseren.
zorg ervoor dat u de staging slots zo snel mogelijk verwijdert. Niets maakt me bozer dan in te loggen in Azure en het zien van een heleboel dingen ingezet in staging slots zitten er zonder reden.
Bewerk de weergave in de Azure Portal om kolommen toe te voegen voor “Staging” en “Production” zodat u snel kunt zien welke er iets hebben in de staging slots. Cloud Services kosten u geld, zelfs als de servers worden gestopt. Je moet ze verwijderen!
11. Combineer web apps met Azure App Service plannen om het aantal servers te verminderen.
een van de absolute beste functies van Azure is App Services. U kunt een App Service Plan dat 2-3 of meer servers vertegenwoordigt en vervolgens pak zo veel webapplicaties als je wilt op hen.
Dit is een enorm voordeel ten opzichte van het betalen voor een hele server voor een webapplicatie die nauwelijks iets doet. We hebben gebruikt Cloud Service Web rollen voor altijd en in sommige gevallen hebben 3 gevallen voor hoge beschikbaarheid op een web app die vrijwel geen verkeer krijgt. Het is een enorme verspilling.
12. Stop met het gebruik van Cloud Service webrollen, tenzij je moet.
tenzij u Azure Cloud Services moet gebruiken voor webrollen, zou ik werken aan het overschakelen van uw apps naar App Services om te profiteren van het combineren van meerdere apps naar minder servers.
cloudservices nemen ook een eeuwigheid in beslag om te implementeren. App-Services zijn lichtjaren sneller voor de implementatie van.
13. Gebruik Azure Service Fabric of Container Service om apps te combineren.
om precies dezelfde redenen die ik hierboven vermeld met App Services en webrollen, kijk naar het verplaatsen van uw werknemersrollen naar Service Fabric of Container Service. Beide volgen het patroon als App Service plannen waar je in principe het verstrekken van een groep van servers en gooi een bos van apps op hen.
14. Gebruik auto-scaling om de kosten te verlagen tijdens vrije uren.
De meeste apps hebben drukker en tragere periodes gedurende een week of dag. Profiteer van auto-scaling ingebouwd in Azure om wat geld te besparen tijdens langzame periodes.
deze implementatietypen ondersteunen allemaal automatisch schalen:
- cloudservices
- apps
- VM-Schaalsets (inclusief Batch, Service Fabric, Container Service)
schalen kan ook betekenen dat uw app volledig wordt afgesloten. App-Services hebben een functie genaamd AlwaysOn die bepaalt of de app moet worden afgesloten als gevolg van geen activiteit. U kunt ook plannen afsluiten van uw dev/QA servers met iets als DevTest Labs. Er zijn ook diensten van derden, zoals Park My Cloud.
15. Gebruik Azure PaaS-functies; rol je eigen niet op VM ‘ s, tenzij je moet.
Ik heb met verschillende mensen gesproken die Azure gebruiken en hun versie van het gebruik van Azure is het opzetten van een aantal VM ’s en het hosten van hun app en SQL Server op die VM’ s.
gebruik maken van Azure voor virtuele machines en IaaS is prima, maar u mist veel mogelijkheden om de beheerskosten te verlagen en de kosten van Azure als geheel te verlagen. Tenzij je een echt, echt goede reden hebt om SQL in een VM te gebruiken, zoals het kopen van een load balancer van derden die draait in een VM en andere scenario ‘ s, gewoon niet doen.
bij Staccify gebruiken we elke Paas-functie van Azure die we kunnen. Dat omvat SQL Azure, Redis, tafel opslag, Service Bus, enz. De gedachte aan het opzetten van VM ‘ s voor Redis of een andere wachtrijdienst lijkt een echt verschrikkelijk idee. De enige uitzondering daarop voor ons is elasticsearch.
Azure Search is beschikbaar en is een basis elasticsearch Paas aanbod. Door de enorme omvang en schaal van onze elasticsearch cluster, is het zinvoller om het zelf te beheren.
16. Gebruik SQL elastische zwembaden.
als u veel databases hebt, moet u SQL Elastic pools overwegen.
met Azure moet u een prestatielaag kiezen voor elke afzonderlijke database. Dit werkt erg goed en zorgt voor een voorspelbaar prestatieniveau. Echter, het resulteert ook in over provisioning prestaties in veel gevallen.
denk aan een Azure SQL Elastic Pool als meer een server en je kunt een aantal databases toewijzen aan die server. Dat maakt het mogelijk de prestaties van elke database te eb en flow binnen de totale middelen van de server.
bij Staccify heeft elk van onze klanten zijn eigen SQL databases. We hebben er letterlijk honderden, en we voegen er nieuwe toe en verwijderen er elke dag een paar. SQL Elastic Pools zijn van cruciaal belang voor ons om zoveel databases op schaal te beheren.
Verbeter de prestaties van uw applicatie zelf
OK, als u hebt gemaximaliseerd hoeveel u uitgeeft aan Azure als het gaat om uw algemene Azure-prijzen en hoe u uw apps implementeert, is het tijd om te beginnen met het afstemmen van de prestaties.
Ik stel voor om een soort APM tool te gebruiken zoals Retrace, Azure Application Insights of New Relic.
17. Tijd om de profilers eruit te halen!
Als u de prestaties van uw code wilt optimaliseren, moet u wat code profilering uitvoeren. Er zijn drie verschillende types van profilers en je kan alle drie nodig hebben om echt te verbeteren van uw code.
- standaard profiler-profiel uw code op uw werkstation om te zoeken naar langzame methoden in uw code
- transactie tracing-capture volledige web aanvragen via een ASP.NET profiler en bekijk wat er gebeurt
- APM-Volg de algehele prestaties van uw toepassing en de afhankelijkheden
18. Identificeer uw meest gebruikte en langzaamste webverzoeken of transacties.
zoek naar verzoeken die veel tijd in beslag nemen of een matig aantal keren gebeuren, maar veel te lang duren. Kijk naar ASP.NET transactiesporen om te zien of er te veel SQL-query ‘ s plaatsvinden, trage webservices, enz.
De meeste moderne toepassingen zijn meer gebonden aan database-of webserviceaanroepen. Als uw code zelf traag kan zijn, wilt u waarschijnlijk een standaard. net profiler gebruiken, zoals de Visual Studio profiler om te proberen erachter te komen waarom.
Top webverzoeken van Retrace APM
19. Optimaliseer de prestaties van SQL-database.
elke drukke toepassing kan meestal profiteren van een aantal basis SQL tuning. SQL Azure heeft een aantal geweldige basisfunctionaliteit voor performance reporting en index tuning aanbevelingen.
als je dieper moet gaan, zorg er dan voor dat je de DMV ’s in SQL opvraagt om te bepalen welke query’ s het meest benaderd worden, gebruik de meeste IO, neem de langste, enz. Ook, wees voorzichtig om te zien hoe lang de vragen te nemen vanuit het oogpunt van uw app.
u kunt uw APM-tool ook gebruiken om te bepalen welke query ‘ s het meest worden gebruikt en welke acties in uw software ze aanroepen.
Top SQL Queries view from Retrace APM
20. Volg het gebruik en de prestaties van alle afhankelijkheden van toepassingen.
naast alleen SQL server, maakt uw toepassing waarschijnlijk webservice-oproepen, gebruikt wachtrijen, caching en andere afhankelijkheden, inclusief andere Azure-functies zoals DocumentDB, Azure Storage, enz.
zorg ervoor dat al deze afhankelijkheden goed presteren en correct geschaald zijn via Azure.
andere ideeën om de kosten van Azure te verlagen
Hier zijn enkele andere ideeën om te overwegen om te helpen bij het verlagen van hoeveel u aan Azure uitgeeft.
21. Kun je een CDN gebruiken?
een CDN – achtige Cloudflare maakt het heel eenvoudig om caching van al uw statische bestanden toe te voegen zonder code wijzigingen. Cloudflare heeft ook een ton van coole functies die kunnen worden gebruikt om de prestaties te optimaliseren.
Azure heeft ook een heel eenvoudig CDN aanbod dat je kunt proberen, maar het doet niet wat Cloudflare doet.
22. Kunt u gebruik maken van de nieuwe Azure koude opslag optie?
Azure biedt nu warme en koude Azure opslag. Warm is ontworpen voor gegevens die vaak worden gebruikt en koud is voor gegevens die zelden worden gebruikt. Als u veel gegevens die nauwelijks worden gebruikt, back-ups, Archieven, of andere gegevens, moet u controleren koude opslag.
optimalisatie van Azure Cloud Hosting Kosten
Ik hoop dat u deze lijst nuttig vond. Zorg ervoor dat u begint met een aantal van de eenvoudigste ideeën te implementeren en laat het optimaliseren van uw code voor het laatst.
Het optimaliseren van uw code is verreweg het moeilijkste deel om te doen en kan een enorme hoeveelheid tijd en regressie testen vergen. Bij Staccify hebben we API ‘ s die miljoenen en miljoenen keren per dag worden genoemd. Als je code die wordt gebeld zo vaak als de Onze, het is zeker de moeite waard te investeren in de low-level code optimalisaties, anders…misschien niet.