Google App Engine | |
---|---|
Tip de |
mediu de dezvoltare web framework |
Dezvoltator | |
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.
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.
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] .
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:
Cloud computing | ||
---|---|---|
Aplicații | ||
Platforme | ||
Infrastructură | ||
Tehnologie |