Preskoči na sadržaj

Vlastiti hosting InfluxDB-a ostao je jeftiniji zbog naplate po upitu

Na 2 TB vlastiti hosting štedio je oko 27.000 $ godišnje. Kad je kraći rok čuvanja podataka spustio trošak skladišta na 1,31 $, ostao je jeftiniji: plaća se svaki upit s dashboarda.

8 min čitanja9 sekcija

Vodili smo analitički sloj koji je primao preko dva miliona upisa dnevno. Podaci su bili u InfluxDB-u, koji smo sami hostovali na EC2, na instanci sa 128 GB RAM-a i dva terabajta diska.

Sami smo hostovali jer je managed cloud bio preskup, i to je bila ispravna odluka. Pogriješio sam u razlogu, a to sam shvatio tek kad smo promijenili politiku čuvanja podataka.

01

Šta managed servis naplaćuje

Račun ima četiri stavke:

Cijena
Ulazni podaci0,0025 $ po upisanom MB
Skladište0,002 $ po GB-satu
Broj upita0,012 $ na 100 upita
Izlazni podaci0,09 $ po GB

Treća stavka se lako previdi, a na kraju upravo ona presudi u poređenju. Svaka operacija upita se naplaćuje, a svaka ćelija dashboarda je upit. Dashboard s osam ćelija koje se osvježavaju svakih pet minuta znači devedeset šest naplativih operacija na sat, i to po gledaocu.

02

Na dva terabajta skladište je činilo 95% računa managed servisa

Po cijeni od 0,002 $ za GB-sat skladište izlazi 1,46 $ po GB mjesečno. Dva terabajta su 2.048 GB, pa sam disk košta 2.990 $ mjesečno.

Evo cijelog poređenja za količine koje smo imali, uz pedeset ljudi koji koriste dashboarde:

Managed cloud
Ulazni podaci: 2 M dnevno po ~250 B37 $
Skladište: 2 TB2.990 $
Broj upita: 50 korisnika na živim dashboardima101 $
Izlazni podaci: 200 GB18 $
Ukupno3.147 $
Vlastiti hosting na EC2
r7g.4xlarge, 128 GB, 16 vCPU625 $
EBS gp3, 2 TB164 $
Snapshoti31 $
S3 rezervna kopija12 $
Prenos između zona (cross-AZ)5 $
CloudWatch25 $
Ukupno862 $

Vlastiti hosting izlazio je oko 2.285 $ mjesečno jeftinije, otprilike 27.000 $ godišnje. Upis dva miliona tačaka dnevno koštao je na managed servisu trideset sedam dolara, pa upisi nikad nisu bili problem.

03

Sedmodnevni prozor sveo je dva terabajta na manje od gigabajta

Sirove podatke smo sveli na prozor od sedam dana, uz dnevni sažetak koji se upisuje u relacionu bazu, a izvještaji su ionako čitali iz nje. Od dva terabajta ostalo je manje od jednog gigabajta, a na managed servisu stavka za skladište pala je sa 2.990 $ na 1,31 $.

Očigledan zaključak bio bi da smo plaćali lošu politiku čuvanja podataka, a ne odluku o hostingu, i da bi managed servis bio sasvim u redu da smo prvo popravili tu politiku. Račun poslije promjene pokazuje zašto je taj zaključak pogrešan.

04

Poslije promjene presuđuje stavka za upite

S gigabajtom podataka i dvadeset tri upisa u sekundi ne treba vam 128 GB RAM-a. Kad se instanca dimenzioniše prema tom opterećenju, vlastiti hosting pada na oko 79 $ mjesečno, na mašini s dva vCPU-a i 8 GB.

Managed servis ne pojeftini na isti način, jer skladište nikad nije bilo njegova jedina stavka:

Korisnika na dashboardima uživoManaged servisVlastiti hostingRazlika
2087 $79 $8 $
50158 $79 $79 $
100278 $79 $199 $
200516 $79 $437 $
5001.232 $79 $1.153 $

Vlastiti hosting je i dalje jeftiniji na svakoj veličini, ali iz drugog razloga. Na dva terabajta managed servis je gubio zbog skladišta. Kad skladište košta dolar, gubi zbog broja upita. Ta stavka raste s brojem ljudi koji gledaju dashboarde, a instanca košta isto, ma koliko ljudi gledalo.

05

Naplata po upitu radi protiv proizvoda koji ljudi gledaju cijeli dan

Mislio sam da hostujemo sami zato što imamo puno podataka.

