Google App Engine

Google App Engine Beskrivelse af Appengine-billedet lowres.gif.

Information
Udviklet af Google
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 .

Historisk

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 :

Operation

Google App Engine tillader blandt andet oprettelse af databaser (kaldet datalager ) og brugeradministration.

Generel betjening

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


Brugere og sikkerhed

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.

Sandkasse

For at beskytte systemet udføres applikationerne i en sandkasse . Hvilket indebærer visse begrænsninger:

Programmeringssprog

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.

Python

For 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()


Java

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 "); } } Tjenester

Google leverer et sæt API'er til forskellige programmeringssprog for at få adgang til forskellige tjenester.

  • Memcache: en cache oven på databasen.
  • URL-hentning: for at foretage HTTP / HTTPS-anmodninger på en anden server.
  • E-mail: for at sende og modtage e-mails.
  • Billeder: at manipulere billeder (rotation, dimension osv.)
  • Google-konti  : Giver dig mulighed for at bruge Google-konti til identifikation i en applikation.
  • XMPP  : til at sende og modtage meddelelser i XMPP-format (bruges i Google Talk)
  • Taskekøer: baggrundskø-opgaver.
  • Cron  : til planlægning af opgaver, der skal udføres regelmæssigt, for eksempel for at sende et nyhedsbrev hver måned.
  • Channel API: Opret en kommunikation mellem browser og server ( push ). Det er en implementering af Comet ved hjælp af et javascript-bibliotek.
  • Backends: Opret permanente forekomster af et program med adgang til mere hukommelse (nyt i version 1.5.0)
  • Træk køer: Som opgavekøer, men applikationen vælger opgaver i køen for at udføre dem (i stedet for at blive serveret) (nyt i version 1.5.0)

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.

Google App Engine globale kvoter
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

Google Cloud SQL

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.

Teknologisk baggrund

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.

Se også

Noter og referencer

  1. (på) engelsk præsentation af Google App Engine-tjenesten på det officielle websted.
  2. Google Cloud SQL: din database i skyen
  3. [Google http://blog.napagoda.com/2011/10/sample-application-with-google-cloud.html SQL Cloud: Eksempelapplikation]
  4. (in) Google indser endelig, at det skal være webplatformen

Interne links

eksterne links