Professional Documents
Culture Documents
Co
to
jest?
Usuga
typu
Cloud
Compu)ng
Oparta
o
infrastruktur
uywan
przez
Google
Model
PaaS
(PlaForm
as
a
Service)
W
teorii
przezroczyste
skalowanie
Wyszy
poziom
abstrakcji
ni
IaaS
(Infrastructure
as
a service)
Skalowalno
Niezalene
instancje
jako
element
skadowy
Abstrakcja
ponad
procesem
systemu
operacyjnego
Dynamicznie
uruchamiane
w
zalenoci
od
potrzeb
Wirtualne
rodowisko
do
uruchamiania
aplikacji
Ograniczenia
Limitowana
ilo
pamici
I
czasu
procesora
Brak
dostpu
do
powoki
systemowej
Dziaanie
w
obrbie
maszyny
wirtualnej
Rozproszona,
nierelacyjna
baza
danych
datastore
Architektura
aplikacji
Limit
30
sekund
na
pen
odpowied
DeadlineExceededError
Najbardziej
skalowalna
forma
przetwarzania
Wicej
uytkownikw
to
zawsze
wiksza
liczba
Architektura
aplikacji
Kolejki
zada
Przeznaczone
do
realizowania
duszych
operacji
Limit
czasowy:
10
minut
na
jedno
zadanie
rodowisko
uruchomieniowe
Obsuga
Pythona,
JVM,
Go
Python
Wersja
2.7
Obsuga
WSGI
Webapp2,
Django
1.4,
web2py,
boile,
Konguracja
rodowiska
SDK
dostpne
na
Google
Code:
hip://code.google.com/appengine/
Wsppracuje
z
Python
2.5
oraz
2.7
Zawiera:
Lokalny
server
testowy
(dev_appserver.py)
Narzdzie
do
wdraania
(appcfg.py)
Dodatkowe
narzdzia
I
biblioteki
Serwer
testowy
dev_appserver.py
Automatyczne
monitorowanie
zmian
w
plikach
Moliwoci
Obsuga
wikszoci
featurw
GAE
Lokalna
implementacja
datastore
Symulowana
autoryzacja
Google
Accounts
Prosty
panel
administracyjny
wszystkich instancjach Zarzdzanie indeksami bazy danych $python appcfg.py update apphance/
Konsola
administracyjna
Umoliwia
zarzdzanie
wdroon
aplikacj
Konguracja
zasobw
instancji
Obserwacja
zuywanych
zasobw
(quotas)
Zarzdzanie
kolejkami
zada
Przegldanie
I
edycja
bazy
danych
Dostp
do
logw
aplikacji
Filtrowanie,
wyszukiwanie
Datastore
Obiektowa,
nierelacyjna
baza
oparta
o
BigTable
Optymalizowana
pod
ktem
odczytw
Powielanie
danych
na
niezalenych
serwerach
Eventual
consistency
Datastore
Dane
organizowane
bardziej
jako
obiekty
ni
tabele
Odrzucenie
normalizacji
Pola
nie
musz
by
atomowe
(listy
wartoci)
Redundancja
danych
(np.
Liczniki)
Brak
operacji
JOIN
Warto
uwzgldni
transakcje
przy
projektowaniu
bazy
transakcjom
Przykadowy
model
Model
deniowany
jako
zwyka
kasa
Zawiera
predeniowane
waciwoci
class
Device(db.Model):
iden
=
db.StringProperty()
user_agent
=
db.StringProperty(indexed=False)
model_name
=
db.StringProperty()
def
__str__(self):
.
Tworzenie
zapyta
Silnie
ograniczony
QL
Brak
operacji
JOIN,
LIKE,
Ograniczenia
na
sortowanie
I
porzdkowanie
Nieefektywne
zliczanie
I
stronicowanie
Natywne
API
Przypomina
interfesj
Django
ORM
Przykady
zapyta
GQL
db.Gql("SELECT * FROM Device WHERE model_name=:1 AND iden=:2", name, iden) q = Device.all() q = q.lter(model_name, name) q = q.lter(iden, iden)
API
Dostpne
usugi
Praktycznie
bez
konguracyjny
dostp
do
wielu
usug:
Memcache
Blobstore
Google
Cloud
Storage
Search
Task
Queues
Google
Accounts
XMPP
Mail
Prospec{ve
Search
Image
API
Channel
API
URLFetch
Conversions
MapReduce
BigQuery
Google
Cloud
SQL
(Beta)
Wady
I
zalety
Zintegrowane
rodowisko
programistyczne
oraz
uruchomieniowe
Brak zarzdzania serwerami Automatyczny load balancing Prosta konguracja I wdraanie Nieograniczone moliwoci obliczeniowe
Ograniczenia Vendor lock-in Brak dostpu do kodu natywnego Silnie ograniczone gniazda sieciowe
Koniec
Rekrutujemy!
Warszawskie
biuro
rmy
uTest
poszukuje
programistw!
Oferta: hip://bit.ly/QzCuWb Rozwj produktu Apphance oraz innych projektw Zgoszenia na adres: pduda@utest.com