Do 0 a estar online no 
Google App Engine 
GDG São Carlos 
01/11/2014
Disclaimer 
• O evento de hoje é “Trazendo sua empresa para internet” do GDG e GBG 
de São Carlos 
• Meu nome é Priscila Mayumi Sato 
• Hoje sou Fullstack Developer numa pequena startup 
• Não sou a pessoa de negócios, sou a pessoa técnica 
• Parte dos passos para criação de uma starup foram retirados do artigo de 
Sérgio Tauhata (baseado na Learn Startup) encontrado em 
http://goo.gl/HFwgEr 
• Todas as imagens usadas possuem direitos CC e estão listadas no final da 
apresentação
Mantenha-se antenado 
É preciso conhecer tanto os consumidores quanto a 
concorrência
Mantenha-se antenado 
• Acompanhe as novidades 
• Converse com muitas pessoas 
• Leia muito 
• Perceba as necessidades que você ou seus 
contatos possam ter
Mantenha-se antenado
Ideias nascem 
• Eu gostaria de ter uma forma de mensurar meus 
posts no Instagram, e o Instagram é muito usado 
por empresas… pq não criar uma app para isso?
Coloque a ideia sob a lupa 
É preciso conhecer tanto os consumidores quanto a 
concorrência
Coloque a ideia sob a lupa 
• “Verificar se o conceito original se encaixa nas 
premissas da startup” 
• “Aberto a ouvir opiniões” 
• “Saber se o mercado é amplo ou de nicho” 
• “Checar se é um modelo fácil de ser reproduzido” 
• etc
Monte o protótipo 
Pontos chaves: velocidade e flexibilidade
Monte o protótipo 
• Descubra o que o mercado quer - fazendo o protótipo 
• Use a estratégia de lançar um beta 
• A própria comunidade se encarrega de aponta falhas e 
avaliar funcionalidades 
• “O custo do processo de CD é infinitamente menor que 
o de uma pesquisa de mercado(…)” afirma Marcelo 
Amorin da Jarcard Investimentos
Monte o protótipo 
• CD - Customer Development - desenvolvido por 
Steve Blank 
• CD - Processo detalhado para testar e validar ideias 
• Use: desenvolvimento ágil - velocidade de 
aprendizado por meio de feedbacks 
• Use commodity: serviços, frameworks, tecnologias 
open source, etc
Use cloud 
• Você pode disponibilizar sua aplicação em questão 
de instantes 
• Você paga por uso 
• Serviços de cloud te dão pré configurados vários 
serviços como memcache, por exemplo 
• Serviços de cloud são flexíveis, se sua aplicação 
“der certo” e crescer você pode escalar mais rápido
Google App Engine 
Hora do “vamos ver”
Google App Engine 
• Serviço de cloud da Google de PaaS 
• Gratuito para começar 
• Infra-estrutura da Google - aberto ao público em 
2008 e estável em 2011 
• Linguagens suportadas: Java, Python, Go e PHP
Vantagens do GAE 
• Poucas configurações 
• Balanço de carga 
• Replicação 
• Infraestrtura da Google 
• Diversos serviços da Google disponíveis
GAE números em 2013 
• 300.000+ desenvolvedores ativos 
• 3.000.000+ aplicações ativas 
• 7.500.000.000+ hits por dia 
• 4.500.000.000.000+ data resquests 
• fonte: http://goo.gl/zv7Dt7
Alguns serviços do GAE 
• Memcache API - cache in-memory para alta performance 
• Datastore - database storage 
• URLFetch - invoca URLs externas 
• Mail - envia e-mails da sua aplicação 
• Task Queues - fila de processos 
• Images - api para manipulação de imagens 
• Cron Jobs - processos agendados para rodar 
• User Accounts - autenticação usando contas Google
GAE casos de uso 
• Mobile/Tablet 
• App backends 
• Cloud persistente 
• Social/Mobile Games 
• Speed, scale 
• API integrations 
• Personals/dating 
• Entre outros 
• fonte: http://goo.gl/zv7Dt7
Cota gratuita 
• Cada conta pode hospedar até 25 aplicações gratuitas e um número ilimitado de 
aplicações pagas 
• 5GBs de Google Cloud Storage 
• 5GBs de BlobStorage 
• Dados estáticos e códigos: 1GB 
• Logs de até 1GB 
• 28 horas de instancia por dia 
• 100 chamadas a API de e-mail por dia 
• Entre outros limites da quota gratuita em 
https://cloud.google.com/appengine/docs/quotas
Voltando a minha ideia 
• Primeiro passo: fazer uma landpage para mostrar a 
web app
Landpage 
para captar futuros usuários beta
Adicionar minha app no GAE
Adicionar minha app no GAE
Adicionar minha app no GAE
Adicionar minha app no GAE 
• Para subir a app você precisa do SDK, no caso 
estou usando o SDK PHP 
• Necessário python 2.7, PHP 5.4+, MySQL 5.5 na 
máquina 
• Você usa comandos para interagir e subir sua 
aplicação
GoogleAppEngineLaucher 
Onde você vai controlar sua app localmente
Adicionar minha app no GAE 
• Ele vai adicionar 3 arquivos: 
• favicon 
• main.php (com o Hello Wolrd) 
• app.yaml
Adicionar minha app no GAE 
• app.yaml é o arquivo de configuração da sua app 
• configura rotas, versão e runtime 
• Agora é clicar em rodar e testar em localhost:8080
Para casos linux 
• wget 
http://googleappengine.googlecode.com/files/google_appengine_ 
1.8.9.xip 
• unzip google_appengine_1.8.9.zip 
• gcloud auth login 
• cd endereço-do-projeto 
• gcloud init id-do-projeto 
• google_appengine/dev_appserver.py id-do-projeto/ - - 
php_executable_path <php-cgi>
Adicionar minha app no GAE 
• Opa!
Adicionar minha app no GAE 
• No arquivo app.yaml você precisa configurar o 
caminho dos arquivos, incluindo os estáticos
Adicionar minha app no GAE 
• Agora subir a app para o GAE
Para casos linux 
• ./google_appengine/appcfg.py update id-do-projeto
Salvando dados 
• Google CLoud SQL 
• Relacional 
• Api MySQL 
• Google Cloud Storage 
• Não relacional
Administração da app 
latencia, tipos de erros, trafico, utilização, instancias, informações sobre
Hora de criar sua ideia 
encontro do GDG aprofundar os conhecimentos? Tragam suas ideias
Dúvidas? 
Criticas, sugestões, comentários ou convites para jogar Magic?
Obrigada 
@MayogaX
Links úteis 
• https://cloud.google.com/ 
• https://cloud-playground.appspot.com/playground/ 
• https://cloud.google.com/appengine/kb/general
Source das Imagens 
• Kesara Rathnnayake http://goo.gl/gOlKTS 
• Rosemeri Nunes http://goo.gl/StXy8T 
• Heisenber Media http://goo.gl/F03b1B 
• Google App Engine

