Fórum Root.cz

Hlavní témata => Hardware => Téma založeno: vyvojar 17. 11. 2011, 01:24:53

Název: Řešení technického zázemí projektu
Přispěvatel: vyvojar 17. 11. 2011, 01:24:53
Zdravim, chtel bych se zeptat, jestli si myslite, ze je realna sance najit nekoho zkuseneho, kdo by
se staral o technicke zazemi napr. nejake nove webove aplikace. Treba naprogramuji nejakou socialni sit v jave (spring, hibernate, jsf..), ale nemam absolutne zadne zkusenosti s nejakou volbou hw podle predpokladaneho pocatecniho zatizeni, jaky os na server, jak os nastavit, aby to nemohl zvenci ohrozit kde kdo atd., ale budu chtit projekt rozjet, tak co delat? Je treba dobra volba to hostovat u googlu na app enginu, mate s tim nekdo zkusenosti?
Název: Re: Rozjeti projektu.
Přispěvatel: RDa 17. 11. 2011, 09:40:38
Ahoj, myslim ze pokud budes myslet vcas na moznost skalovani, tak nebude problem navysit hw - otazka je ale taky jak efektivni bude implementace.. obecne java je preplacanosti draha na provoz a budes potrebovat vice hw nez pri jinych technologiich na vykryti daneho provozu. Musis mit ale jasno, do jakych rozmeru to ma rust, abys podle toho delal navrh aplikace (tj. nezalezi na pocatecne zatezi, spis koncove).

HW je lehce zabezpecit jako externi sluzbu - pokud mas zdrave financovani :)
Název: Re: Rozjeti projektu.
Přispěvatel: Jakub Váňa 17. 11. 2011, 09:56:12
Zas pokud ti první verze vydělá dost peněz, budeš mít prostředky na to aplikaci uplně přepsat. Určitě stojí za to zamyslet se nad škálovatelností, ale pokud by škálovatelné řešení trvalo dvakrát déle, možná za to nestojí ???

Určitě stojí za to ale zamyslet se i nad škálovatelností businesplánu.
Název: Re: Rozjeti projektu.
Přispěvatel: andrej 17. 11. 2011, 13:59:57
Ja by som sa nad tym vobec nezamyslal, lebo pravdepodobnost uchytenia je dost nizka. Kedze sa pytas na linuxovom portali, OS mas asi jasny (ak nie solaris). Ak to nenaprogramujes uz od zaciatku tak, HW ti zazraky asi neurobi (myslim stylom, ze kupime rychlejsie CPU).
Název: Re: Rozjeti projektu.
Přispěvatel: Trident 17. 11. 2011, 23:15:15
Zdravim, chtel bych se zeptat, jestli si myslite, ze je realna sance najit nekoho zkuseneho, kdo by
se staral o technicke zazemi napr. nejake nove webove aplikace. Treba naprogramuji nejakou socialni sit v jave (spring, hibernate, jsf..), ale nemam absolutne zadne zkusenosti s nejakou volbou hw podle predpokladaneho pocatecniho zatizeni, jaky os na server, jak os nastavit, aby to nemohl zvenci ohrozit kde kdo atd., ale budu chtit projekt rozjet, tak co delat? Je treba dobra volba to hostovat u googlu na app enginu, mate s tim nekdo zkusenosti?

fail 1. socialni sit
fail 2. v jave
fail 3. spring

Otazka. Nedelas u nas ve firme?  Tam mame vyvojaru podobnych shitu dost. Ale jsme dost bohaty na to abychom mohli zahazovat neuspesne projekty coz ty zrejmne nejsi.

Plodny prispevek: co takhle amazon? IMHO idealni volba pro zacinajici projekty tohoto typu. Kdyz se nahodou podari rozjet projekt tak je zas nejlepsi od nej zdrhat na vlastni zelezo. Protoze je pak nechutne drahej.
Název: Re: Rozjeti projektu.
Přispěvatel: Pavel Rauš 18. 11. 2011, 08:08:15
Zdravim, chtel bych se zeptat, jestli si myslite, ze je realna sance najit nekoho zkuseneho, kdo by
se staral o technicke zazemi napr. nejake nove webove aplikace. Treba naprogramuji nejakou socialni sit v jave (spring, hibernate, jsf..), ale nemam absolutne zadne zkusenosti s nejakou volbou hw podle predpokladaneho pocatecniho zatizeni, jaky os na server, jak os nastavit, aby to nemohl zvenci ohrozit kde kdo atd., ale budu chtit projekt rozjet, tak co delat? Je treba dobra volba to hostovat u googlu na app enginu, mate s tim nekdo zkusenosti?

