Google App Engine

Google App Engine Beskrivelse av Appengine-bildet lowres.gif.

Informasjon
Utviklet av Google
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 .

Historisk

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 :

Operasjon

Google App Engine tillater blant annet opprettelse av databaser (kalt datalager ) og brukeradministrasjon.

Generell drift

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


Brukere og sikkerhet

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.

Sandkasse

For å beskytte systemet kjøres applikasjonene i en sandkasse . Som innebærer visse begrensninger:

Programmeringsspråk

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.

Python

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


Java

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

Google tilbyr et sett med APIer for forskjellige programmeringsspråk for å få tilgang til forskjellige tjenester.

  • Memcache: en cache på toppen av databasen.
  • URL-henting: for å lage HTTP / HTTPS-forespørsler på en annen server.
  • E-post: for å sende og motta e-post.
  • Bilder: for å manipulere bilder (rotasjon, dimensjon osv.)
  • Google-kontoer  : Lar deg bruke Google-kontoer til identifikasjon i et program.
  • XMPP  : for å sende og motta meldinger i XMPP-format (brukes i Google Talk)
  • Oppgavekøer: bakgrunnsoppgaver i kø.
  • Cron  : for planlegging av oppgaver som skal utføres regelmessig, for eksempel for å sende et nyhetsbrev hver måned.
  • Channel API: opprett en kommunikasjon mellom nettleser og server ( push ). Det er en implementering av Comet ved hjelp av et javascript-bibliotek.
  • Backends: Opprett permanente forekomster av et program med tilgang til mer minne (nytt i versjon 1.5.0)
  • Trekkøer: Som oppgavekøer, men applikasjonen velger oppgaver i køen for å utføre dem (i stedet for å bli servert) (ny i versjon 1.5.0)

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.

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

Google Cloud SQL

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.

Teknologisk bakgrunn

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.

Se også

Merknader og referanser

  1. (på) engelsk presentasjon av Google App Engine-tjenesten på det offisielle nettstedet.
  2. Google Cloud SQL: din database i skyen
  3. [Google http://blog.napagoda.com/2011/10/sample-application-with-google-cloud.html SQL Cloud: Eksempelapplikasjon]
  4. (in) Google innser endelig at det må være nettplattformen

Interne lenker

Eksterne linker