Azure račun raste svaki mjesec? Gdje odlazi novac i kako smanjiti troškove
Azure račun raste, a nitko ne zna zašto? Gdje najčešće odlazi novac, zašto zaustavljena aplikacija i dalje košta i kojim redom smanjiti troškove bez rizika.
Vlado Pandžić · Osnivač · Senior .NET arhitekt
Objavljeno · 3 min čitanja
Prije godinu dana Azure račun bio je prihvatljiv. Danas je gotovo dvostruko veći, a aplikacija radi isto što je radila i tada. Nitko nije kupio ništa novo, barem nitko ne pamti da jest. Račun jednostavno raste, mjesec po mjesec.
To je najčešća priča s Azureom, i gotovo uvijek ima isto objašnjenje: nitko nije zadužen da gleda što se plaća.
Gdje najčešće odlazi novac
| Stavka | Zašto raste | Što napraviti |
|---|---|---|
| App Service planovi | Plan je jednom povećan zbog gužve i nikad nije vraćen | Uskladiti veličinu sa stvarnom iskorištenošću |
| Testna okruženja | Rade 24 sata dnevno, 7 dana u tjednu, iako ih netko koristi radnim danom | Smanjiti ili ugasiti izvan radnog vremena |
| Azure SQL | Viša razina kupljena da pokrije spore upite | Popraviti upite, pa vratiti bazu na nižu razinu |
| Logovi i nadzor | Bilježi se sve, bez uzorkovanja i bez limita | Uzorkovanje, razina logova i dnevni limit |
| Zaboravljeni resursi | Diskovi, IP adrese i snimke ostali iza starih testova | Pronaći i obrisati |
| Plaćanje po potrošnji | Stalno opterećenje plaća se po najskupljoj, fleksibilnoj cijeni | Rezervacija ili savings plan, ali tek na kraju |
Zaustavili ste aplikaciju, a račun i dalje stiže
Ovo iznenadi gotovo svakoga. Na App Serviceu ne plaćate aplikaciju, nego plan na kojem aplikacija radi: svaku instancu plana, za svo vrijeme dok je dodijeljena. Ako testnu aplikaciju zaustavite, plan i dalje postoji i i dalje se naplaćuje kao da radi.
Da biste stvarno uštedjeli, plan treba smanjiti na manju razinu ili ga obrisati, ili više manjih aplikacija smjestiti na jedan zajednički plan. Isto vrijedi i za baze: testna baza koja se koristi povremeno može na razinu koja se sama pauzira kad je nitko ne koristi.
Što šef može provjeriti sam, bez stručnjaka
Ne treba znati programirati da bi se dobila prva slika:
- Cost Management u Azure portalu. Troškovi po resursu, za zadnjih nekoliko mjeseci. Obično se odmah vidi koje tri stavke čine većinu računa.
- Azure Advisor. Microsoftove vlastite preporuke za uštedu, poput nedovoljno iskorištenih resursa koje se može smanjiti ili ugasiti.
- Budžet s alarmom. Iznos iznad kojeg vam Azure šalje upozorenje, i za stvarnu potrošnju i za predviđanje do kraja mjeseca. Tako rast više ne dolazi kao iznenađenje na računu.
Kojim redom smanjiti troškove
Redoslijed je važniji nego što izgleda:
- PogledatiTroškovi po resursu i iskorištenost
- Ugasiti višakZaboravljeni resursi i prazna okruženja
- SmanjitiPrava veličina planova i baza
- Obvezati seRezervacija za ono što ostane
Najskuplja greška je krenuti od kraja. Rezervacije i savings planovi donose nižu cijenu u zamjenu za obvezu na jednu ili tri godine. Ako ih kupite prije nego smanjite prevelike planove, upravo ste se na tri godine obvezali plaćati višak.
Kad ušteda nije u Azureu, nego u kodu
Dio računa ne rješava se u Azure portalu. Baza na višoj razini jer aplikacija šalje stotine upita za jedan ekran, ili jači plan jer je aplikacija spora, isti je problem kao u članku o sporim aplikacijama: plaćate hardver da pokrijete kod. Kad se popravi kod, može se smanjiti i razina, a ta ušteda ostaje svaki mjesec.
Isto vrijedi i za nadzor. Kako da Application Insights ne pojede račun opisali smo u članku o nadzoru aplikacija.
Kako mi radimo
ProCoding je .NET studio iz Splita, a Azure za .NET aplikacije jedna je od naših specijalnosti. U pregledu Azure troškova prolazimo planove, baze, okruženja, logove i zaboravljene resurse, a vi dobivate popis ušteda s procjenom za svaku stavku, poredan od najveće prema najmanjoj. Prvi korak je besplatni razgovor od 30 minuta.
Izvori
- Plan and manage costs for Azure App Service, Microsoft Learn
- Serverless compute tier for Azure SQL Database, Microsoft Learn
- Create and manage budgets, Microsoft Learn
- Save costs with Azure Reservations, Microsoft Learn