SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Google App Engine
Kiire ülevaade


Andris Reinman
FlyCom
Millega tegu?

• 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)
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

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Google App Engine ülevaade

  • 1. Google App Engine Kiire ülevaade Andris Reinman FlyCom
  • 2. Millega tegu? • 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)
  • 3. 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
  • 4. 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
  • 5. 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)
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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