Pergunta

Olhando para fazer um projeto paralelo muito pequeno, rápido 'n sujo. I como o fato de que o Google App Engine está em execução em Python com Django construído na direita - me dá uma desculpa para tentar essa plataforma ... mas a minha pergunta é esta:

Alguém já fez uso do App Engine para outra coisa senão um problema de brinquedo? Eu vejo um bom exemplo apps lá fora, então eu diria que isso é bom o suficiente para o negócio real, mas queria obter algum feedback.

Todas as outras notas sucesso / fracasso seria ótimo.

Foi útil?

Solução

Eu tentei app engine para a minha candidatura relógio pequeno terremoto http://quakewatch.appspot.com/

Meu objetivo era ver os recursos do app engine, então aqui estão os principais pontos:

  1. ele não vem por padrão com o Django, ele tem seu próprio framework web que é pythônico tem despachante URL como Django e usa Django modelos Então se você tem django exp. você vai achar que é fácil de usar
  2. Você não pode executar qualquer processo longo em execução no servidor, o que você faz é resposta ao pedido e que deve ser rápida caso contrário appengine irá matá-lo Portanto, se seu aplicativo precisa de muito processamento backend appengine não é a melhor maneira caso contrário você terá que fazer o processamento no servidor de seu próprio
  3. Meu aplicativo quakewatch tem um recurso de inscrição, isso significa que eu tinha que enviar e-mail mais recentes terremotos como eles aconteceu, mas eu não posso correr um processo de fundo na App Engine para monitorar novos tremores solução aqui é usar um terceiro serviço de parte como pingablity.com que pode se conectar a um da sua página e que executa o emailer subscrição mas aqui também você terá que tomar cuidado para que você não passar muito tempo aqui ou quebrar tarefa em vários pedaços
  4. Ele fornece Django como recursos de modelagem, mas backend é totalmente diferente, mas para um novo projeto que não deve importar.

Mas no geral eu acho que é excelente para a criação de aplicativos que não precisam de muito processamento em background.

Edit: Agora filas de tarefas podem ser usados ??para a execução de processamento em lote ou tarefas agendadas

Edit: depois de trabalhar / criar uma aplicação real no GAE por um ano, agora meu parecer é que a menos que você está fazendo uma aplicação que precisa de escala para milhões e milhões de usuários, não use GAE. Manter e fazer tarefas triviais em GAE é uma dor de cabeça devido à natureza distribuída, o Deadline evitar erros excedidos, contar entidades ou fazer consultas complexas requer código complexo, tão pequeno aplicativo complexo deve ficar para LAMP.

Edit: Os modelos devem ser especialmente concebido considerando todas as transações que você deseja ter no futuro, porque as entidades só na mesmo grupo de entidades pode ser usado em uma transação e torna o processo de atualização de dois grupos diferentes de um pesadelo por exemplo transferência de dinheiro de user1 para user2 na transação é impossível a menos que eles estão em mesmo grupo de entidades, mas tornando-os mesmo grupo de entidades não pode ser melhor para fins de atualização freqüentes .... leia este http://blog.notdot.net/2009/9 / distribuída-Transações-on-App-Engine

Outras dicas

Eu estou usando GAE para hospedar várias aplicações de alto tráfego. Tal como na ordem de 50-100 req / seg. É ótimo, eu não posso recomendar o suficiente.

Minha experiência anterior com desenvolvimento web estava com Ruby (Rails / Merb). Aprender Python foi fácil. Eu não mexer com Django ou postes ou qualquer outro quadro, só começou a partir dos exemplos do GAE e construiu o que eu precisava para fora das bibliotecas webapp básicos que são fornecidos.

Se você está acostumado a flexibilidade de SQL o armazenamento de dados pode levar algum tempo para se acostumar. Nada muito traumático! O maior ajuste está se afastando de JOINs. Você tem que lançar a ideia de que a normalização é crucial.

Ben

Uma das razões I se deparam para usar o Google App Engine é a sua integração com o Google Apps para seu domínio. Essencialmente, permite que você crie personalizados, aplicações web gerenciados que são restritos para os logins (controlada) de seu domínio.

A maioria da minha experiência com este código estava construindo uma aplicação simples de monitoramento de tempo / tarefa. O motor de template foi simples e ainda fez uma aplicação multi-page muito acessível. A api consciência login / usuário é semelhante útil. Eu era capaz de fazer um paradigma Página / público-privada sem muito problema. (Um usuário poderia fazer login para ver as páginas privadas. Utilizador Um anônimo só foi mostrado na página pública.)

