DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Scaleovanje .NET i cena (http://www.devprotalk.com/showthread.php?t=1754)

Ilija Studen 03. 11. 2006. 16:03

Scaleovanje .NET i cena
 
Interesuje me koji su sve resursi potrebni da bi se određena web aplikacija bazirana na .NET platofrmi širila horizonatlo na više mašina? Koliki su troškovi? Dodatni software, OS?

Čisto kao argument u jednoj diskusiji. Ne bih voleo da lupam napamet, a generalno me cala materija zanima u poslednje vreme.

PS: Ne napadam .NET :) Čisto da upotpunim "osnovnu kulturu".

degojs 03. 11. 2006. 16:23

Cena softvera je tu verovatno jako mala u odnosu na ukupne troškove. Ako ciljaš na poređenje sa LAMP okruženjem, pa sigurno da je samo softver jevtiniji sa ovim drugim. Koliko mi je poznato, NLB se vrlo jednostavno omogućuje na Windowsu, mada, ne znam detalje iz iskustva :)

Međutim, kako rekoh, cena softvera je mala u odnosu na ukupne troškove: hardver, plate ljudima koji to administriraju, podrška od dobavljača i slično.

E sad, pazi jedan interesantan detalj sa MySpace.com: prelaskom sa "druge tehnologije" (ColdFusion, izgleda) na .NET zaposlenost procesora u proseku je pala sa, ako se dobro sećam, preko 80% na nekih 25% --- što automatski znači da ne moraš da kupuješ novi server. Kako gledam onaj test PHP-a vs PHP.NET, lako je da je priča slična, te znači pare štediš jer ne moraš da kupuješ nove servere tako brzo.

Kontaj da su kod mene u firmi neki (za koje sam čuo tu informaciju) Dellovi serveri plaćeni između 20 i 30 hiljada dolara, čini mi se. Nije nužno tolika cena, ali eto i primer gde jeste. A takve sisteme niko ne tera bez podrške, pa računaj i to, pa dodaj godišnje plate admina, možda i programera.. Softver (operativni sistem, baza)? Mala stavka, rekao bih, pogotovo pošto ga platiš jednom pa mir..

Računaj i da npr. RedHat cepa baš lepe cene za podršku Linux sistema, tako da sve skupa..

Osim ako ćeš da praviš veliki sistem u kućnoj radinosti (tj. kućnom budžetu) :-) E onda, ne znam, može biti svašta :-)

Dragi Tata 03. 11. 2006. 16:37

Citat:

Originalno napisao Ilija Studen
Interesuje me koji su sve resursi potrebni da bi se određena web aplikacija bazirana na .NET platofrmi širila horizonatlo na više mašina? Koliki su troškovi? Dodatni software, OS?

Bez više detalja nemoguće je tačno reći, ali treba ti bar licenca za Windows Server koja često dolazi uz mašinu po OEM ceni.

Možda nešto ovako? http://www.dell.com/content/products...en&s=bsd&cs=04

ivanhoe 03. 11. 2006. 17:36

Off Topic:

Citat:

Originalno napisao degojs
Kako gledam onaj test PHP-a vs PHP.NET, lako je da je priča slična, te znači pare štediš jer ne moraš da kupuješ nove servere tako brzo.

i mene je ta prica dosta zainteresovala... doticni test nije sasvim korektan jer php nije koristio akceleratore, koji bi kesirali prekompajliranu verziju skripti, a to bi znacajno ubrzalo stvari.. jako bih voleo da vidim jedan real life test, znaci da se i .Net i php aplikacija nabudze maximalno, pa da se onda benchmarkuju u realnim uslovima rada...

i da ne ispadne opet da sam anti-MS nastrojen, ako je .Net toliko brzi, ja cu prvi da promenim tabor... narocito od kako su podrzani i perl i php na .Net platformi to postaje sve interesantnija opcija..


degojs 03. 11. 2006. 19:12

Off Topic: Pa ne znam, čovek je stavio tamo šta je stavio.. Poteraj sam pa vidi, pa nas lepo obavesti :-) E da, to za akceleratore, mislim da je naglasio tamo da ih nije koristio

degojs 03. 11. 2006. 19:15

Off Topic:
Citat:

