Jee, uusi koodariblogi!
Enpä usko, että voin tarjota
lukijalle mitään tajuntaaräjäyttävää lukukokemusta. Voin
kuitenkin tarjota kuivaa insinööritekstiä kokemuksistani
ohjelmistokehityksen parissa. Insinööriteksti tekee elämästä
kuitenkin niin paljon mielenkiintoisempaa, ainakin sitäkautta voi
avautua ja purkaa kokemuksiaan muille samanmielisille.
Aion ensimmäisissä postauksissani
käsitellä toukokuussa 2012 aloitettua laskutus- ja
asiakasrekisterijärjestelmäprojektia, joka on implementoitu
yhteistyössä opiskelukaverini kanssa. Tarkoituksenani on kertoa
kaikista kehtysprosessiin liittyvistä vaiheista koodauksesta
käyttäjäkokemuksiin asti.
Aloitan juttusarjani kertomalla hyvin
paljon projektin käytännön implementoinitiin vaikuttavasta
asiasta: App Engine alustasta.
Meille oli projektin alkuvaiheesta
lähtien selvää, että haluamme toteuttaa sen Vaatimella. Mitään
järkevää syytä tälle ei ollut, ratkaisu oli enemmän
mututuntumalla tehty. Siispä ensimmäisiä käytännön asioita oli
selvittää, minne se pannaan (tirsk). Selvitimme ja lähettelimme
sähköpostia muutamiin suomalaisiin web-hotellipalveluja tuottaviin
yrityksiin ja kyselimme millaisia palveluita heillä on tarjolla.
Totesimme, että noin 15 euron kuukausihintaan saisimme vuokrata
virtuaalipalvelimen, jonne voisimme asentaa Tomcatin, joka pyörittää
Vaadin-sovellustamme.
Olimme jo lähes ottamassa yhteyttä
erääseen palveluntarjoajaan, kunnes jostain muistini syövereistä
kaivautui vielä yksi tutkimaton vaihtoehto: Googlen tarjoama App
Engine. Tiesin, että se tukee Googlen omalla toolkitillä, GWT:llä
tehtyjä ohjelmia. Pikaisen Googletuksen perusteella, totesimme
onneksemme, että myös Vaadin-ohjelmat pyörivät siellä. Päätimme
siis ryhtyä käyttämään GWT:tä sekä testausympäristönä ja
päädyimme siihen, että sitä käytettäisiin myös releasessa.
No miten meni...
Vaadin-ohjelma saatiin suhteellisen
vähällä säätämisellä toimimaan App-Enginessä. Ohjelman
kehittäminen pääpiirteissään ei eroa hirveästi App Engine
ympäristössä verrattuna suoraan Tomcatilla ajettuna.
App Engine asettaa kuitenkin jopa
huomattavan määrä rajoitteita.
- Useita erilaisia hinnoittelurajoituksia mm. kaistan käyttöön, tietokantakyselyihin ja laskentakäyttöön liittyen
- Vain Googlen omat tietokannat käytettävissä
- Rajoittunut JRE luokkakirjasto
- PaaS, joten ei voi ajaa omia prosesseja
Myös useita hyviä puolia löytyy
- Kohtalainen dokumentaatio
- Paljon erilaisia sisäänrakennettuja palveluita (cron, memcache, loggaus jne...)
- Helppo tehdä uusi release (mm. istunto ei katkea)
- Ilmaista käyttää melko järkevään rajaan asti
Kaikenkaikkiaan App Engine on ollut
suhteellisen hyvä alusta järjestelmälle, koska sitä käyttää
vain yhden yrityksen muutama henkilö. Etuna on, ettei sen käyttö
tuota toistaiseksi minkäänlaisia kiinteitä kustannuksia.
Palvelulla on myös korkea käytettävyysaste ja latenssiajat ovat
siedettäviä.
Seuraavissa postauksissa aion käsitellä
tarkemmin, mitä huonoa ja mitä hyvää itse App Enginestä löydämme
ja mitä kannattaa ottaa huomioon jos suunnittelee käyttävänsä
App Engineä platforminaan.
Comments
Post a Comment