Eu estava apenas começando a parte de armazenamento de dados do projeto quando me afastei para o "trabalho real".

Eu era capaz de realizar muito (ele ainda não está feito ainda) em uma quantidade muito pequena de tempo. Desde que eu nunca tinha usado Python antes, este foi particularmente agradável (tanto porque era uma língua nova para mim, e também porque o desenvolvimento ainda foi rápido, apesar da nova linguagem). Corri para muito pouco que me levou a acreditar que eu não seria capaz de realizar minha tarefa. Em vez disso eu tenho uma impressão bastante positiva das funcionalidades e características.

Essa é a minha experiência com ele. Talvez ele não representa mais do que um projeto de brinquedo inacabado, mas representa um julgamento informado sobre a plataforma, e espero que isso ajuda.

A idéia "App Engine rodando Django" é um pouco enganador. App Engine substitui toda a camada de modelo Django para estar preparado para gastar algum tempo para se acostumar com o armazenamento de dados do App Engine que requer uma maneira diferente de modelagem e pensar sobre os dados.

Eu costumava GAE para construir http://www.muspy.com

É um pouco mais do que um projeto de brinquedo, mas não excessivamente complexo também. Eu ainda depender de algumas questões a serem abordadas pelo Google, mas no geral o desenvolvimento do site foi uma experiência agradável.

Se você não quer lidar com questões de hospedagem, administração de servidores, etc, eu posso definitivamente recomendo. Especialmente se você já sabe Python e Django.

Eu acho que o Google App Engine é muito legal para pequenos projetos neste momento. Há muito a ser dito para nunca ter que se preocupar com hospedagem. A API também o empurra na direção da construção de aplicativos escaláveis, o que é uma boa prática.

  • app-motor-patch é uma camada boa entre Django e App motor, permitindo o uso do aplicativo de autenticação e muito mais.
  • Google prometeram um modelo de SLA e precificação pelo final de 2008.
  • Os pedidos devem completar em 10 segundos, sub-pedidos para serviços web necessários para completar em 5 segundos. Isso força você a projetar um rápido, aplicativo leve, off-loading processamento sério para outras plataformas (por exemplo, um serviço ou uma instância EC2 hospedado).
  • Mais idiomas estão chegando em breve! Google não vai dizer que embora :-). Meu dinheiro está em Java seguinte.

Esta questão foi totalmente respondida. Qual é bom. Mas uma coisa talvez vale a pena mencionar. O Google App Engine tem um plugin para o Eclipse IDE que é uma alegria para trabalhar.

Se você já faz o seu desenvolvimento com o eclipse que vai ser tão feliz com isso.

Para implantar no site do Google App Engine toda a necessidade I a fazer é clicar em um pequeno botão - com o logotipo avião - super.

Dê uma olhada na sql jogo , é muito estável e realmente empurrou os limites de tráfego em um ponto de modo que ele estava sendo estrangulada pela Google. Não vi nada, mas boas notícias sobre o Google App Engine, além de hospedagem que você aplicativo em servidores alguém controles outra coisa completamente.

Eu costumava GAE para construir uma aplicação simples que aceita alguns parâmetros, formatos e envio de e-mail. Foi extremamente simples e rápido. Também fiz alguns benchmarks de desempenho sobre os serviços de armazenamento de dados e memcache GAE ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Não é tão rápido. Minha opinião é que GAE é plataforma séria que impor determinada metodologia. Eu acho que vai evoluir para a plataforma verdadeiramente escalável, onde simplesmente não más práticas permitido.

Eu costumava GAE para o meu site de jogos flash, farpada Jogos . GAE é uma grande plataforma. Eu costumava modelos de Django que são muito mais fácil do que os velhos tempos de PHP. Ele vem com um painel de administração grande, e dá-lhe realmente bons logs. O armazenamento de dados é diferente de um banco de dados como MySQL, mas é muito mais fácil trabalhar com. A construção do site foi fácil e simples e eles têm muitos conselhos úteis sobre o site.

Eu costumava GAE e Django para construir um aplicativo do Facebook. Eu costumava http://code.google.com/p/app-engine-patch como ponto de partida, pois tem Django apoio 1.1. Eu não tentar usar qualquer um dos comandos manage.py porque eu assumiu que não iria funcionar, mas eu nem sequer olhar para ele. A aplicação tinha três modelos e também utilizado pyfacebook, mas que era a extensão da complexidade. Eu estou no processo de construção de uma aplicação muito mais complicado que eu estou começando a blog sobre a http://brianyamabe.com .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top