narocito od kako su podrzani i perl i php na .Net platformi to postaje sve interesantnija opcija..
Naravno. Sa PHP na LAMP-u si praktično, kako ja vidim, isključivo vezan za to web dizajniranje (i malo programiranja) i to u vidu sajtova koji su namenjeni široj publici. Sa tim PHP-om na .NET-u. možeš usput da malo naučiš i .NET a onda lako i C# pa do poslova koji su, generalno, bolje plaćeni.

Interesantno..

DejanVesic 03. 11. 2006. 21:24

Citat:

Originalno napisao Ilija Studen
Interesuje me koji su sve resursi potrebni da bi se određena web aplikacija bazirana na .NET platofrmi širila horizonatlo na više mašina? Koliki su troškovi? Dodatni software, OS?

Ako za primer uzmeš .Net 2.0, od resursa je potreban:

1. Hardver
2. Operativni sistem (Win 2003 server)

(ovo je minimalno)

3. Eventualno SQL Server 2005 (u zavisnosti od nivoa redudance).

Od strategija za lako skaliranje, tu su dve:

1. Kompletno nekorišćenje sesija i smeštanje konteksta (ulogovan / nisi, username / session token / ostali podaci) kod klijenta (cookies / query string uz naravno enkripciju i sve ostalo). Znači, najklasičniji PHP-ovski Request / Response.

2. Ako su sesije neophodne, onda se session storage izmešta ili na posebni session server, ili u SQL server - onda programer može da se razmaše i koristi sve prednosti session načina, ali se uvodi single point of failure - session server.

Ovaj SPoF može da se prevaziđe tako što se postave dva SQL 2005 SE servera u Database Mirroring (ili u Oracle terminologiji: Standby baza) - na drugu instancy se transakcioni logovi kopiraju konstantno preko što brže lokalne veze (1 Gbit najmanje).

No, previše sam se razmahao :-)

Najkraće: treba ti samo mašina sa Windows OS 2003 i prekonfigurisanje da se sesije smeste na neki session server.

Ilija Studen 03. 11. 2006. 21:31

Znači, ASP.NET aplikacije mogu da rade u prostom response -> request maniru? To mi je potpuno nova informacija. Onda je način na koji se scaleuju prostije .NET aplikacije i PHP aplikacije gotovo identičan (sve dok se ne ubaci neka egzotika).

Btw, PHP-u je dovoljno dodati APC ili neki drugi opcode cache i stvari se gotovo trenutno ubrzavaju i do nekoliko puta. Po meni je izuzetno glupo pričati o performansama PHP-a, a da se u obzir ne uzme opcode keširanje.

DejanVesic 03. 11. 2006. 21:36

Citat:

Originalno napisao Ilija Studen
Znači, ASP.NET aplikacije mogu da rade u prostom response -> request maniru?

Apsolutno - ovo se radi samo za najzahtevnije sajtove (najviše posećene) i gde količina podataka koja treba da se čuva u kontekstu nije velika (obično samo razni ključevi i ID-ovi), odnosno gde postoji srednji sloj koji obavlja hevi lifting.

Ovakav način razvoja zahteva pažljivo planiranje i pripremu:
- napišeš dva custom Session providera:
1. Jedan koji samo omotava standardni Session sloj
2. Drugi koji koristi browser storage (cookies / hidden fields) za smešanje konteksta

Pri tom mora jako da se vodi o ograničenjima raznih browsera (maksimalna veličina kukija, maksimalan broj kukija po domenu, dužina query stringa itd, itd), ali je dobit zato jako fina.

DejanVesic 03. 11. 2006. 21:41

Citat:

Originalno napisao Ilija Studen
Btw, PHP-u je dovoljno dodati APC ili neki drugi opcode cache i stvari se gotovo trenutno ubrzavaju i do nekoliko puta. Po meni je izuzetno glupo pričati o performansama PHP-a, a da se u obzir ne uzme opcode keširanje.

Ovo je apsolut i za ASP.NET aplikacije - počev od keširanja na nivou Html fragmenata, preko Cashe objekta, pa preko raznih publishera i dohvatanja podataka samo kada su izmenjeni.

PHP je ok kao skripting jezik, koristim ga kada moram ili kada me teraju, a ASP mi je dnevni posao - no, lično ne mogu više da smislim skripting jezike :1027:

Pravi jezik, IDE, kompajler i rezultujući DLL / Exe - to je pravo osveženje za moje napaćeno programersko srce :1074:


Vreme je GMT +2. Trenutno vreme je 08:59.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.