Na vysokozatezove veci bych doporucil spis python, java je hodne nenazrana. Ohledne provozu, HW a dalsich veci me klidne kontaktujte naprimo mailem, mam zkusenosti se spravou vysokozatezovych webu ( mel jsem pod spravou dlouhodobe projekt co byl v top10 ceskych webu )
Název: Re: Rozjeti projektu.
Přispěvatel: andrej 18. 11. 2011, 12:55:19
No ale ten python je tiez len nejake spajatko, co taha veci z db a cache. To potom v takejto funkcii ani ta java nebude az tak nenazrana, ale bude omnoho vykonnejsia. Skor ma tu nevyhodu pomalej opravy chyby oproti dynamickym jazykom (fix, compile, deploy...). Napr. trosku zlozitejsi site na drupale je tiez celkom nenazrany a to je to v php. Aj twitter presiel na scalu :D.
Trident to ale asi vystihol...
Název: Re: Rozjeti projektu.
Přispěvatel: vyvojar 18. 11. 2011, 13:41:28
Zdravim, chtel bych se zeptat, jestli si myslite, ze je realna sance najit nekoho zkuseneho, kdo by
se staral o technicke zazemi napr. nejake nove webove aplikace. Treba naprogramuji nejakou socialni sit v jave (spring, hibernate, jsf..), ale nemam absolutne zadne zkusenosti s nejakou volbou hw podle predpokladaneho pocatecniho zatizeni, jaky os na server, jak os nastavit, aby to nemohl zvenci ohrozit kde kdo atd., ale budu chtit projekt rozjet, tak co delat? Je treba dobra volba to hostovat u googlu na app enginu, mate s tim nekdo zkusenosti?

fail 1. socialni sit
fail 2. v jave
fail 3. spring

Otazka. Nedelas u nas ve firme?  Tam mame vyvojaru podobnych shitu dost. Ale jsme dost bohaty na to abychom mohli zahazovat neuspesne projekty coz ty zrejmne nejsi.

Plodny prispevek: co takhle amazon? IMHO idealni volba pro zacinajici projekty tohoto typu. Kdyz se nahodou podari rozjet projekt tak je zas nejlepsi od nej zdrhat na vlastni zelezo. Protoze je pak nechutne drahej.

Jsem na VUT, v zadne firme zatim nedelam. Proc je java fail? Jake jsou jine alternativy? V PHP mam za sebou nejake modifikace existujicich projektu (Zend, Nette), takze frameworky celkem ovladam a jazyk jako takovy je jednoduchy, ale proste na co volit php, pokud se nejedna o nejaky bezny osobni web, eshop, cms...? ASP.NET MVC 3 jsem chvili taky zkousel, prislo mi to zajimave, slozitosti mezi PHP a JAVA EE a C# jako primarni jazyk je asi nejmodernejsi jazyk momentalne. Python jsem nikdy nezkousel a vim jen, ze je to nejaky skriptovaci jazyk a nazor mam na nej takovy, ze to bude asi nejaky menne rozsireny klon PHP, co se pouziva spis v ramci nejakych aplikaci psanych v kompilovanych jazycich, kde je potreba mit  moznost nejake casti programu ovlivnovat bez nutnosti znovu kompilace, vzhledem k tomu, ze ten interpret lze embeddnout do programu.
Takze z meho pohledu:
PHP a nejaky framework(Zend, Nette):
+ jednoduchost
- ze by nejpomalejsi ze vsech ?
JAVA a nejaky framework(JSF,Spring MVC)
+ vyvinutejsi jazyk (napr. genericita)
+ spousta zabehlych frameworku se silnou komunitou, jako napr. Hibernate
+ spousta dalsich technologii, zjednodusujich napr. pripadnou provazanost webove
   aplikace treba s desktopovou
+ v podstate vsechny bankovni systemy jsou v jave (proc teda???)
- slozitejsi na nauceni a pochopeni cele te platformy
- ?daleko slozitejsi servery na konfiguraci (GlassFish vs apache)

U ostanich nevim a takove ty zkusenosti jako co bezi rychleji atd. nemam. Uvitam jakekoliv nazory i kvuli tomu, ze jednu z tech technologii si chci vybrat jako main, ktere se budu venovat a ostatni jen tak abych byl trochu v obraze a na co se zakopat u php, kdyz jeste studuji, ne?

