4. O que (não) é o GAE?
○ Surgiu em 2008
○ Não é SaaS (salesforce.com), nem IaaS (amazon)
○ É PaaS (heroku)
5. Porque usar o GAE?
○ Ciclo desenvolvimento/deploy simplificado
○ GAE gerencia o deploy
○ GAE gerencia a escalabilidade
○ Não precisa ficar configurando o LAMP stack
○ Foco total no app, não na infraestrutura
O Google é o sysadmin
6. Sandbox
○ Segurança !
○ Alguns pontos negativos, como:
➢ não dá p/ escrever em arquivos locais
➢ não dá p/ demorar na resposta
➢ não dá p/ fazer chamadas de SO
7. Serviços
○ App Identity (saber qual app está executando)
○ Cloud SQL (BD relacional, mysql)
○ Cloud Storage (guardar e servir arquivos grandes)
○ Cron (rotinas)
○ Mail
○ Memcache (in-memory data cache)
○ Task Queue (tarefas em background)
○ URLfetch (fazer requisições para outras apps)
○ …
10. Linguagens que suporta
○ Java
○ Python
○ GO
○ PHP (!!!)
○ Outras linguagens que rodam na JVM
(Scala, Ruby, Groovy, JavaScript, etc...)
11. PHP no GAE 1/2
○ PHP v5.4
○ Selecionar runtime no app.yml: (configuração)
...
runtime: php
api_version: 1
...
12. PHP no GAE 2/2
○ Algumas extensões podem não ser suportadas
(caso do mcrypt pro laravel, por exemplo)
○ Algumas funções podem estar desabilitadas
parcial ou permanentemente (por segurança)
○ Algumas diretivas podem estar com valores
padrões diferentes do padrão do PHP (basta ver
a documentação para saber quais)
13. Iniciando
○ Baixar o SDK do PHP
○ Instalar o python >= v2.7
○ Instalar o php5-cgi
○ Instalar o mysql (local)
○ Configurar o PHPStorm para o GAE (se quiser
usar a IDE)
15. APP exemplo 2/2
Features:
○ Registro de usuários (nome, e-mail, senha)
○ Cadastro e exclusão de TODOs
16. Configurando o Laravel
○ Usar syslog para escrever erros da aplicação;
○ Usar memcache como driver de cache da
aplicação;
○ Usar memcache como driver de session da
aplicação;
○ Configurar o blade para compilar as views no
CloudStorage (se usar o blade)
17. Rodando local
$ dev_appserver.py --php_executable_path=/usr/bin/php5-cgi ./