답변:
내 작은 지진 시계 응용 프로그램 http://quakewatch.appspot.com/에 대한 앱 엔진을 사용해 보았습니다.
내 목적은 앱 엔진의 기능을 확인하는 것이 었으므로 주요 요점은 다음과 같습니다.
그러나 전반적으로 많은 백그라운드 처리가 필요없는 앱을 만드는 것이 우수하다고 생각합니다.
편집 : 이제 일괄 처리 또는 예약 된 작업을 실행하는 데 작업 대기열을 사용할 수 있습니다
편집 : 1 년 동안 GAE에서 실제 응용 프로그램을 작업 / 생성 한 후 이제는 백만 및 수백만 사용자로 확장 해야하는 응용 프로그램을 만들지 않으면 GAE를 사용하지 않는 것이 좋습니다. GAE에서 사소한 작업을 유지하고 수행하는 것은 분산 된 특성으로 인해 마감 시간 초과 오류를 피하고 엔터티를 계산하거나 복잡한 쿼리를 수행하기 위해 복잡한 코드가 필요하므로 복잡한 복잡한 응용 프로그램이 LAMP를 고수해야합니다.
편집 : 동일한 엔티티 그룹의 엔티티 만 트랜잭션에 사용할 수 있고 두 개의 서로 다른 그룹을 업데이트하는 프로세스를 악몽으로 만듭니다 (예 : user1에서 user2로 돈을 이체)하기 때문에 미래에 원하는 모든 트랜잭션을 고려하여 모델을 특별히 설계해야합니다. 동일한 엔티티 그룹에 있지 않으면 트랜잭션에서 불가능하지만 동일한 엔티티 그룹으로 만드는 것이 빈번한 업데이트 목적에 적합하지 않을 수 있습니다 .... http://blog.notdot.net/2009/9/Distributed-Transactions- 온앱 엔진
트래픽이 많은 여러 응용 프로그램을 호스팅하기 위해 GAE를 사용하고 있습니다. 50-100 req / sec의 순서와 같습니다. 좋습니다. 충분히 추천 할 수 없습니다.
웹 개발에 대한 나의 이전 경험은 Ruby (Rails / Merb)에있었습니다. 파이썬을 배우는 것은 쉬웠다. Django 또는 Pylons 또는 다른 프레임 워크를 망설이지 않고 방금 GAE 예제에서 시작하여 제공된 기본 webapp 라이브러리에서 필요한 것을 만들었습니다.
SQL의 유연성에 익숙하다면 데이터 스토어에 익숙해 질 수 있습니다. 너무 외상은 없습니다! 가장 큰 조정은 JOIN에서 벗어나는 것입니다. 정규화가 중요하다는 생각을 없애야합니다.
벤
Google App Engine을 사용하게 된 이유 중 하나는 도메인의 Google Apps와의 통합 때문입니다. 기본적으로 도메인의 (제어 된) 로그인으로 제한되는 사용자 지정 관리 웹 응용 프로그램을 만들 수 있습니다.
이 코드에 대한 대부분의 경험은 간단한 시간 / 작업 추적 응용 프로그램을 작성하는 것이 었습니다. 템플릿 엔진은 단순했지만 여러 페이지 응용 프로그램을 매우 쉽게 사용할 수있게 만들었습니다. 로그인 / 사용자 인식 API도 비슷하게 유용합니다. 너무 많은 문제없이 공개 페이지 / 개인 페이지 패러다임을 만들 수있었습니다. (사용자는 개인 페이지를보기 위해 로그인합니다. 익명 사용자는 공개 페이지 만 표시했습니다.)
"실제 작업"을 위해 프로젝트를 중단했을 때 프로젝트의 데이터 저장소 부분으로 들어가고있었습니다.
나는 아주 적은 시간에 많은 것을 성취 할 수있었습니다. 필자는 이전에 파이썬을 사용한 적이 없었기 때문에 특히 즐거웠습니다 (둘 다 새로운 언어였으며 새로운 언어에도 불구하고 개발이 여전히 빨 랐기 때문에). 나는 작은 일이있어서 나는 내 임무를 수행 할 수 없을 것이라고 믿게되었다. 대신 기능과 기능에 대해 상당히 긍정적 인 인상을 받았습니다.
그것은 나의 경험이다. 어쩌면 완공되지 않은 장난감 프로젝트 이상을 나타내는 것은 아니지만 플랫폼에 대한 시험판을 나타내는 것일 수 있으므로 도움이 되길 바랍니다.
GAE를 사용하여 http://www.muspy.com 을 빌드했습니다 .
장난감 프로젝트에 지나지 않지만 지나치게 복잡하지는 않습니다. 저는 여전히 Google이 해결해야 할 몇 가지 문제에 의존하지만 웹 사이트를 개발하는 것은 즐거운 경험이었습니다.
호스팅 문제, 서버 관리 등을 다루고 싶지 않다면 확실히 추천 할 수 있습니다. 특히 파이썬과 장고를 이미 알고 있다면.
나는이 시점에서 App Engine이 소규모 프로젝트에 매우 멋지다고 생각합니다. 호스팅에 대해 걱정할 필요가 없다는 말이 많이 있습니다. 이 API는 또한 확장 가능한 앱을 개발하는 방향으로 나아가도록하는 것이 좋습니다.
sql 게임을 살펴보십시오. 매우 안정적이며 실제로 트래픽 제한을 한 지점에서 밀어서 Google에 의해 제한되었습니다. 다른 사람이 완전히 제어하는 서버에서 앱을 호스팅하는 것 외에 App Engine에 대한 좋은 소식은 없습니다.
나는 GAE를 사용하여 일부 매개 변수, 형식을 수락하고 전자 메일을 보내는 간단한 응용 프로그램을 작성했습니다. 매우 간단하고 빠릅니다. 또한 GAE 데이터 저장소 및 memcache 서비스 ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ) 에 대한 성능 벤치 마크를 만들었습니다 . 그렇게 빠르지는 않습니다. 내 의견은 GAE가 특정 방법론을 시행하는 심각한 플랫폼이라는 것입니다. 나는 그것이 나쁜 관행이 단순히 허용되지 않는 진정으로 확장 가능한 플랫폼으로 발전 할 것이라고 생각합니다.
플래시 게임 사이트 Bearded Games에 GAE를 사용 했습니다 . GAE는 훌륭한 플랫폼입니다. 예전의 PHP보다 훨씬 쉬운 Django 템플릿을 사용했습니다. 훌륭한 관리자 패널과 함께 제공되며 정말 좋은 로그를 제공합니다. 데이터 저장소는 MySQL과 같은 데이터베이스와는 다르지만 작업하기가 훨씬 쉽습니다. 사이트를 구축하는 것은 쉽고 간단했으며 사이트에 대한 유용한 조언이 많이 있습니다.
GAE와 Django를 사용하여 Facebook 응용 프로그램을 만들었습니다. 내가 사용 http://code.google.com/p/app-engine-patch를 가 장고 1.1 지원이 나의 출발점으로. 나는 그것이 작동하지 않을 것이라고 생각했기 때문에 manage.py 명령을 사용하려고 시도하지 않았지만 그것을 조사조차하지 않았습니다. 응용 프로그램에는 세 가지 모델이 있고 pyfacebook도 사용되었지만 복잡성의 정도였습니다. http://brianyamabe.com 에서 블로그를 시작하기 전에 훨씬 더 복잡한 응용 프로그램을 작성하는 중 입니다.