Microsoft Azure oferă un set puternic de servicii pentru a ajuta dezvoltatorii să construiască și să implementeze aplicațiile lor. Azure îl face atât de ușor de utilizat încât puteți lăsa rapid costurile dvs. de găzduire Azure să scape de sub control. Cu toate acestea, există modalități de a vă gestiona mai bine prețurile Azure și de a vă optimiza costurile totale.
la Stackify, folosim Azure de peste 4 ani. Am crescut cu Azure așa cum ne place să spunem și să folosim o gamă largă de servicii Azure diferite și să cheltuim o mică avere pe ea în fiecare an. Scriem acest articol pentru a împărtăși câteva dintre cele mai bune sfaturi ale noastre.
să ne concentrăm pe 5 moduri diferite de a reduce costurile:
- reduceți prețurile azure reale
- aflați care sunt costurile dvs. curente
- optimizați modul în care implementați aplicațiile
- îmbunătățiți performanța aplicației
- alte sfaturi
cum să reduceți prețurile Microsoft Azure& gestionarea eficientă a costurilor Azure
unul dintre cele mai ușoare lucruri pe care pur și simplu obține unele reduceri la factura sau de a lua ceva gratuit!
1. Pre-pay pentru a obține o reducere, chiar și pe un cont pay-as-you-go.
Microsoft a oferit reduceri de 2,5-5% bazate pe 6 sau 12 luni de pre-plată. Verificați dacă puteți profita de acest lucru. Cu toate acestea, un acord EA poate fi o opțiune mai bună.
2. Obțineți un acord EA pentru reduceri maxime Azure.
acordurile EA necesită selectarea unui angajament Monetar anual și care se blochează într-o rată de actualizare. Apoi sunteți facturat trimestrial pentru orice depășire dincolo de angajamentul dvs. anual.
un acord EA vă poate economisi până la 20-30% sau cam asa ceva pentru unele produse Azure. Fi avertizat, programele rata de actualizare sunt o mizerie. La fel ca un exemplu, rata de actualizare pe SQL Azure ar putea fi de 5%, dar serviciile Cloud ar putea fi ceva de genul 10-20% și este diferit pentru fiecare SKU pe care îl vând. Unii nu pot oferi mult de o reducere la toate. Există mii de SKU-uri. Deci, asigurați-vă că știți ce servicii Azure aveți cu adevărat nevoie și maximizați reducerea la acele SKU-uri din acordul dvs.
3. Vă puteți înscrie pentru Bizspark?
Stackify a fost inițial în Bizspark și a reușit să obțină o mulțime de beneficii gratuite minunate. Microsoft face publicitate până la 120.000 USD în beneficii gratuite pentru startup-uri. Nu este o afacere rea!
4. Puteți schimba regiunile Azure pentru o mai bună stabilire a prețurilor azure?
prețurile Azure variază de la o regiune la alta, chiar și în SUA. Verificați de două ori prețurile în diferite regiuni pentru a vedea dacă puteți economisi puțin.
exemplu: A2 VM în vestul SUA este de 133,92 USD, dar 126,48 USD în vestul SUA 2. Australia Est este $ 168.14
5. Obțineți bani gratuit de la Microsoft colaborând cu un partener Azure la un proiect.
dacă aveți un proiect mare pentru a trece la Azure, puteți obține unele reduceri pentru a stimula și a plăti pentru un partener Microsoft pentru a ajuta la realizarea acestuia. Ca un exemplu, am reușit să facem acest lucru pentru a ajuta la a face o grămadă de lucru cu Chef.
aflați care sunt costurile Azure actuale și organizați raportarea
cotele sunt, nu știți ce nu știți când vine vorba de cât cheltuiți și pe ce cheltuiți. Este atât de ușor cu Azure să creezi noi resurse și să uiți pur și simplu de ele.
6. Știți cât cheltuiți pe ce, ceea ce este greu fără un instrument pentru asta.
Microsoft are câteva instrumente pe care le puteți utiliza pentru a analiza facturarea:
- Azure billing portal
- ea portal – https://ea.azure.com/
ambele lasă mult de dorit pentru orice nivel avansat de raportare. Puteți conecta datele EA la PowerBI care deschide unele mai multe oportunități pentru ronțăit datele, dar într-adevăr nevoie pentru a segmenta datele de proiect, departamente și etc. pentru a obține mai multe perspective în ea.
există o mulțime de instrumente terță parte disponibile, deși îngrozitor, multe dintre ele peste 1.000 de dolari pe lună! Vă recomandăm să utilizați un serviciu numit Costuri Azure (https://azure-costs.com/) care este ieftin și face o treabă excelentă. Are un nivel gratuit și opțiuni plătite de la 29 USD – 199 USD pe lună.
doar pentru a vă oferi o idee, puteți grupa raportarea o grămadă de moduri diferite de a înțelege dacă cheltuiți mult pe VMs, SQL Azure, servicii de aplicații etc.
grup de diverse domenii în costurile Azure
7. Alocați cheltuielile Azure în funcție de proiect, mediu sau client pentru o raportare mai bună.
la Stackify, găzduim aplicațiile noastre de producție, pre-producție, QA, dezvoltare și testare, toate cu Azure. Când ne uităm la factura noastră la un nivel ridicat, nu există o modalitate bună de a ști cât cheltuim pentru ce mediu, care este important pentru noi.
cât cheltuim în producție ne influențează marjele ca afacere și dorim să minimizăm și costurile în mediile dev/test.
folosim costurile Azure pentru a organiza pe ce cheltuim bani. Pur și simplu etichetăm fiecare resursă Azure și apoi putem obține raportarea prin etichete pentru a vedea cu ușurință cheltuielile pe mediu.
Tag resurse în Azure Costuri
putem obține apoi raportarea de fiecare etichetă pentru a înțelege modul în care ne cheltuim banii.
raportarea după etichetă în costurile Azure
optimizați modul în care implementați aplicațiile pentru a economisi bani pe Azure
Dacă mutați o aplicație în Azure, există câteva modalități de a economisi bani la care poate nici nu vă gândiți. De asemenea, doriți să vă oferiți câteva sfaturi despre optimizarea serviciilor de aplicații, a serviciilor Cloud etc.
8. Alegeți tipul și dimensiunea potrivită a mașinilor virtuale.
dacă utilizați Azure pentru găzduirea mașinilor virtuale, asigurați-vă că alegeți tipul corect de instanță. Există literalmente zeci de tipuri și dimensiuni diferite. Asigurați-vă că selectați tipul potrivit în funcție de dacă aveți nevoie de mai multă memorie, procesor, disc mai rapid etc.
9. Utilizați Azure DevTest Labs pentru a vă asigura că VM-urile de testare obțin oprirea automată pentru a economisi bani.
nimic nu este mai enervant decât cineva care înființează un server de testare și Află mai târziu că ați plătit pentru el de luni și luni. Azure DevTest Labs este minunat pentru crearea de servere de care aveți nevoie ocazional sau doar anumite ore ale zilei.DevTest Labs le poate activa automat și le poate închide într-un program. Acest lucru ajută foarte mult la rezolvarea problemei echipei QA care uită să închidă serverele înainte de a pleca pentru zi sau weekend.
notă: DevTest Labs nu costă nimic suplimentar de utilizat. Pur și simplu plătiți pentru VMs în sine.
10. Evitați să plătiți pentru sloturile de așteptare pentru serviciile Cloud.
cu serviciile cloud Azure pentru rolurile Web și Worker, plătiți prețul complet pentru sloturile de așteptare la fel cum faceți sloturile de producție. Este o idee bună să implementați sloturile de așteptare și apoi să schimbați stadializarea în producție pentru a minimiza timpul de nefuncționare.
asigurați-vă că ștergeți sloturile de așteptare cât mai repede posibil. Nimic nu mă face mai nebun decât să mă conectez la Azure și să văd o grămadă de lucruri desfășurate în sloturile de așteptare care stau acolo fără niciun motiv.
Editați vizualizarea în portalul Azure pentru a adăuga coloane pentru „stadializare” și „producție”, astfel încât să puteți vedea rapid care dintre ele au ceva în sloturile de stadializare. Serviciile Cloud vă costă bani chiar dacă serverele sunt oprite. Trebuie să le ștergeți!
11. Combinați aplicațiile web cu planurile de servicii Azure App pentru a reduce numărul de servere.
una dintre cele mai bune caracteristici absolute ale Azure este App Services. Puteți crea un Plan de Servicii App care reprezintă 2-3 sau mai multe servere și apoi ambalaj cât mai multe aplicații web, după cum doriți pe ele.
acesta este un avantaj imens față de plata pentru un întreg server pentru o aplicație web care nu face nimic. Am folosit roluri web de servicii Cloud pentru totdeauna și, în unele cazuri, au 3 cazuri de disponibilitate ridicată pe o aplicație web care devine practic nici un trafic. Este o risipă uriașă.
12. Opriți utilizarea rolurilor web ale Serviciilor Cloud, cu excepția cazului în care trebuie.
dacă nu trebuie să utilizați servicii cloud Azure pentru roluri Web, aș lucra pentru a schimba aplicațiile dvs. în servicii de aplicații pentru a profita de combinarea mai multor aplicații cu mai puține servere.
servicii Cloud, de asemenea, să ia pentru totdeauna pentru a implementa la. Serviciile App sunt ani lumină mai rapid pentru implementarea la.
13. Utilizați Azure Service Fabric sau Container Service pentru a combina aplicații.
Din exact aceleași motive pe care le menționez mai sus cu serviciile de aplicații și rolurile Web, uitați-vă la mutarea rolurilor dvs. de Lucrător în Service Fabric sau Container Service. Ambele urmează modelul, cum ar fi planurile de servicii pentru aplicații, în care furnizați practic un grup de servere și apoi aruncați o grămadă de aplicații pe ele.
14. Utilizați auto-scalarea pentru a reduce costurile în timpul orelor libere.
majoritatea aplicațiilor au perioade mai aglomerate și mai lente pe parcursul unei săptămâni sau zile. Profitați de scalarea automată încorporată în Azure pentru a economisi niște bani în perioadele lente.
aceste tipuri de implementare acceptă toate scalarea automată:
- servicii Cloud
- servicii de aplicații
- Seturi de Scale VM (inclusiv lot, țesătură de Service, Serviciu de containere)
scalarea ar putea însemna, de asemenea, închiderea completă a aplicației. Serviciile de aplicații au o caracteristică numită AlwaysOn care controlează dacă aplicația ar trebui să se închidă din cauza lipsei de activitate. De asemenea, puteți programa închiderea serverelor dev/QA cu ceva de genul DevTest Labs. Există, de asemenea, servicii terțe, cum ar fi Park My Cloud.
15. Utilizați funcțiile Azure PaaS; nu vă rotiți singur pe VM-uri decât dacă trebuie.
am vorbit cu mai multe persoane care folosesc Azure și versiunea lor de a folosi Azure este configurarea unor VM-uri și găzduirea aplicației și SQL Server pe acele VM-uri.
utilizarea Azure pentru mașini virtuale și IaaS este în regulă, dar pierdeți o mulțime de oportunități de a reduce costurile de gestionare și de a reduce costurile Azure în ansamblu. Dacă nu aveți un motiv foarte bun pentru a utiliza SQL într-un VM, cum ar fi cumpărarea unui echilibrator de încărcare terță parte care rulează într-un VM și alte scenarii, pur și simplu nu.
la Stackify, folosim fiecare caracteristică PaaS a Azure pe care o putem. Aceasta include SQL Azure, Redis, stocare de masă, Autobuz de serviciu etc. Gândul de a configura VMs pentru Redis sau un alt serviciu de așteptare pare a fi o idee cu adevărat teribilă. Singura excepție pentru noi este elasticsearch.
Azure Search este disponibil și este o ofertă de bază elasticsearch PaaS. Datorită dimensiunii și amplorii clusterului nostru elasticsearch, este mai logic să îl gestionăm noi înșine.
16. Utilizați bazine elastice SQL.
Dacă aveți o mulțime de baze de date, ar trebui să ia în considerare SQL bazine elastice.
cu Azure, trebuie să alegeți un nivel de performanță pentru fiecare bază de date individuală. Acest lucru funcționează foarte bine și oferă un nivel previzibil de performanță. Cu toate acestea, aceasta are ca rezultat, de asemenea, peste furnizarea de performanță într-o mulțime de cazuri.
gândiți-vă la un bazin elastic Azure SQL ca mai mult de un server și puteți obține atribui o grămadă de baze de date la acel server. Aceasta permite performanța fiecărei baze de date să curgă și să curgă în resursele totale ale serverului.
la Stackify fiecare dintre clienții noștri are propriile baze de date SQL. Avem literalmente sute de ele, și vom adăuga altele noi și de-furnizarea de unele în fiecare zi. SQL bazine elastice sunt critice pentru noi pentru a gestiona că multe baze de date la scară.
îmbunătățiți performanța aplicației în sine
OK, dacă ați maximizat cât cheltuiți pe Azure atunci când vine vorba de prețurile dvs. generale Azure și de modul în care implementați aplicațiile, Este timpul să începeți să faceți unele reglaje de performanță.
aș sugera utilizarea unui tip de instrument APM, cum ar fi Retrace, Azure Application Insights sau New Relic.
17. E timpul să scoatem profilerii!
dacă doriți să optimizați performanța codului dvs., trebuie să faceți un profil de cod. Există trei tipuri diferite de profilatori și este posibil să aveți nevoie de toate cele trei pentru a vă îmbunătăți cu adevărat codul.
- standard profiler-profil codul pe stația de lucru pentru a căuta metode lente în codul
- Transaction tracing-capture cereri web complete prin intermediul unui ASP.NET profiler și revizuirea ceea ce se întâmplă
- APM – urmăriți performanța generală a aplicației și dependențele sale
18. Identificați cele mai utilizate și mai lente solicitări sau tranzacții web.
căutați cereri care durează mult sau se întâmplă de un număr moderat de ori, dar durează prea mult. Uită-te la ASP.NET tranzacții urme pentru a vedea dacă se întâmplă prea multe interogări SQL, servicii web lente etc.
majoritatea aplicațiilor moderne sunt mai legate de apelurile de baze de date sau de servicii web. Dacă codul dvs. în sine poate fi lent, probabil că doriți să utilizați un profiler.net standard, cum ar fi Visual Studio profiler pentru a încerca să vă dați seama de ce.
cereri web de Top din Retrace APM
19. Optimizarea performanței bazei de date SQL.
fiecare aplicație ocupată poate beneficia, de obicei, de unele tuning SQL de bază. SQL Azure are câteva funcționalități de bază excelente pentru raportarea performanței și recomandările de reglare a indexului.
dacă trebuie să mergeți mai adânc, asigurați-vă că interogați DMV-urile în SQL pentru a identifica ce interogări sunt accesate cel mai mult, utilizați cel mai mult IO, luați cel mai lung etc. De asemenea, aveți grijă să vedeți cât durează interogările din punctul de vedere al aplicației.
de asemenea, puteți utiliza instrumentul APM pentru a identifica ce interogări sunt utilizate cel mai mult și ce acțiuni din software-ul dvs. le apelează.
vizualizare interogări SQL de top din Retrace APM
20. Urmăriți utilizarea și performanța tuturor dependențelor aplicației.
dincolo de SQL server, aplicația dvs. face probabil apeluri de servicii web, folosește cozi, cache și alte dependențe, inclusiv alte caracteristici Azure, cum ar fi DocumentDB, Azure Storage etc.
asigurați-vă că toate aceste dependențe funcționează bine și corect scalate prin Azure.
alte idei pentru a reduce costurile Azure
iată câteva alte idei de luat în considerare pentru a ajuta la scăderea cât cheltuiți pe Azure.
21. Poți folosi un CDN?
un CDN ca Cloudflare face foarte ușor să adăugați cache-ul tuturor fișierelor statice fără modificări de cod. Cloudflare are, de asemenea, o mulțime de funcții interesante care pot fi utilizate pentru a optimiza performanța.
Azure are și o ofertă CDN foarte simplă pe care o puteți încerca, dar nu face ceea ce face Cloudflare.
22. Puteți utiliza noua opțiune Azure cold storage?
Azure oferă acum stocare Azure caldă și rece. Cald este proiectat pentru date care este utilizat frecvent și rece este pentru date care este rar folosit. Dacă aveți o mulțime de date care sunt greu utilizate, copii de rezervă, arhive sau alte date, asigurați-vă că verificați stocarea la rece.
optimizarea costurilor Azure Cloud Hosting
sper că ați găsit această listă pentru a fi de ajutor. Asigurați-vă că începeți cu unele dintre cele mai simple idei de implementat și lăsați optimizarea codului pentru ultima dată.
optimizarea codului dvs. este de departe cea mai grea parte de făcut și poate dura o cantitate enormă de timp și teste de regresie. La Stackify, Avem API-uri care se numesc milioane și milioane de ori pe zi. Dacă aveți un cod care este apelat de câte ori este al nostru, merită cu siguranță să investiți în optimizările de cod de nivel scăzut, altfel…poate că nu.