Utviklet av | |
---|---|
Siste versjon | 1.9.0 (11. februar 2014) |
Skrevet i | Python |
Miljø | verdensveven |
Type | Nettprogrammering |
Nettsted | offisiell side |
Google App Engine (GAE) er en plattform utforming og hosting av web-applikasjoner basert på servere av Google .
Den første versjonen av denne tjenesten (kalt ' beta '), ble utgitt i april 2008 , med mulighet for å registrere bare gratis kontoer. Tilbudet med denne første versjonen tilbyr 500 MB vedvarende lagring, og nok båndbredde og datakapasitet til å betjene 5 millioner sider per måned. Det er imidlertid mulig å kjøpe flere ressurser.
Siden da har mange funksjoner kommet for å støtte tilbudet om denne tjenesten, samt verktøy for å lette utvikling og administrasjon av applikasjoner.
April 2008 :
Mai 2008 :
Juli 2008 :
Desember 2008 :
April 2009 :
Juni 2009 :
September 2009 :
Oktober 2009 :
November 2011 :
Google App Engine tillater blant annet opprettelse av databaser (kalt datalager ) og brukeradministrasjon.
Figuren gir en generell oversikt over driften av plattformen. Forespørslene behandles av Load Balancer, som har rollen som å fordele lastene over de forskjellige feiltolerante klyngene.
For utholdenhetsdelen er DataStore-databasen basert på DBMS, BigTable , utviklet internt av Google. Spørrespråket knyttet til BigTable er GQL (Google Query Language).
Denne brukeradministrasjonen er en utvidelse av den som brukes av Google: brukeren autentiserer ved hjelp av Google-kontoen sin ( for eksempel Gmail ). Applikasjonene som er opprettet, er således ikke påkrevd for å administrere opprettelse av kontoer, administrasjon av brukerdata eller gjenoppretting av passord. Denne tjenesten frigjør også applikasjonsutvikleren til å forhandle om sikkerhet med brukeren. Det eliminerer også behovet for at sluttbrukeren autentiserer seg når han besøker en ny App Engine-tjeneste.
For å beskytte systemet kjøres applikasjonene i en sandkasse . Som innebærer visse begrensninger:
Ved lanseringstid var det bare bruk av Python gjennom en begrenset versjon av Django web framework , webapp- rammeverket som tilbys av Google (dette er det som brukes i opplæringen) eller uten et web framework: en enkel CGI i Python er nok. The Web Server Gateway Interface (WSGI) er også tilgjengelig. Google har antydet at andre språk i fremtiden vil være tilgjengelige.
Verktøy levert av google: Open source SDK (under Apache-lisens ) inneholder en utviklingsserver, samt forskjellige verktøy for å administrere applikasjonen på Google-serveren. For å programmere et Java App Engine Java-program er det et plugin for Eclipse som lar deg utvikle og laste opp applikasjonen. Støtte for utviklingsserver er tilgjengelig for Netbeans.
PythonFor å skape en hei verden med Google app Engine, ved hjelp av webapp-rammeverket:
from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Hello, webapp World!') application = webapp.WSGIApplication( [('/', MainPage)], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main()Eksempelkode for en helloworld servlet:
package helloworld; import java.io.IOException; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().println("Hello "); } } TjenesterGoogle tilbyr et sett med APIer for forskjellige programmeringsspråk for å få tilgang til forskjellige tjenester.
Grunnleggende Google App Engine-tjenester er gratis, men er underlagt kvoter. Det er mulig å kjøpe en større kvote for hver tjeneste. Tabellen nedenfor viser gratis og betalte kvoter for databasespørsmål og tilgang.
Service | Gratis kvote / dag | Maksimalt betalt kvote / dag |
---|---|---|
Antall forespørsler | 1.300.000 | 43.000.000 |
Innkommende båndbredde | 1 GB | 1046 GB |
Utgående båndbredde | 1 GB | 1046 GB |
CPU-tid | 6,5 timer | 1729 timer |
Antall databasesamtaler | 10.000.000 | 140.000.000 |
Datastørrelse | 1 GB | Ingen maksimum |
I oktober 2011, Google legger til en vedlikeholdsfri SQL-database, som støtter JDBC og DB-API. Denne tjenesten lar deg opprette, konfigurere og bruke relasjonsdatabaser med App Engine-applikasjoner. MySQL Database Engine versjon 5.1.59 og databasen skal ikke være større enn 10 GB.
Google App Engine-tjenesten konkurrerer med Amazon som heter Amazon Web Services (AWS) og Microsoft som heter Windows Azure . Dette er pakker med applikasjonstjenester som gjør det mulig for en webapplikasjon å lagre data og utføre kode på sine respektive servere.
Mange tekniske analytikere hadde spådd Googles ankomst i denne nisjen. " Google innser endelig at det må være nettplattformen, " skrev Mike Masnick, som publiserer Techdirt-bloggen.