Google App Engine

**Google App Engine** (**GAE** yamasa **App Engine** dep te ataladı) — bul veb-qosımshalardı islep shıǵıw hám xosting ushın xızmet sıpatında paydalanılatuǵın bultlı esaplaw platforması. Qosımshalar izolyaciyalanǵan hám bir neshe Google basqaratuǵın serverlerde ámelge asırıladı. GAE veb-qosımshalar ushın avtomatlı masshtablawdı qollaydı, sorawlar muǵdarı kóbeygen sayın veb-qosımshaǵa kóbirek resurslar ajıratadı. Ol 2008-jıldıń aprel ayında aldın kóriw sıpatında shıǵarıldı hám 2011-jıldıń sentyabr ayında rásmiy túrde iske qosıldı.

Go, PHP, Java, Python, Node.js, .NET hám Ruby-de jazılǵan qosımshalar App Engine tárepinen qollanıladı, al basqa tiller qosımsha tólem esabınan qollanılıwı múmkin. Xızmettiń biypul versiyası sheklengen resursları bar standart ortalıqtı usınadı. Qosımsha saqlaw ornı, ótkiziw qábileti yamasa úlgi saatları ushın tólem alınadı.

## Ózgeshelikleri
Google App Engine tiykarınan Go, PHP, Java, Python, Node.js, .NET hám Ruby qosımshaların qollaydı, degen menen «arnawlı orınlawshı ortalıqlar» arqalı basqa tillerdi de qollay aladı.

Google App Engine-de orınlanatuǵın Python veb-freymvorklarına Django, CherryPy, Pyramid, Flask hám web2py, sonday-aq Google jazǵan veb-qosımsha freymvorki hám shıǵarılǵannan keyin platforma ushın arnawlı islengen bir neshe basqaları kiredi. CGI adapterin paydalanıp WSGI-di qollaytuǵın hár qanday Python freymvorki qollanba jaratıw ushın paydalanılıwı múmkin, hám freymvork islep shıǵılǵan qollanba menen birge júklenip qoyılıwı múmkin. Python-da jazılǵan úshinshi tárep kitapxanaları da júklenip qoyılıwı múmkin.

SDK versiyası 1.2.2 Python paydalanıp maǵlıwmatlardı toparlı júklep alıwdı qollawdı qostı.

App Engine-niń integraciyalanǵan Google Cloud Datastore maǵlıwmatlar bazasında «GQL» (Google Query Language) dep atalatuǵın SQL-ge uqsas sintaksis bar. GQL qosılıw operatorın qollamaydı. Onıń ornına, bir-kóp hám kóp-kóp qatnasıqlar `ReferenceProperty()` paydalanıw arqalı ámelge asırılıwı múmkin.

Google Cloud Firestore - bul Google Cloud Datastore-nıń ornın basıwshı bolıp, GQL-di saqlanǵan obektlerdi hújjetler toplamı sıpatında qaraytuǵın hújjetke tiykarlanǵan soraw usılı menen almastıradı. Firestore 2017-jıldıń oktyabr ayında iske qosıldı.

### Bekendler
Google I/O 2011-de Google App Engine Bekendlerin járiyaladı, olarǵa úziliksiz jumıs islewge hám kóbirek yad paydalanıwǵa ruqsat berildi. Bekend API 2014-jıldıń 13-martında Moduller API paydasına eskirgen dep járiyalandı. Moduller API masshtablaw, versiyalaw hám resurslardı bólistiriw ústinen anıǵıraq basqarıwdı kirgizdi, bul baǵdarlamashılarǵa qosımshanıń hár túrli bólimlerin hár qıylı ónimlilik sazlawları menen júrgiziwge múmkinshilik berdi.

### Google Cloud SQL
2011-jıldıń oktyabr ayında Google texnikalıq xızmet kórsetiwdi talap etpeytuǵın SQL maǵlıwmatlar bazasın aldın kórsetti, ol JDBC hám DB-API-di qollaydı. Bul xızmet App Engine qosımshaları menen relyaciyalıq maǵlıwmatlar bazaların jaratıwǵa, konfiguraciyalawǵa hám paydalanıwǵa múmkinshilik beredi. Google Cloud SQL MySQL 8.0, 5.7 hám 5.6 versiyaların qollaydı.

### Sheklewler

