Cu cateva saptamani in urma am fost la o prezentare tinuta de C. Jichici cu tema Windows Azure, iar apoi am tinut doua prezentari pe aceiasi tema. Intrebarea pe care am auzit-o cel mai des a fost: Cat costa estimativ?
Am incercat sa caut niste costuri estimative dar nu am gasit. Am realizat ca un calcul estimativ este foarte greu de facut, deoarece fiecare solutie pentru cloud( Azure, Amazon, Google) are costuri ascunse si/sau modul de calcul este foarte diferit.
O sa incerc sa fac un calcul estimativ pentru un set de cerinte pe care o sa le enumar mai jos. Vreau sa subliniez faptul ca aceste costuri sunt pur estimative, vreau sa fie doar un punct de pornire. O sa fac calcul pentru 4 variante: Azure, Amazon, Google si costul unui server propriu-zis.
Cerinte pentru o aplicatie pe perioada unei luni:
Trafic out | 100Gb |
Trafic in | 20Gb |
Spatiu de stocare | 20Gb |
Spatiu de stocare in db | 2Gb |
Numar de tranzactii total(db+fisiere stocate) | 1,000,000 |
Compute time | 62 |
In urma calculelor estimative pe care le-am facut am obtinut urmatoarele costuri pentru un an de zile:
Tip Resursa | Cantitate lunara | Azure | Amazon | |
Spatiu de stocare | 20Gb | 36$ | 36$ | 36$ |
Spatiu de stocare in db | 2Gb | 600$ | 9372$ | 3.6$ |
Trafic in | 20Gb | 24$ | 24$ | 24$ |
Trafic out | 100Gb | 180$ | 180$ | 144$ |
Numar de tranzactii total(db+fisiere stocate) | 1,000,000 | 120$ | 120$ | 278.4$ |
Compute time | 62h | 89.38$ | 70.68$ | 74.4$ |
Total impreuna cu db dedicat | 1049.38$ | 9802.68$ | 282$ | |
Total fata db dedicat | 449.38 | 430.68 | 282$ |
Trebuie sa tinem cont de faptul ca:
- Amazon ofera spatiu de stocare gratis pana 1Gb, pe un sistem de stocare propiu;
- Google are un db implementat in modelul datelor de tip table din Windows Azure;
- Pretul pe luna pe Azure la db pana la 1Gb este de 9.99$, iar intre 1Gb si 5Gb este 49.9$;
Din aceasta cauza am calculat datele finale si fara spatiu de stocare pentru baza de date.
Costurile estimative timp de un an in cazul in care se achiziționează un server fizic:
Server | Server HP ProLiant ML110 G6 cu procesor CoreTM2 Quad Intel® Xeon® X3430 2.40GHz, 2x2GB, 2x500GB | 900$ |
Licenta Windows | Windows 2008 Server RC2 | 700 |
Licenta Db | Sql Server 2008 | 900 |
Curent+Chirie spatiu | 200 | |
Cost administrator | 460 | |
Total | 3160 |
Cel mai interesant este costul unei baze de date pe Amazon, dar acest lucru nu imi este foarte clar. Am gasit referinte unde se precizeaza ca primele 25h sunt gratis, iar apoi se plateste pentru fiecare instanta in parte.
Fiecare varianta are avantaje si dezavantaje.
Windows Azure: Se poate rula orice aplicatie, nu conteaza limbajul in care a fost scris, dar se plateste fiecare lucru in parte. Esti taxat pentru orice lucru pe care il faci. Desi in prima faza poate fi vazut ca un dezavantaj, in final platesti doar ce consumi. Mi se pare ca au sisteme care sunt cele mai scalabile pe orizontala si platesti doar ce consumi si atat.
Amazon: Poti sa instalezi orice pe instante, se aseamana foarte mult cu Azure, dar ai masini virtuale, asa numitele “virtual core” care au niste valori prestabilite. Scalabilitate destul de mare, dar exista niste limitari la resurse din cauza masinilor virtuale. Nu ai de fapt instante fizice, ci instante virtuale.
Google: Ieftin, un concurent care ofera niste preturi foarte mici. Sistemul de db este unul propiu, nu zic ca nu este bun, dar se aseamana foarte mult cu table-ul din Azure. Esti limitat la Python si/sau Java. Sistemul pe care lucreaza este mult mai restrictiv decat Amazon sau Azure. Poate din cauza ca Amazon ruleaza pe Windows sau Linux, iar Azure pe Windows Azure( Stiu ca Google ruleaza pe un kernel de Linux custom).
Si totusi de ce nu as alege Google, pretul pe care l-am obtinut este extrem de mic, chiar daca am limitari, ca si client mic as putea sa traiesc si cu aceste limitari si sa scot mai putini bani.
Fiecare solutie acopera o anumita nisa. Din punctul acesta de vedere in momentul de fata(raportat la clienti si la ceea ce ofera fiecare solutie in parte):
- aplicatii mici si medi: Google;
- aplicatii mici si medi care se pot scala spre aplicati mari: Azure;
- aplicatii mari unde sunt bani din belsug: Amazon;
Nu o sa inchid acest post. Sper sa primesc un feedback din partea voastra si sa actualizez costurile estimative pe care le-am obtinut.
Stiu ca exista si alte soluti, dar va las si pe voi sa calculati.
Daca aveti timp recomand sa cititi: http://www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure Desi este un articol mai vechi, contine niste informații destul de interesante.
PS: O sa revin weekend-ul acesta cu o scurta prezentare: Windows Azure.
Comments
Post a Comment