Upload
andris-reinman
View
376
Download
3
Embed Size (px)
DESCRIPTION
Kiire ülevaade Google App Engine võimalustest ja piirangutest
Citation preview
• 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
• 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