Do 0 a estar online no Google App Engine

  • 1.
    Do 0 aestar online no Google App Engine GDG São Carlos 01/11/2014
  • 2.
    Disclaimer • Oevento de hoje é “Trazendo sua empresa para internet” do GDG e GBG de São Carlos • Meu nome é Priscila Mayumi Sato • Hoje sou Fullstack Developer numa pequena startup • Não sou a pessoa de negócios, sou a pessoa técnica • Parte dos passos para criação de uma starup foram retirados do artigo de Sérgio Tauhata (baseado na Learn Startup) encontrado em http://goo.gl/HFwgEr • Todas as imagens usadas possuem direitos CC e estão listadas no final da apresentação
  • 3.
    Mantenha-se antenado Épreciso conhecer tanto os consumidores quanto a concorrência
  • 4.
    Mantenha-se antenado •Acompanhe as novidades • Converse com muitas pessoas • Leia muito • Perceba as necessidades que você ou seus contatos possam ter
  • 5.
  • 6.
    Ideias nascem •Eu gostaria de ter uma forma de mensurar meus posts no Instagram, e o Instagram é muito usado por empresas… pq não criar uma app para isso?
  • 7.
    Coloque a ideiasob a lupa É preciso conhecer tanto os consumidores quanto a concorrência
  • 8.
    Coloque a ideiasob a lupa • “Verificar se o conceito original se encaixa nas premissas da startup” • “Aberto a ouvir opiniões” • “Saber se o mercado é amplo ou de nicho” • “Checar se é um modelo fácil de ser reproduzido” • etc
  • 9.
    Monte o protótipo Pontos chaves: velocidade e flexibilidade
  • 10.
    Monte o protótipo • Descubra o que o mercado quer - fazendo o protótipo • Use a estratégia de lançar um beta • A própria comunidade se encarrega de aponta falhas e avaliar funcionalidades • “O custo do processo de CD é infinitamente menor que o de uma pesquisa de mercado(…)” afirma Marcelo Amorin da Jarcard Investimentos
  • 11.
    Monte o protótipo • CD - Customer Development - desenvolvido por Steve Blank • CD - Processo detalhado para testar e validar ideias • Use: desenvolvimento ágil - velocidade de aprendizado por meio de feedbacks • Use commodity: serviços, frameworks, tecnologias open source, etc
  • 12.
    Use cloud •Você pode disponibilizar sua aplicação em questão de instantes • Você paga por uso • Serviços de cloud te dão pré configurados vários serviços como memcache, por exemplo • Serviços de cloud são flexíveis, se sua aplicação “der certo” e crescer você pode escalar mais rápido
  • 13.
    Google App Engine Hora do “vamos ver”
  • 14.
    Google App Engine • Serviço de cloud da Google de PaaS • Gratuito para começar • Infra-estrutura da Google - aberto ao público em 2008 e estável em 2011 • Linguagens suportadas: Java, Python, Go e PHP
  • 15.
    Vantagens do GAE • Poucas configurações • Balanço de carga • Replicação • Infraestrtura da Google • Diversos serviços da Google disponíveis
  • 16.
    GAE números em2013 • 300.000+ desenvolvedores ativos • 3.000.000+ aplicações ativas • 7.500.000.000+ hits por dia • 4.500.000.000.000+ data resquests • fonte: http://goo.gl/zv7Dt7
  • 17.
    Alguns serviços doGAE • Memcache API - cache in-memory para alta performance • Datastore - database storage • URLFetch - invoca URLs externas • Mail - envia e-mails da sua aplicação • Task Queues - fila de processos • Images - api para manipulação de imagens • Cron Jobs - processos agendados para rodar • User Accounts - autenticação usando contas Google
  • 18.
    GAE casos deuso • Mobile/Tablet • App backends • Cloud persistente • Social/Mobile Games • Speed, scale • API integrations • Personals/dating • Entre outros • fonte: http://goo.gl/zv7Dt7
  • 19.
    Cota gratuita •Cada conta pode hospedar até 25 aplicações gratuitas e um número ilimitado de aplicações pagas • 5GBs de Google Cloud Storage • 5GBs de BlobStorage • Dados estáticos e códigos: 1GB • Logs de até 1GB • 28 horas de instancia por dia • 100 chamadas a API de e-mail por dia • Entre outros limites da quota gratuita em https://cloud.google.com/appengine/docs/quotas
  • 20.
    Voltando a minhaideia • Primeiro passo: fazer uma landpage para mostrar a web app
  • 21.
    Landpage para captarfuturos usuários beta
  • 22.
  • 23.
  • 24.
  • 25.
    Adicionar minha appno GAE • Para subir a app você precisa do SDK, no caso estou usando o SDK PHP • Necessário python 2.7, PHP 5.4+, MySQL 5.5 na máquina • Você usa comandos para interagir e subir sua aplicação
  • 26.
    GoogleAppEngineLaucher Onde vocêvai controlar sua app localmente
  • 27.
    Adicionar minha appno GAE • Ele vai adicionar 3 arquivos: • favicon • main.php (com o Hello Wolrd) • app.yaml
  • 28.
    Adicionar minha appno GAE • app.yaml é o arquivo de configuração da sua app • configura rotas, versão e runtime • Agora é clicar em rodar e testar em localhost:8080
  • 29.
    Para casos linux • wget http://googleappengine.googlecode.com/files/google_appengine_ 1.8.9.xip • unzip google_appengine_1.8.9.zip • gcloud auth login • cd endereço-do-projeto • gcloud init id-do-projeto • google_appengine/dev_appserver.py id-do-projeto/ - - php_executable_path <php-cgi>
  • 30.
    Adicionar minha appno GAE • Opa!
  • 31.
    Adicionar minha appno GAE • No arquivo app.yaml você precisa configurar o caminho dos arquivos, incluindo os estáticos
  • 32.
    Adicionar minha appno GAE • Agora subir a app para o GAE
  • 33.
    Para casos linux • ./google_appengine/appcfg.py update id-do-projeto
  • 34.
    Salvando dados •Google CLoud SQL • Relacional • Api MySQL • Google Cloud Storage • Não relacional
  • 35.
    Administração da app latencia, tipos de erros, trafico, utilização, instancias, informações sobre
  • 36.
    Hora de criarsua ideia encontro do GDG aprofundar os conhecimentos? Tragam suas ideias
  • 37.
    Dúvidas? Criticas, sugestões,comentários ou convites para jogar Magic?
  • 38.
  • 39.
    Links úteis •https://cloud.google.com/ • https://cloud-playground.appspot.com/playground/ • https://cloud.google.com/appengine/kb/general
  • 40.
    Source das Imagens • Kesara Rathnnayake http://goo.gl/gOlKTS • Rosemeri Nunes http://goo.gl/StXy8T • Heisenber Media http://goo.gl/F03b1B • Google App Engine