Zapravo smo hostovali sami zato što se kod naplate po upotrebi plaća pristup podacima, a pravili smo proizvod čija je svrha da ljudi stalno gledaju svoje brojke.

Taj nesklad ne zavisi od količine podataka. Postojao je na dva terabajta i postoji na jednom gigabajtu. Račun za skladište bio je dovoljno velik da ga sakrije, pa se nesklad vidio tek kad smo taj račun smanjili.

Uopšteno, kad jedna stavka čini najveći dio računa koji se plaća po upotrebi, ona vam govori nešto o skladištu, saobraćaju ili čuvanju podataka. Manje stavke govore o samom proizvodu i ostaju i kad smanjite onu najveću.

06

Šta fakture ne pokazuju

Kad poredite dvije fakture, poredite infrastrukturu. Šta za taj novac dobijate drugo je pitanje, a prvi dio tog pitanja je dostupnost.

Open-source izdanje nema klasterisanje, koje postoji samo u komercijalnim izdanjima ili u managed cloudu. To zvuči kao da je time rasprava završena, ali odgovor zavisi od toga koje otkaze sistem mora preživjeti.

Mi smo imali aktivno-pasivni par: dvije instance koje dijele jedan EBS volumen, s load balancerom i heartbeatom koji je prebacivao saobraćaj kad aktivni čvor prestane odgovarati. Takav par preživi otkaz instance, a to je otkaz koji ćete najvjerovatnije vidjeti. Ne preživi gubitak volumena ni zone dostupnosti, jer je postojao jedan disk u jednoj zoni. Managed klaster preživi i jedno i drugo.

U praksi smo dobili oko 80% dostupnosti za oko 3% cijene, a ostatak smo svjesno ostavili nepokrivenim. Otkaz instance bio je realan rizik i njega smo pokrili. Rizik gubitka zone smo prihvatili.

Bio je to razuman kompromis i ponovo bih ga napravio. Faktura ipak ne pokazuje da je kompromis uopšte napravljen.

Rezervne kopije, zakrpe i nadogradnje nisu ni na jednoj fakturi, ali neko ih mora raditi. Pravili smo snapshote i radili nadogradnje, i ništa od toga nije bilo teško. To je ipak uzimalo nečije vrijeme, a taj trošak se vidi tek kad ode osoba koja zna kako se to radi.

Managed servis ima SOC 2 i ISO certifikat, pa kad kupac u sigurnosnoj provjeri pita za analitičku bazu, pošaljete mu dokument. Za vlastitu instancu na ta pitanja odgovarate sami.

Uz managed servis dobijate i ugovor o podršci. Kad nešto ne radi u dva ujutro, a ne znate zašto, imate broj telefona koji možete nazvati.

Uz mjesečnu razliku od 2.285 $ ništa od ovoga ne mijenja odgovor. Uz razliku od 79 $ poslije promjene politike čuvanja podataka skoro ga mijenja. Za sedamdeset devet dolara mjesečno managed klaster s redundansom između zona, rezervnim kopijama i podrškom dobra je kupovina, i uzeli bismo ga da nismo očekivali da će stavka za upite rasti s brojem naših korisnika.

07

Kada izabrati managed servis, a kada hostovati sami

Gornja računica je naša. Ono što vrijedi i za druge timove jeste oblik opterećenja, pa evo kako bih danas odlučivao.

Uzmite managed servis ako

Obim čitanja vam je predvidiv i skroman. Broj upita raste što više ljudi koristi ono što ste napravili. Ako vaše podatke čita tek nekoliko internih inženjera, ta stavka ostaje mala i managed servis je jeftin.

Podatke namjerno čuvate kratko. Po cijeni od 1,46 $ za GB mjesečno skladište je skupo za godine historije, a zanemarivo za jednu sedmicu. Ako čuvate samo klizni prozor, skupa stavka ostaje mala.

Treba vam redundansa između zona, a ne možete je sami napraviti. Managed klaster preživi gubitak zone dostupnosti, a naš par to nije mogao. Ako vam proizvod padne kad padne analitika, a nemate nikoga ko bi preuzeo brigu o paru za failover, kupite managed klaster.

U oba slučaja ste ispod 200 $ mjesečno. Na toj veličini razlika je manja od vremena koje biste na nju potrošili, pa uzmite verziju s rezervnim kopijama i brojem telefona.

Kupac u sigurnosnoj provjeri pita za certifikate. Managed servis može odgovoriti svojim SOC 2 i ISO dokumentima, a vlastita instanca ne može.

