Google App Engine

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. juli 2019; checks kræver 5 redigeringer .
Google App Engine
Type
udviklingsmiljø for webramme
Udvikler Google
Skrevet i Python
Operativ system GNU/Linux
nyeste version 1.9.6 ( 3. juni 2014 )
Licens GPLv2
Internet side appengine.google.com
 Mediefiler på Wikimedia Commons

Google App Engine  er en hostingtjeneste til websteder og webapplikationer på Googles servere med et gratis navn <sitename>.appspot.com eller med sit eget navn , aktiveret ved hjælp af Google-tjenester .

App Engine introduceret i april 2008 , tilgængelig som gratis konti: [1] "...op til 1 GB diskplads, 10 GB indgående trafik om dagen, 10 GB udgående trafik om dagen, 200 millioner CPU-gigacykler om dagen og 2.000 e-mail-operationer om dagen”, [2] og mulighed for at anskaffe yderligere ressourcer [3] .

Applikationer implementeret på App Engine skal skrives i Python , Java , Node.JS , .NET , Ruby , Go eller PHP . De sidste to har stadig status som "eksperimentelle" værktøjer, selvom Google har annonceret sin hensigt om at udvide listen over understøttede programmeringssprog og miljøer og gøre selve tjenesten uafhængig af ethvert programmeringssprog. Python-runtiden [4] inkluderer en fuld implementering af funktionerne i selve Python, de fleste funktioner i sprogets standardbibliotek , en begrænset version af Django osv.

Et sæt API'er leveres til lagertjenester, datastore API ( BigTable ), [5] Google-konti, [6] upload af data via URL, [7] e- mail [8] osv.

Giver mulighed for at bruge cron opgaveplanlægning til både Python og Java applikationer . Der må maksimalt planlægges 20 jobs. [9] [10]

Ved at bruge Google-kontotjenesten kan du hurtigt begynde at arbejde med applikationen, der er ingen grund til at registrere dine legitimationsoplysninger separat på hvert websted. Det giver også udvikleren mulighed for ikke at bekymre sig om at implementere endnu et brugerregistreringssystem specifikt til deres applikation.

Google-platformen konkurrerer med lignende tjenester fra Amazon , som giver mulighed for at hoste filer og webapplikationer ved hjælp af deres infrastruktur.

Forskelle fra den traditionelle applikationshostingmodel

I modsætning til mange konventionelle hosting til virtuelle maskiner, såsom Amazon EC2 , er App Engine tæt integreret med applikationer og pålægger udviklere nogle begrænsninger. Parallelle behandlingsmiljøer giver dig mulighed for at bruge meget af den software, der er skabt til Unix-lignende systemer, mens App Engine kræver, at udvikleren bruger et af programmeringssprogene: Python, Java, Go (siden maj 2011) eller PHP (i eksperimentel tilstand), og for at gemme information, brug storage - en undergruppe af den proprietære database BigTable ( en ), som er Googles knowhow .

Selvom det er muligt at køre mange applikationer udviklet i Python uden ændringer i App Engine (med undtagelse af dem, der kræver adgang til systemfunktioner på lavt niveau eller netværksadgang), vil det kræve en betydelig indsats fra udviklere for at tilpasse applikationer. I modsætning til de populære MySQL og PostgreSQL DBMS er depotet ikke en relationel database og kræver ikke et skema eller datanormalisering . Platformarkitekturen understøtter skalering uden at ændre koden. Implementeringen af ​​relationel logikstøtte ville føre til en betydelig opbremsning i arbejdet [11] [12] . Den ikke-relationelle karakter af lagring kræver, at udviklere bruger en ikke-traditionel datalagrings- og behandlingsarkitektur.

Samtidig kan alle disse begrænsninger vil få mange udviklere til at gøre en ekstra indsats for at tilpasse sig det nye miljø, og de vil foretrække at vælge alternative platforme.

Begrænsninger

Google App Engine-runtiden giver udvikleren mulighed for kun at kontrollere en delmængde af operativsystemindstillingerne, hvilket kan være svært for applikationsudvikling.

Ingen skriveadgang til serverens filsystem. Den eneste måde at gemme data på er intern lagring, en ikke-relationel, meget skalerbar database. Depotet er forskelligt fra de relationelle databaser MySQL og PostgreSQL , der bruges af de fleste websteder.

Sessionsstyringssystemer, der bruger filsystemet, vil ikke fungere. Google tilbyder et alternativ, Memcached API . Det er muligt at organisere brugerautorisation via Google-konti.

Google gør udstrakt brug af MapReduce- teknologi i sine applikationer , og dets support vil sandsynligvis blive tilføjet til platformens muligheder. [13]

App Engine har SQL-understøttelse med Google Cloud SQL [14] .

Et eksempel på den mindste applikation

Webstedet helloworld.appspot.com fra en enkelt side "index.html" kræver [15] upload af [16] to filer til Google App Engine-serverne:

ansøgning: helloworld version: 1 runtime: python api_version: 1 handlere: - url: / statiske_filer: static/index.html upload: static/index.html
  • …/helloworld/static/index. html
< html >< h1 > Hej verden! </ h1 ></ html >

Se også

Noter

  1. Hvad er Google App Engine? (utilgængeligt link) . Arkiveret fra originalen den 14. marts 2012. 
  2. Servicevilkår for Google App Engine Arkiveret 24. september 2008 på Wayback Machine Arkiveret 24. september 2008.
  3. Betingelser og takster for erhvervelse af yderligere ressourcer . Hentet 3. oktober 2009. Arkiveret fra originalen 19. september 2009.
  4. Python Runtime Environment Arkiveret 25. september 2008 på Wayback Machine Arkiveret 25. september 2008.
  5. Datastore API arkiveret 21. september 2008 på Wayback Machine Arkiveret 21. september 2008.
  6. Users API Arkiveret 21. september 2008 på Wayback Machine Arkiveret 21. september 2008.
  7. URL Fetch API (URL-indlæsningsgrænseflade) Arkiveret 21. september 2008 på Wayback Machine Arkiveret 21. september 2008.
  8. Mail API arkiveret 21. september 2008 på Wayback Machine arkiveret 21. september 2008.
  9. Planlagte opgaver med Cron for Python Arkiveret 12. april 2009.
  10. Opgaver planlagt med Cron til Java Arkiveret 2010-01-3 .
  11. Google App Engine lokkende, vil være svært at undslippe Arkiveret 16. august 2018 på Wayback Machine
  12. Googles voksende sky har lige fået en NoSQL-database Arkiveret 16. august 2018 på Wayback Machine
  13. MapReduce Project for AppEngine . Hentet 3. oktober 2009. Arkiveret fra originalen 31. marts 2010.
  14. Google Cloud SQL-eksempelapplikation . Hentet 5. marts 2012. Arkiveret fra originalen 5. marts 2012.
  15. Applikationsindstillinger. Statiske filbehandlere Arkiveret 5. oktober 2008 på Wayback Machine Arkiveret 5. oktober 2008.
  16. Tillægspublikation Arkiveret 24. september 2008 på Wayback Machine Arkiveret 24. september 2008.

Litteratur

Links