A k tomu amazonu a i googlu, jak jsem chtel vedet, jestli je to dobry napad tam hostovat aplikaci, tak urcite by soucasti te aplikace byl nejaky propracovany webovy IM, jako ma facebook nebo google gtalk, takze bych na tom serveru musel provozovat XMPP server, asi ejabberd a to nevim, jestli se to vubec da.
Název: Re: Rozjeti projektu.
Přispěvatel: vyvojar 18. 11. 2011, 13:45:14
Jinak 10k online uzivatelu webove aplikace se bere jako vysokozatezova aplikace?
Název: Re: Rozjeti projektu.
Přispěvatel: vyvojar 18. 11. 2011, 13:47:08
Jinak 10k online uzivatelu webove aplikace se bere jako vysokozatezova aplikace?

Kde uzivatel tak nejak normalne prochazi obsah toho webu, takze dejme tomu 1 request za 10 sekund, to mame cca 1000 pozadavku za sekundu.
Název: Re: Rozjeti projektu.
Přispěvatel: vyvojar 18. 11. 2011, 13:49:05
Btw. kdo tady programujete nejake webove aplikace nebo tak, mate nejaky vyhrazeny limit, pres ktery se nechcete pri zpracovani pozadavku dostat, jako ze aplikaci navrhujete tak, ze pozadavek zabere napr. max 300ms?
Název: Re: Rozjeti projektu.
Přispěvatel: andrej 18. 11. 2011, 14:04:32
No ten python rozhodne nie je klon PHP. Robi sa v nom napr. hra eve online, co je real-time single universe multiplayer ("the world's largest game universe"). Ako im to facha v praxi netusim, lebo som to nikdy nehral.
Rozsah dostupnych kniznic pre python je ale snad vacsi ako pri php.

K tomu php - vedel si, ze velke casti facebooku boli v php (este aj su, ale kompilovane)?
A preco banky robia javu al c# ti nepoviem, ale bude to mat nieco s tym, ze su to technologie ktore maju za sebou silne spolocnosti. Okrem toho staticka typova kontrola je celkom dobra vec.

Ku cloud hostingom - tam byvaju spoplatnovane aj poziadavky do db, musis si to sam pozriet a spocitat. Zavisi to aj od implementacie konkretnej aplikacie.
Název: Re: Rozjeti projektu.
Přispěvatel: vyvojar 18. 11. 2011, 14:26:26
K tomu php - vedel si, ze velke casti facebooku boli v php (este aj su, ale kompilovane)?

Jj HipHop4Php se nejak jmenuje ten prekladac z php do C++. Ale ten duvod je podle me tam, ze kdyz to zacal ten zakladatel tvorit, tak umel akorat php a byl to normalni studentik jako ja nebo kdokoliv jiny a u php pak uz asi zustali nebo nevim.
Název: Re: Rozjeti projektu.
Přispěvatel: martin 18. 11. 2011, 14:28:51
Jinak 10k online uzivatelu webove aplikace se bere jako vysokozatezova aplikace?

Ono to spíš mělo být "C10k" tj. 10k současných požadavků. Která z českých webových služeb má takové zatížení? To jedním strojem dáte jen při řešení několika problémů (a nebo nasazením na AIXu).
Název: Re: Rozjeti projektu.
Přispěvatel: andrej 18. 11. 2011, 14:49:42
Podla mna to momentalne proste zbytocne riesis. Pociatocne naroky ti utiahne aj zdielany hosting a tam budes mat najnizsie naklady pri php. Ak to chces v jave, musis si zaplatit asi nejaky virtualny server, alebo to dat na google (ak si myslis ze dosiahnes 10k poziadaviek, tak to tiez nebude zadarmo). Myslim, ze skor narazis na vykone databazy ako na vykone javy/php/c#/whatever.
Název: Re: Rozjeti projektu.
Přispěvatel: Jan Forman 18. 11. 2011, 17:33:38
Jinak 10k online uzivatelu webove aplikace se bere jako vysokozatezova aplikace?