Hostujte sami ako

Vaši kupci čitaju vlastite podatke. Od svega na ovoj listi to je najjači signal. Naplata po upitu radi direktno protiv proizvoda u kojem ljudi stalno provjeravaju svoje brojke, i trošak raste zajedno s proizvodom.

Čuvate dugu historiju, a rijetko je pretražujete. Račun managed servisa najviše se gomila na skladištu, a disk je osamnaest puta jeftiniji od istih gigabajta na managed servisu. Godine podataka uz povremena analitička čitanja najbolji su slučaj za vlastiti hosting.

Upisa imate mnogo, a čitanja malo. Primanje podataka je skoro besplatno na obje strane: dva miliona tačaka dnevno koštalo nas je trideset sedam dolara na managed servisu. Ako prevladavaju upisi, a čitanja su batch jobovi, nijedna platforma nije skupa, ali je vlastiti hosting jeftiniji.

Već vodite infrastrukturu. Ako neki tim ionako svake sedmice krpi instance i testira vraćanje iz rezervnih kopija, jedna instanca više donosi malo posla. Bez takvog tima vlastiti hosting nekome otvara novi posao, pa od uštede nema ništa.

Odustanite kad se najveća stavka ne može smanjiti

Ako najveći dio računa čini stavka koju ne možete smanjiti, odustanite od tog servisa. Mi smo skladište mogli smanjiti i smanjili smo ga. Broj upita nismo mogli smanjiti, jer su upiti dolazili od kupaca koji koriste proizvod, a smanjiti ih značilo bi pogoršati proizvod.

To je test koji bih primijenio na svaki servis s naplatom po upotrebi: pogledajte najveću stavku i zapitajte se možete li je prepoloviti, a da ne naštetite onome što prodajete. Ako možete, smanjite je i ostanite. Ako ne možete, cjenovni model tog dobavljača i vaš poslovni model vuku na suprotne strane, a jaz se širi svakog mjeseca u kojem proizvod raste.

08

Kad je razlika premala da bi bila važna

Uz dvadeset korisnika na dashboardima uživo dvije opcije se razlikuju za osam dolara mjesečno, a to je šum. Tabele iznad ne mogu pokazati granicu koja je važna: tačku u kojoj mjesečna razlika postane vrijednija od pažnje koju traži vođenje vlastite baze.

Na dva terabajta bili smo daleko iznad te granice. Poslije promjene politike čuvanja podataka nismo, i ostali smo samo zato što smo očekivali da će broj korisnika, a s njim i stavka za upite, nastaviti rasti.

09

Šta bih uradio drugačije

Pogledao bih raspodjelu po stavkama prije nego što izaberem arhitekturu. Mi smo pogledali ukupan iznos, vidjeli da je previsok i preselili se. To je uspjelo, ali dvije godine nismo znali reći koju od četiri stavke plaćamo.

Također bih prvo popravio politiku čuvanja podataka, kakva god bila odluka o hostingu. Ta promjena bila je za red veličine jeftinija i pomogla bi na obje platforme, a mi smo je napravili tek poslije selidbe.

I uz ono što plaćamo, izračunao bih i cijenu onoga čega se odričemo. Sabrao sam dvije fakture i to nazvao poređenjem, iako je jedna kolona uključivala redundansu između zona, a druga se završavala na instanci. Obje kolone su se mogle odbraniti, ali ono što je jeftinija izostavila nikad nije zapisano.


Brojke su cijene iz cjenovnika za regiju US East, kakve su bile sredinom 2026. godine. Ukupni iznosi za vlastiti hosting uključuju instancu, EBS, snapshote, rezervnu kopiju, prenos između zona i CloudWatch. Ne uključuju održavanje, nadogradnje i dežurstva, kojih nema ni na jednoj fakturi, kao ni standby instancu, koja otprilike još jednom dodaje stavku instance. Veličinu tačke i obim upita procijenili smo prema vlastitoj upotrebi. To nisu mjerenja koja je objavio dobavljač.

Kako je nastao ovaj tekstTokom izrade analitičkog sloja za marketplace platformu koja prima dva miliona upisa dnevno.Pročitajte više o projektu →Povezana uslugaDocker, self-hosting i backupiPogledajte uslugu →Sljedeći tekstKardinalnost u InfluxDB-u: ID-jevi korisnika i uređaja ne idu u tagovePročitajte →

Blog

Ako radite na nečemu sličnom, javite nam se s detaljima.

Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.

Opišite nam svoj projekatcontact@microtech.consulting