10
Google App Engine Kiire ülevaade Andris Reinman FlyCom

Google App Engine ülevaade

Embed Size (px)

DESCRIPTION

Kiire ülevaade Google App Engine võimalustest ja piirangutest

Citation preview

Google App EngineKiire ülevaade

Andris ReinmanFlyCom

• Hostinguplatvorm aplikatsioonidele

• Python või Java

• Hästi skaleeruv (Google infrastruktuur)

• Maksad ainult selle eest, mida kasutad

• Oma domeeni võimalus (läbi Google Apps platvormi)

• *.appspot.com HTTPS sertifikaat tasuta (see on ka ainus https võimalus)

Millega tegu?

Piirangud

• Kuni 10 aplikatsiooni, juba olemasolevat kustutada ei saa

• Puudub kirjutamisõigus failisüsteemis, ainult lugemine

• Ühendused ainult mooduliga URL Fetch, socketite avamine keelatud

• Kuni 30 sekundit käivitusaja limiit, kuid võib olla ka lühem

• Mitte-relatsiooniline andmebaas

• Üleslaetud faile ei saa tagasi alla laadida

Plussid

• Väga suur skaleeruvus. Kui programmi kasutatavus suureneb, kopeeritakse andmed rohkematesse masinatesse laiali

• Memcache, Google User Accounts ja Images teegid

• Tasks - tööde järjekorda lükkamine

• Transactions, andmete lisamisel baasi

• Versioonimine, aktiivse versiooni valik veebiliidese kaudu

• Suurtes piirides TASUTA

Python

• Versioon 2.5.2

• webapp raamistik

• Nuditud Django 0.96 (puudub gettext jne)

• Ei saa kasutada C’s kirjutatud mooduleid

• Ei saa kirjutada failisüsteemi (ainult andmebaasi)

• Ei saa avada socket’eid (selle asemel on UrlFetch)

Andmebaas

• Google BigTable, võtme/väärtuste paarid

• GQL ja Query Object (~Active Record laadne süntaks)

• 1000 elemendi päringulimiit (select, limit, offset, count)

• Max. 1MB andmebaasi rea suurus

• Puudub JOIN (seda asendab mingil määral ReferenceProperty)

• Read ei pea olema sarnaste elementidega (“duck typing tabelid”)

• Ühe lausega andmete sisestamisel korraga maksimaalselt 500 elementi

E-mail

• Kirja saatjaks saab olla märgitud vaid administraatori e-maili aadress

• Maksimaalne saatmislimiit päevas 7.4M kirja

• Maksimaalne kirja suurus 1 MB

• Lihtne kirja koostamine - email.body, email.html, email.attachments

• Programmiline tagasiside saatmisest puudub

Aplikatsiooni veebiliides

• Lihtne veebipõhine dashboard. Näitab koormuse graafikuid, limiitide täituvust, CPU osakaalu per URL, vigu (404 + 500 errorid per URL)

• Filtreeritav Error log

• Cron jobs ülevaade ja tööde “õnnestumine”

• Andmebaasi indeksite ülevaade

• Aktiivse versiooni määramine

Limiidid (24 h)

Ressurss Hind/ühik Tasuta Tasuline

CPU $0,01/CPU h 6.5 1729

Pöördumised N/A 1,3 M 43 M

Väljuv liiklus $0,12/GB 1 GB 1 046 GB

Sisenev liiklus $0,10/GB 1 GB 1 046 GB

Salvestusmaht $0,005/GB 24h 1 GB ∞

E-mail $0,0001/kiri 2 000 7,4 M

UrlFetch N/A 657 000 46 M

Memcache N/A 8,6 M 96 M

Case study

• Bulk mailer, listile templiidi alusel “personaalsete” kirjade saatmiseks

• Probleemid andmebaasi 1000 elemendi piiranguga (nimekirja lehitsemisel)

• Andmete sisestamine aeglane, umbes üle 200 elemendiga läks tihti errorisse, max. 500 el. korraga

• Välja läks umbes 4500 kirja, mille lõplikuks maksumuseks tuli $0,26