Навигация по сайту

Популярные статьи

The Pursuit of Happyness »Blog Archive» Google App Engine - znajomość, zalety i wady, przydatne wskazówki

  1. Komentarze

Silnik aplikacji Google Jest to platforma oferowana przez Google dla programistów internetowych. Nie byłoby przesadą stwierdzenie, że problem wzrostu i rozsądnych oszczędności na skalowalności i wydajności napotyka deweloperów od samego początku pracy nad projektem. Z jednej strony ogromna liczba startupów, z których deweloperzy nawet w przybliżeniu nie wyobrażają sobie natury i ilości ładunków na stronie, a którzy chcą mieć pewną optymalizację wydajności, często zaczyna się od pierwszych linii kodu. Z drugiej strony muszę powiedzieć, że aplikacje wymagające skalowania mają bardzo złożoną architekturę, a pisanie takiego kodu jest również bardzo specyficzne. Oddzielnie należy wspomnieć o tym, że utrzymanie takiej skalowanej poziomo infrastruktury w warunkach pracy jest dość kłopotliwe i kosztowne. W branży aplikacji o dużym obciążeniu niekwestionowanym sztandarowym produktem jest Google. Oferują swoje doświadczenie programistom w formie Silnik aplikacji Google .

Dla tych, którzy nie słyszeli nic o GAE, polecam czytanie artykułów o szybki start z gae , model i kontroler .

Porozmawiajmy trochę o zaletach platformy:

  • Przede wszystkim jest to skalowalność „z pudełka”, której absolutnie nie trzeba się zajmować. Gwarantowany czas pracy wynoszący 99,9%, brak kopii zapasowych, replikacji i innych udręk w aplikacjach o dużym obciążeniu.
  • wszyscy programiści, jako jedni, podziwiają, jak dobrze GAE jest dobrze udokumentowane i jak łatwo jest stworzyć swój pierwszy świat hello
  • przejrzysta integracja z kontem Google i wieloma usługami
  • wsparcie dla Javy i Pythona „z pudełka” oraz ogromna liczba języków skryptowych „spod Java”
  • wygodny serwer rozwoju i proste narzędzie do wdrażania
  • ogromna liczba projektów open source są dobrą pomocą w rozwoju na GAE

Jak zwykle w beczce z miodem, w maści będzie mucha.

  • limit rozmiaru pliku: 1 megabajt
  • Innym interesującym ograniczeniem jest, na żądanie, nie więcej niż milion cykli procesora na żądanie. Nie masz narzędzi do oceny, profilowania tych cykli i nie ma takiego ograniczenia na lokalnym serwerze. Dlatego przygotuj się na fakt, że złożona aplikacja zacznie się rozpadać po wdrożeniu, prawdopodobnie losowo.
  • bardzo powolne lokalne przechowywanie danych, chociaż na serwerze, po wdrożeniu, praca z pamięcią również jest niejednoznaczna, a także nakładane są ograniczenia i limity na pracę z pamięcią masową
  • Program ładujący (ładujący zbiorczo) jest raczej powolny i często generuje 500 błędów.
  • trzeba powiedzieć - ale nie masz uprawnień roota
  • więcej o ograniczeniach można przeczytać tutaj

Na podstawie powyższego uważam, że idealną aplikacją dla GAE są małe startupy, niezdolne do planowania ruchu dla swoich aplikacji i budowania drogiej infrastruktury, która wytrzyma „napływ”, jeśli się powiedzie. Mogą to być wszelkiego rodzaju widgety, aplikacje społecznościowe, gry, z logiką serwera nie zużywającą zasobów.

Kilka wniosków na temat skuteczniejszego stosowania GAE:

  • przenieść logikę i funkcjonalność do klienta - wszelkiego rodzaju logiki na JS, Flash, Flex, Silverlight itp
  • używać memcache do buforowania żądań do repozytorium
  • używać sharded counters dla statystyk
  • wysyłanie listów zajmuje dużo procesora, lepiej go używać zadania lub cron
  • Użyj kilku aplikacji GAE, dla różnych potrzeb, zamiast jednego dużego. Ma sens zwiększenie kwot i udostępnianie statystyk.
  • użyj zapisywania wsadowego i pobieraj dane z pamięci

Komentarze

komentarze


Silnik aplikacji Google   Jest to platforma oferowana przez Google dla programistów internetowych