* Baǵdarlamashılar App Engine-da fayl sistemasına tek oqıw ushın qoljetimlilikke iye. Qosımshalar tek virtual fayl sistemaların paydalana aladı.
* App Engine tek HTTP sorawınan shaqırılǵan kodtı orınlay aladı (jobalastırılǵan fonlı tapsırmalar ózin-ózi shaqırıwshı HTTP sorawlarına ruqsat beredi).
* Paydalanıwshılar qálegen Python modullerin júkley aladı, biraq tek eger olar taza Python bolsa. C hám Pyrex modulleri qollanılmaydı.
* Java qosımshaları JRE standart versiyasınıń klassları ishinen tek qosımsha toplamdı (The JRE Class White List) paydalana aladı. Bul sheklew App Engine Standard Java8 orınlawshı ortalıǵında joq.
* Sorawǵa juwap beriw ushın serverde baslanǵan process 60 sekundtan artıq dawam ete almaydı (1.4.0 shıǵarılıwı menen, bul sheklew fonlı tapsırmalarǵa endi qollanılmaydı).
* Jabısqaq sessiyalardı (sessiya affinligi dep te ataladı) qollamaydı, tek replikaciyalanǵan sessiyalar qollanıladı, sonıń ishinde serializaciya etiletuǵın maǵlıwmatlar muǵdarı hám sessiya serializaciyası ushın waqıt sheklenedi.

### Qosımsha xostingi
Basqa xızmetler paydalanıwshılarǵa derlik hár qanday *NIX úylesimli programmalıq támiynattı ornatıw hám konfiguraciyalawǵa múmkinshilik berip, App Engine baǵdarlamashılardan tek ózi qollaytuǵın tiller, API-ler hám freymvorklerdi paydalanıwdı talap etedi. Házirgi API-ler hújjetke baǵdarlanǵan Google Cloud Datastore maǵlıwmatlar bazasınan maǵlıwmatlardı saqlaw hám alıwǵa, HTTP sorawların jiberiwge, elektron pochta jiberiwge, súwretlerdi qayta islewge hám keshlewge múmkinshilik beredi. Google Cloud SQL relyaciyalıq MySQL úylesimli maǵlıwmatlar bazası bekendin talap etetuǵın App Engine qosımshaları ushın paydalana aladı.

Kúnlik hám minutlıq kvotalar ótkiziw qábileti hám CPU paydalanıwına, xızmet kórsetilgen sorawlar sanına, bir waqıttaǵı sorawlar sanına hám hár túrli API-lerge shaqırıwlarǵa sheklewler qoyadı. Ayırım sorawlar eger 60 sekundtan artıq waqıt alsa yamasa 32MB-dan artıq maǵlıwmat qaytarsa toqtatıladı.

## Jetkiziw máseleleri
Baǵdarlamashılar qosımshalardıń App Engine-nen kóshiriliwi múmkin bolmay qalıwınan táshiwishlenedi hám texnologiyaǵa baylanıp qalıwdan qorqadı. Oǵan juwap retinde, qosımsha mashinasınıń hár túrli menshikli/jabıq API-leri, ásirese maǵlıwmatlar qoyması ushın ashıq kodlı bekendler jaratıw boyınsha bir qatar joybarlar bar.

AppScale avtomat túrde keń tarqalǵan ulıwma hám jeke bultlı sistemaları hám jergilikli klasterlerde ózgertilmegen Google App Engine qosımshaların ornalastıradı hám masshtablaydı. Ol Python, Java, PHP hám Go qosımshaların EC2, Google Compute Engine, Azure hám basqa bultlı vendorlarında júrgize aladı.

Web2py veb-freymvorki SQL Maǵlıwmatlar bazaları hám Google App Engine arasında kóshiriwdi usınadı, biraq tranzakciyalar hám atlar keńisligi sıyaqlı App Engine-ge tán bir qatar ózgesheliklerdi qollamaydı.

Kubernetes - bul Google tárepinen jaratılǵan ashıq kodlı jumıstı basqarıw sisteması bolıp, ol infrastrukturanı abstrakciyalaw arqalı ashıq kodlı (mısalı, Docker) konteynerlestirilgen qosımshalardıń Amazon Web Services, Microsoft Azure hám basqalar sıyaqlı kóp túrli infrastrukturalarda júrgiziliwine múmkinshilik beredi.

## Paydalanıw kvotaları
Google App Engine baslaw ushın Google akkauntın talap etedi, hám bir akkaunt baǵdarlamashıǵa 25-ke shekem biypul qosımsha hám sheksiz sandaǵı aqılı qosımshalardı dizimnen ótkeriwge múmkinshilik beredi.

Google App Engine biypul qosımshalar ushın paydalanıw kvotaların belgileydi. Bul kvotalarǵa keńeytiwler soraw múmkin, al qosımsha avtorları qosımsha resurslar ushın tóley aladı.

## Derekler

__BÖLİDİMÖNDEMEW__