Google App Engine

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 19 iulie 2019; verificările necesită 5 modificări .
Google App Engine
Tip de mediu de dezvoltare
web framework
Dezvoltator Google
Scris in Piton
Sistem de operare GNU/Linux
ultima versiune 1.9.6 ( 3 iunie 2014 )
Licență GPLv2
Site-ul web appengine.google.com
 Fișiere media la Wikimedia Commons

Google App Engine  este un serviciu de găzduire pentru site-uri web și aplicații web de pe serverele Google cu un nume gratuit <sitename>.appspot.com sau cu propriul nume , activat folosind serviciile Google .

App Engine a fost introdus în aprilie 2008 , disponibil ca conturi gratuite: [1] „...până la 1 GB de spațiu pe disc, 10 GB de trafic de intrare pe zi, 10 GB de trafic de ieșire pe zi, 200 de milioane de gigacicluri CPU pe zi și 2.000 de operațiuni de email pe zi”, [2] și posibilitatea de a achiziționa resurse suplimentare [3] .

Aplicațiile implementate pe App Engine trebuie scrise în Python , Java , Node.JS , .NET , Ruby , Go sau PHP . Ultimele două au încă statutul de instrumente „experimentale”, deși Google și-a anunțat intenția de a extinde lista de limbaje și medii de programare acceptate și de a face serviciul în sine independent de orice limbaj de programare. Runtime-ul Python [4] include o implementare completă a capabilităților Python în sine, majoritatea funcțiilor bibliotecii standard a limbajului , o versiune limitată a Django etc.

Un set de API-uri sunt furnizate pentru serviciile de stocare, API-ul pentru depozit de date ( BigTable ), [5] conturi Google, [6] încărcarea datelor prin URL, [7] e-mail [8] etc.

Oferă posibilitatea de a utiliza programatorul de activități cron atât pentru aplicațiile Python , cât și pentru Java . Este permis să fie programate maximum 20 de locuri de muncă. [9] [10]

Utilizarea serviciului de cont Google vă permite să începeți rapid să lucrați cu aplicația, nu este nevoie să vă înregistrați acreditările separat pe fiecare site. De asemenea, permite dezvoltatorului să nu-și facă griji cu privire la implementarea unui alt sistem de înregistrare a utilizatorilor special pentru aplicația lor.

Platforma Google concurează cu servicii similare de la Amazon , care oferă posibilitatea de a găzdui fișiere și aplicații web folosind infrastructura lor.

Diferențele față de modelul tradițional de găzduire a aplicațiilor

Spre deosebire de multe găzduiri convenționale de aplicații pentru mașini virtuale, cum ar fi Amazon EC2 , App Engine este strâns integrat cu aplicațiile și impune unele restricții dezvoltatorilor. Mediile de procesare paralelă vă permit să utilizați o mare parte din software-ul creat pentru sisteme asemănătoare Unix, în timp ce App Engine solicită dezvoltatorului să folosească unul dintre limbajele de programare: Python, Java, Go (din mai 2011) sau PHP (în modul experimental), și pentru a stoca informații, utilizați stocarea - un subset al bazei de date proprietare BigTable ( en ), care este know-how-ul Google .

Deși este posibil să rulați multe aplicații dezvoltate în Python fără modificări la App Engine (cu excepția celor care necesită acces la funcții de sistem de nivel scăzut sau acces la rețea), utilizarea stocării va necesita un efort semnificativ din partea dezvoltatorilor pentru adaptarea aplicațiilor. Spre deosebire de popularele SGBD MySQL și PostgreSQL , depozitul nu este o bază de date relațională și nu necesită o schemă sau normalizare a datelor . Arhitectura platformei acceptă scalarea fără modificarea codului. Implementarea suportului logicii relaționale ar duce la o încetinire semnificativă a muncii [11] [12] . Natura non-relațională a stocării impune dezvoltatorilor să folosească o arhitectură netradițională de stocare și procesare a datelor.

În același timp, toate aceste restricții pot va determina mulți dezvoltatori să facă eforturi suplimentare pentru a se adapta la noul mediu și vor prefera să aleagă platforme alternative.

Restricții

Timpul de rulare Google App Engine permite dezvoltatorului să controleze doar un subset al setărilor sistemului de operare, ceea ce poate fi dificil pentru dezvoltarea aplicației.

Fără acces de scriere la sistemul de fișiere server. Singura modalitate de stocare a datelor este stocarea internă, o bază de date non-relațională, foarte scalabilă. Depozitul este diferit de bazele de date relaționale MySQL și PostgreSQL care sunt utilizate de majoritatea site-urilor.

Sistemele de gestionare a sesiunilor care utilizează sistemul de fișiere nu vor funcționa. Google oferă o alternativă, Memcached API . Este posibil să se organizeze autorizarea utilizatorilor prin conturi Google.

Google folosește pe scară largă tehnologia MapReduce în aplicațiile sale și este posibil ca suportul acestuia să fie adăugat la capacitățile platformei. [13]

App Engine are suport SQL cu Google Cloud SQL [14] .

Un exemplu de cea mai mică aplicație

Site-ul helloworld.appspot.com dintr-o singură pagină „index.html” necesită [15] încărcarea [16] a două fișiere pe serverele Google App Engine:

aplicație: helloworld versiunea: 1 timp de rulare: python versiunea_api: 1 manipulatori: - URL: / static_files: static/index.html încărcare: static/index.html
  • …/helloworld/static/index. html
< html >< h1 > Bună lume! </ h1 ></ html >

Vezi și

Note

  1. Ce este Google App Engine? (link indisponibil) . Arhivat din original pe 14 martie 2012. 
  2. Termenii și condițiile Google App Engine arhivat la 24 septembrie 2008 la Wayback Machine Arhivat la 24 septembrie 2008.
  3. Condiții și tarife pentru achiziția de resurse suplimentare . Consultat la 3 octombrie 2009. Arhivat din original pe 19 septembrie 2009.
  4. Python Runtime Environment Arhivat 25 septembrie 2008 la Wayback Machine Arhivat 25 septembrie 2008.
  5. Datastore API Arhivat 21 septembrie 2008 la Wayback Machine Arhivat 21 septembrie 2008.
  6. Users API Arhivat 21 septembrie 2008 la Wayback Machine Arhivat 21 septembrie 2008.
  7. URL Fetch API (interfață de încărcare URL) Arhivat 21 septembrie 2008 la Wayback Machine Arhivat 21 septembrie 2008.
  8. Mail API Arhivat 21 septembrie 2008 la Wayback Machine Arhivat 21 septembrie 2008.
  9. Sarcini programate cu Cron pentru Python Arhivat 12 aprilie 2009.
  10. Sarcini programate cu Cron pentru Java Arhivat 2010-01-3 .
  11. Google App Engine atrăgător, va fi greu de scăpat Arhivat 16 august 2018 la Wayback Machine
  12. Norul în creștere al Google tocmai a primit o bază de date NoSQL Arhivat 16 august 2018 la Wayback Machine
  13. Proiect MapReduce pentru AppEngine . Consultat la 3 octombrie 2009. Arhivat din original la 31 martie 2010.
  14. Exemplu de aplicație Google Cloud SQL . Consultat la 5 martie 2012. Arhivat din original pe 5 martie 2012.
  15. Setările aplicației. Gestionare de fișiere statice Arhivat 5 octombrie 2008 la Wayback Machine Arhivat 5 octombrie 2008.
  16. Publicație suplimentară arhivată la 24 septembrie 2008 la Wayback Machine , arhivată la 24 septembrie 2008.

Literatură

Link -uri