Szerver mobil alkalmazás mögé (HW+SW)

 ( chosa91 | 2015. augusztus 19., szerda - 11:37 )

Üdv!

Remélem jó helyre írok, amennyiben nem kérlek a "rossz helyre írsz haver" válaszban említsetek meg egy átirányítási célt is.

Kérdés:
Barátaimmal (4-5 fő) egy mobil alkalmazás fejlesztésébe kezdtünk, ami igen nagy közönséget mozgatna meg relative kis időn belül (akár 5-10 ezer ember is használhatja egyszerre 4-5 napon keresztül) - fesztivál applikáció.
Mobil alkalmazás (ios+android), ami mellé szerver kell az adatbázis biztonságos eléréséhez web service-ken keresztül.

Mit ajánlanátok, mind hardware mind software?
DB-nek elég lehet:
app-on belül: sqlite
adatbázis: mysql
webserver: apache/tomcat/glassfish/nginx/jboss

?
Igazából teljesen newbie-k vagyunk a témában, minden választ örömmel fogadunk és várunk.

Köszönettel,
József

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Appon belul jo az sqlite ha nem akarsz sajatot es nincs valami nagyon specialis igenyed.
Server oldalra meg - leven, hogy a fesztivalok jellege miatt idoben nagyon aranytalan a terheles - valamilyen gyorsan skalazodo cloudot ajanlanek. (mondjuk az Amazonet)
Server SW oldalra meg valamit amit a valasztott cloud rendszered jol tamogat es neked is jo (ehhez elobb ki kell valasztani a megfelelo szolgaltatot).

--
The Bible is the longest set of Terms & Conditions ever.
So many people agree with it without knowing why.

+1

+1

Nagyon szépen köszönjük az ötleteket. Első körben az általad + lentebb is ajánlott Amazon felhő megoldással fogunk próbálkozni. Írok mihelyst jutottunk valamire.

Abban gondolkozzatok, hogy szelteben skalazzatok. A mysql replikacioval readonly es writeonly backendekkel megoldhato. A frontend legyen minnel vekonyabb, mert sokban lesz az a 4-5 nap is.

A frontendet eleve valami appengine-re érdemes pakolni, de 3-4 állandó readonly replica, és rámegy a gatyája is...

A mondatod első felét nem egészen értem. Objective-c (iOs app) alá milyen appengine-re gondolsz?

Az iOs app egy kliens, nem a frontend :/ Az app engine a Google PaaS megoldása.

Kell valamilyen becslést csinálnotok hogy mennyi erőforrást igényel a tervezett max és mik a lehetséges bottleneck-ek. Aztán nézzétek meg hogy ezt mennyi della üzemeltetni akár Cloud-ban akár egy dedicated szerveren. Ezután legyetek biztosak benne hogy ez a pénz meg is térül.

Csináljatok egy prototipust és AWS free tier-be stressz teszteljétek.

Legyen ez a példa projektetek:
- Kiderül, hogy milyen problémák jönnek elő egy ilyen alkalmazásnál
- Meglátjátok, hogy tudtok reagálni egy bottleneck-re.

Az adatok fixek vagy folyamatosan csetel a 10-15e ember?

Ha 5-en vagytok és mindenki bedob 10e Ft-ot, akkor 50e Ft-ból 5 napra olyan szervert béreltek, amely a NASA-t kiszolgálja.

Chat-tel kapcsolatosan volt egy felvetés, hogy AppLink-kel megoldhatnánk, így nem a mi hanem pl a messenger erőforrásait használnánk.

.

Először is ne WebService, hanem REST legyen, mert WS nagyon nem támogatott mobilokon. :/

Aztán végig kell gondolni, hogy milyen az adatszerkezet, kell-e tranzakció és kell-e táblák közötti join. Ha nem, akkor az SQL azonnal ugrik és valamilyen PaaS/SaaS adatbázist használjatok felhőben, felesleges az üzemeltetéssel szopni, ha nem muszáj, ezen túl skálázható és annyit fizettek, amennyit használtok. Nem kell rohangálni és kapkodni, ha megszaladna a terhelés.

A middleware rétegre az említettek szerint szerintem Wildfly 9 most a legjobb, ha egyáltalán szükséges... ezt is gondoljátok végig, ha például elegendően hosszú UUID van generálva kulcsként az adatbázishoz, ami nem kitalálható egy másik UUID-ből, akkor akár a jogosultság kezelést is el lehet felejteni.

Wildfly 9.x + Cassandra 2.x + CentOS alapokon tettem össze magamnak rugalmasan skálázható cluster-t, ha ebben kell segítség, tudok segíteni, itt egy rövid összefoglaló: http://prezi.javaforum.hu/gacivs-devop/

--
http://wiki.javaforum.hu/display/~auth.gabor/Home

+1, csak annyit trollkodok bele hogy a Play 2.x a legjobb framework :P

Jó a Play, kivéve, ha stateful cluster kell egyszer is valamiért, mert akkor lehet körbetoldozni-foltozni-tákolni. :)

--
http://wiki.javaforum.hu/display/~auth.gabor/Home