Ono to spíš mělo být "C10k" tj. 10k současných požadavků. Která z českých webových služeb má takové zatížení? To jedním strojem dáte jen při řešení několika problémů (a nebo nasazením na AIXu).
Může se jednat i o COMET server a tam deset tisíc není až tolik, ale někde jsem zaregistroval
100K na jeden server (což už mi příjde dost, asi to tam hrnou přes několik IP)
Vtip je v tom že pokud je za tím nějaká dynamická aplikace nastává zásadní zádrhel.
JAVA jazyk bych raději nechal spát to je hračka - na vysokozátěžové realtime systémy naprosto nevhodná
(použít to sice jde, ale třeba latence je hrozná).
JAVA je použitelná jedině v HADOOP prostředí, kde jí limituje pouze odezva a hromada hardware v racku (což může být ještě únosné).
Nicméně proč mít 50 serverů co žerou elektriku o sto šest a nebo jeden  :P
Proč asi žádnej opravdu velkej web nepoužívá ve velkém Javu. Neumí to? To dost pochybuju :-)
Pokud to opravdu má běžet nezbude nic jiného než C, HipHop (nebo jiný podobný "jednoduchý nízkoúrovňový jazyk")
Odezva jedné služby se dá dostat na 7ms. Tam se dostanu i s nějakou databází s vyhledáváním.

Btw. kdo tady programujete nejake webove aplikace nebo tak, mate nejaky vyhrazeny limit, pres ktery se nechcete pri zpracovani pozadavku dostat, jako ze aplikaci navrhujete tak, ze pozadavek zabere napr. max 300ms?

10ms na jednoduchou odezvu statický obsah nebo cache
20ms u aplikace SOA nebo jednoduchého obsahu
cca 300ms na vygenerování složité stránky
analytické operace bez limitu s ukazatelem co se děje
+ cesta po internetu/intranetu
Název: Re: Řešení technického zázemí projektu
Přispěvatel: andrej 18. 11. 2011, 19:24:55
To mas nejake prehnane, si odmeraj ebay. Tam ma aj 500ms aj viac a da sa. Ale ja by som viac ako 200ms nesiel.
Java jazyk nema vykon ziadny, je to jazyk. Vykon ma jvm a ten nie je vobec zly a kto hovori o realtime? Ale ja by som nieco take tiez nerobil v jave. Uz len koli tomu, ze pamat na hostingoch byva najdrahsia a java si teda cucne pozehnane.
Název: Re: Řešení technického zázemí projektu
Přispěvatel: vyvojar 19. 11. 2011, 10:45:54
Hm, tak to jste me docela zaskocili s tou javou. Ja mel za to, ze proste java best. Internet bankingy jsou delane vesmes v jave a tam jsou kladane naroky hlavne na to, aby to zvladlo spoustu pripojenych lidi ne? Tak co je podle vas nejlepsi volba, ten python? Na cem treba frci takovy ebay a tyhle velke weby? Google treba prosazuje javu.
Název: Re: Řešení technického zázemí projektu
Přispěvatel: alefo 19. 11. 2011, 11:25:38
Ti, co hovoria, ze Java je na nic, by mohli povedat alternativu, o to viac, ze je mi komicke, ked nevedia napisat ani napisat nazov technologie.

Btw. tot nedavno Twitter zmigroval cely backend z Ruby na Scalu, co je "novy" jazyk nad virtualnym strojom Javy.

Ale tu je velmi mudry argument webhostingu, bez VPSka sa Java nenahostuje, na rozumnu aplikaciu treba takych 512 MB.
Název: Re: Řešení technického zázemí projektu
Přispěvatel: andrej 19. 11. 2011, 13:35:01
Pouziva sa aj java, ale to su ine kalibre http://highscalability.com/
napr ebay bezi na jave - 15000 aplikacnych serverov
Název: Re: Řešení technického zázemí projektu
Přispěvatel: alefo 19. 11. 2011, 13:53:30
Wallmart (ak sa vec nezmenila) davno zmigrovali na Javu.

Problem je v tom, ze tie megaaplikacie narusaju vsetky koncepcie, ktore platia pre male systemy: Amazon bezi zrejme este stale v rezime, kde backend je v C++ a obcasne pouziju Java servlety, Facebook ma PHP kompilovane do C, a od istej chvile takmer nik nepouziva relacne databazy a sessions tiez nie.
Název: Re: Řešení technického zázemí projektu
Přispěvatel: Sten 19. 11. 2011, 14:06:36
Hlavní důvod použití Javy je v tom, že cena za hardware je v porovnání s cenou za vývoj(áře) mizivá. Ale to je stejný důvod, proč se většina zboží vyrábí v Číně. Kvalita je sice nic moc (TheDailyWTF by mohlo vyprávět), takže to musíte hrozně hlídat a testovat, ale pořád to vyjde levněji a to je jediné měřítko, které tyhle velké (ale stále ne největší) firmy používají. Ve chvíli, kdy použijete speciální požadavky na výkon, paralelnost, distribuovatelnost či vlatně cokoliv jiného kromě ceny, tak Java jde z kola ven.