Nós já utilizamos alguns dos serviços do App Engine no primeiro website:
O App Engine possui diversos outros serviços que podem ser utilizados em uma aplicação web.
O Datastore é a base de dados não-relacional que é pré-configurada para seus projetos do Google Cloud. Ele possui recursos como:
O Datastore não possui um esquema restrito,
apesar de ser possível reforçá-lo em seu código.
A modelagem de dados no App Engine é realizada
por meio do pacote ndb
, que é muito parecido
com a modelagem de dados realizada pelo framework Django.
Toda aplicação escalável utiliza-se de diferentes níveis de cache, incluindo o cache de dados mantidos em memória. Para este propósito, o Google App Engine possui um cache em memória, distribuído e visível globalmente. Isso significa que os dados mantidos em cache por uma instância, são visíveis em outras.
Uma boa prática na utilização do cache é manter o resultado de processamentos demorados em memória. Por exemplo, consultas ao banco de dados que são frequentes, podem ter seus resultados mantidos em cache, reduzindo consideravelmente o tempo de resposta de seu aplicativo. Além disso, é possível manter o resultado de qualquer processamento realizado, como um RSS das notícias da página principal.
Aplicações do Google App Engine podem se comunicar com outras aplicações, ou acessar outros recursos na web. Para isso, as aplicações podem utilizar o serviço URL Fetch, que permite iniciar conexões HTTP e HTTPS com outros servidores, e consumir o resultados destas requisições. O Serviço de URL Fetch utiliza a infra-estrutura distribuída de clientes HTTP da rede do Google, por razões de escalabilidade e performance.
Uma das mais poderosas ferramentas do App Engine, as filas de tarefas permitem que você distribua o processamento, enfileirando tarefas para serem executadas fora do escopo da requisição do usuário.
O App Engine se encarregará de executar, de forma eficiente e escalável, todas as tarefas de sua fila.
Com este recurso, você pode realizar tarefas como
Entre outros.
O App Engine ainda possui um pool de outros serviços, que podem ser utilizados pela sua aplicação, tais como: