Google App Engine | |
---|---|
Type |
udviklingsmiljø for webramme |
Udvikler | |
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.
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.
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] .
Webstedet helloworld.appspot.com fra en enkelt side "index.html" kræver [15] upload af [16] to filer til Google App Engine-serverne:
Skyen | ||
---|---|---|
Ansøgninger | ||
Platforme | ||
Infrastruktur | ||
Teknologi |