Udviklet af | |
---|---|
Sidste version | 1.9.0 (11. februar 2014) |
Skrevet i | Python |
Miljø | internettet |
Type | Web-programmering |
Internet side | officielle side |
Google App Engine (GAE) er en platform design og hosting af web-applikationer baseret på serverne i Google .
Den første version af denne tjeneste (kaldet ' beta ') blev udgivet i april 2008 med mulighed for kun at registrere gratis konti. Tilbuddet om denne første version tilbyder 500 MB vedvarende lagerplads og tilstrækkelig båndbredde og computerkapacitet til at betjene 5 millioner sider om måneden. Det er dog muligt at købe flere ressourcer.
Siden da er mange funktioner kommet til at understøtte udbuddet af denne service samt værktøjer til at lette udviklingen og styringen af applikationer.
April 2008 :
Maj 2008 :
Juli 2008 :
December 2008 :
April 2009 :
Juni 2009 :
September 2009 :
Oktober 2009 :
November 2011 :
Google App Engine tillader blandt andet oprettelse af databaser (kaldet datalager ) og brugeradministration.
Figuren viser platformens samlede drift. Anmodningerne behandles af Load Balancer, som har den rolle at fordele belastningerne over de forskellige fejltolerante klynger.
For persistens-delen er DataStore-databasen baseret på DBMS, BigTable , udviklet internt af Google. Forespørgselssproget, der er knyttet til BigTable, er GQL (Google Query Language).
Denne brugeradministration er en udvidelse af den, der bruges af Google: brugeren godkender ved hjælp af sin Google-konto ( f.eks. Gmail ). De oprettede applikationer er således ikke nødvendige for at administrere oprettelse af konti, styring af brugerdata eller gendannelse af adgangskoder. Denne service frigør også applikationsudvikleren til at forhandle sikkerhed med brugeren. Det eliminerer også behovet for slutbrugeren at godkende, når han besøger en ny App Engine-tjeneste.
For at beskytte systemet udføres applikationerne i en sandkasse . Hvilket indebærer visse begrænsninger:
Ved lanceringstidspunktet er kun brugen af Python gennem en begrænset version af Django-webrammen , webapp- rammen, der tilbydes af Google (dette er den, der bruges i vejledningen) eller uden en webramme: en simpel CGI i Python er nok. Den webserver Gateway Interface (WSGI) er også tilgængelig. Google har angivet, at andre sprog i fremtiden vil være tilgængelige.
Værktøjer leveret af google: Open source SDK (under Apache-licens ) indeholder en udviklingsserver samt forskellige hjælpeprogrammer til at administrere applikationen på Google-serveren. For at programmere et Google App Engine Java-program er der et plugin til Eclipse, der giver dig mulighed for at udvikle og uploade applikationen. Support til udviklingsserver er tilgængelig for Netbeans.
PythonFor at skabe en hejverden med Google app Engine ved hjælp af webapp-rammen:
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 til 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 leverer et sæt API'er til forskellige programmeringssprog for at få adgang til forskellige tjenester.
Grundlæggende Google App Engine-tjenester er gratis, men er underlagt kvoter. Det er muligt at købe en større kvote for hver tjeneste. Tabellen nedenfor viser de gratis og betalte kvoter for databaseforespørgsler og adgang.
Service | Gratis kvote / dag | Maksimal betalt kvote / dag |
---|---|---|
Antal anmodninger | 1.300.000 | 43.000.000 |
Indgående båndbredde | 1 GB | 1046 GB |
Udgående båndbredde | 1 GB | 1046 GB |
CPU-tid | 6,5 timer | 1729 timer |
Antal databaseopkald | 10.000.000 | 140.000.000 |
Datastørrelse | 1 GB | Intet maksimum |
I oktober 2011, Google tilføjer en vedligeholdelsesfri SQL-database, der understøtter JDBC og DB-API. Denne tjeneste giver dig mulighed for at oprette, konfigurere og bruge relationsdatabaser med App Engine-applikationer. MySQL Database Engine version 5.1.59 og databasen må ikke være større end 10 GB.
Google App Engine-tjenesten konkurrerer med Amazon, der kaldes Amazon Web Services (AWS) og Microsoft kaldet Windows Azure . Dette er bundter af applikationstjenester, der gør det muligt for en webapplikation at gemme data og udføre kode på deres respektive servere.
Mange tekniske analytikere havde forudsagt Googles ankomst til denne niche. " Google er endelig klar over, at det skal være webplatformen, " skrev Mike Masnick, der udgiver Techdirt-bloggen.