2013. július 6., szombat

Kipróbáltam, hogy mennyire nehéz a Google AppEngine-t használni.

Kipróbáltam, hogy mennyire nehéz a Google AppEngine-t használni. Java-val próbálkoztam, de gondolom Python és PHP esetén is hasonló a dolog. Igazából meglepően egyszerű az egész. Van egy Eclipse plugin, amit telepíteni kell. Aztán létrehoz az ember egy AppEngine web projektet, ami néhány speciális libet kivéve olyan mint egy sima Java webprojekt. Kötöttebbek a lehetőségek mint egy általános alkalmazásszerveren, de az alap dolgok megvannak. Ha nincs szükségünk semmi extrára, akkor az ember észre sem veszi, hogy AppEngine alá fejleszt. Készíthetünk servleteket, jsp oldalakat, az elosztott adattárolót sima JPA rétegen keresztül érhetjük el, stb. Az elkészült app-ot lokálisan tesztelhetjük mint bármely más Java-s webappot. Ha kész, akkor pedig csak kiválasztjuk a menüből a deploy-t, megadunk egy app id-t amit előzőleg az admin felületen lehet létrehozni és már fent is van.

És hogy miért AppEngine? Mert teljesen leveszi az ember válláról az erőforrás elosztás terhét. Igazából soha nem tudhatjuk, hogy épp milyen szerver szolgálja ki, de ezzel nekünk nem is kell foglalkozni. A Google rendszerei megoldják, hogy minden request vállalható időn belül ki legyen szolgálva. Tehát jelenleg talán ez a legegyszerűbb módja annak, hogy valaki jól skálázódó, nagy forgalmú rendszert állítson elő minden különösebb speciális tudás nélkül. A másik előny a jelentős free kvóta. Ennek köszönhetően egy kis forgalmú, vagy kezdő szolgáltatás teljesen ingyen van a készítőjének.  

Aki startupon töri a fejét, annak ajánlatos megfontolnia ezt a lehetőséget. 

#blog

4 megjegyzés:

  1. Kicsit off, de hamár cloud (igaz ez IaaS) Ajánlom mindenkinek a figyelmébe az Azure friss trial ajánlatát. Ha valaki tényleg gondolkodik a felhőbe mozduláson és szeretné megfelelően kitesztelni a VM-ét most 30 napig 150 Eurós keretet adnak amivel bőven el lehet játszadozni. A legjobb pedig hogy a Microsoft Cloudjában már lehet futtatni Linux VM-eket is.. :D  (olcsóbban mint a Windowst)

    VálaszTörlés
  2. Az a baj (vagyis nem baj, csak más) az AWS-el, az Azure-al, és hasonlókkal, hogy ott virtuális gépeket futtatsz, nem app-okat. Tehát ott a te feladatod a környezet kialakítása, illetve a terheléselosztás. AppEngine-ben ez a nagyon jó, hogy oda felrakod az app-ot, és megy.

    VálaszTörlés
  3. A virtualizáció mellett azért még rengeteg szolgáltatást nyújt mind a kettő ami kiegészítésnek is nagyon jól használható..

    VálaszTörlés
  4. Persze, de a legegyszerűbb megoldás az AppEngine, ha nem akarsz olyanokkal foglalkozni, mint virtuális gépek, meg terheléselosztás. AWS-nél is ott a beanstalk, de ott már konfigurálnod kell loadbalacert, meg mysql clustert, stb. AppEngine-nél pedig tényleg csak az app-ra kell koncentrálnod. Bár tény, hogy ezért a szűkösebb lehetőségekkel fizetsz.

    Mondjuk az sem egy rossz megoldás, ha a kettőt kombinálva használod. Tehát mondjuk a weboldalt AppEngine-en futtatod, de AWS-en tárolsz adatokat, vagy futtatsz háttérfolyamatokat. Láttam is ilyenről slide-okat. AWS-t pl. nagyon jól lehet használni Java-ból az API-ján keresztül.

    VálaszTörlés