Google App Engine 사용에 대한 피드백?
아주 작고, 신속하고 더러운 프로젝트를 하려고 합니다.저는 구글 앱 엔진이 장고가 내장된 파이썬에서 실행되고 있다는 사실이 마음에 듭니다. 그 플랫폼을 사용할 수 있는 핑계를 제공합니다.하지만 제 질문은 이렇습니다.
장난감 문제 이외에 앱 엔진을 사용한 사람이 있습니까?좋은 예시 앱이 몇 개 있기 때문에 이 정도면 실제 거래에 충분하다고 생각하지만 피드백을 받고 싶습니다.
다른 성공/실패 노트도 좋습니다.
저는 작은 지진 감시 앱 http://quakewatch.appspot.com/ 을 위해 앱 엔진을 사용해 보았습니다.
제 목적은 앱 엔진의 기능을 확인하는 것이었습니다. 주요 사항은 다음과 같습니다.
- 기본적으로 Django와 함께 제공되지 않으며, 파이썬틱한 자체 웹 프레임워크가 Django와 같은 URL 디스패처를 가지고 있으며 Django 템플릿을 사용합니다. 그래서 만약 당신이 Django exp를 가지고 있다면.사용하기 쉽다는 것을 알게 될 것입니다.
- 서버에서 긴 실행 중인 프로세스를 실행할 수 없습니다. 요청에 응답하는 것이 신속해야 합니다. 그렇지 않으면 앱 엔진이 이를 죽일 것입니다. 따라서 앱에 백엔드 처리 앱 엔진이 많이 필요하다면 앱 엔진을 사용하는 것이 최선의 방법이 아닙니다. 그렇지 않으면 자체 서버에서 처리해야 합니다.
- 제 지진 감시 앱에는 구독 기능이 있습니다. 즉, 최신 지진이 발생할 때 이메일을 보내야 했지만, 앱 엔진에서 새로운 지진 솔루션을 모니터링하기 위한 백그라운드 프로세스를 실행할 수 없습니다. 핑 기능과 같은 제3의 서비스를 사용하는 것입니다.com은 당신의 페이지 중 하나에 연결할 수 있고 구독 전자 메일러를 실행할 수 있지만 여기서도 당신은 여기서 많은 시간을 보내거나 작업을 여러 조각으로 나누지 않도록 주의해야 할 것입니다.
- Django와 같은 모델링 기능을 제공하지만 백엔드는 완전히 다르지만 새로운 프로젝트에서는 중요하지 않습니다.
하지만 전반적으로 백그라운드 처리가 많이 필요하지 않은 앱을 만드는 데는 탁월하다고 생각합니다.
편집: 이제 작업 대기열을 배치 처리 또는 예약된 작업 실행에 사용할 수 있습니다.
편집: 1년 동안 GAE에서 실제 애플리케이션을 만들고 작업한 후, 이제 제 의견은 수백만 명의 사용자로 확장해야 하는 애플리케이션을 만들지 않는 한, GAE를 사용하지 말라는 것입니다.GAE에서 사소한 작업을 유지하고 수행하는 것은 분산 특성상 골칫거리이며, 마감 시간 초과 오류를 방지하기 위해 엔티티를 카운트하거나 복잡한 쿼리를 수행하려면 복잡한 코드가 필요하므로 작은 복잡한 응용 프로그램은 LAMP를 고수해야 합니다.
편집: 모델은 동일한 엔티티 그룹에 있는 엔티티만 트랜잭션에서 사용할 수 있고 서로 다른 두 그룹을 업데이트하는 프로세스를 악몽으로 만들기 때문에 미래의 모든 트랜잭션을 고려하여 특별히 설계되어야 합니다. 예를 들어, 동일한 엔티티 그룹에 있지 않으면 트랜잭션에서 user1에서 user2로 송금하는 것이 불가능합니다.그러나 자주 업데이트하는 경우에는 동일한 엔티티 그룹을 만드는 것이 최선이 아닐 수 있습니다. 이 http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine 을 참조하십시오.
저는 GAE를 사용하여 트래픽이 많은 여러 애플리케이션을 호스팅하고 있습니다.50-100 req/sec 정도입니다.좋습니다, 저는 그것을 충분히 추천할 수 없습니다.
저의 이전 웹 개발 경험은 Ruby(Rails/Merb)였습니다.파이썬을 배우는 것은 쉬웠습니다.저는 Django나 Pylons 또는 다른 프레임워크를 망치지 않고 GAE 예제에서 시작하여 제공되는 기본 웹 앱 라이브러리에서 필요한 것을 구축했습니다.
SQL의 유연성에 익숙하다면 데이터스토어에 익숙해지는 데 시간이 걸릴 수 있습니다.너무 충격적인 것은 없습니다!가장 큰 조정은 JOIN에서 벗어나는 것입니다.당신은 정상화가 중요하다는 생각을 버려야 합니다.
벤
Google App Engine을 사용하게 된 강력한 이유 중 하나는 도메인용 Google Apps와의 통합입니다.기본적으로 도메인의 (제어된) 로그인으로 제한되는 사용자 지정 관리 웹 응용프로그램을 만들 수 있습니다.
이 코드에 대한 제 경험의 대부분은 간단한 시간/작업 추적 애플리케이션을 구축한 것입니다.템플릿 엔진은 간단했지만 여러 페이지의 애플리케이션에 매우 쉽게 접근할 수 있었습니다.로그인/사용자 인식 API도 마찬가지로 유용합니다.저는 큰 문제 없이 공개 페이지/개인 페이지 패러다임을 만들 수 있었습니다.사용자가 로그인하여 개인 페이지를 볼 수 있습니다.익명 사용자에게는 공개 페이지만 표시됩니다.)
프로젝트의 데이터스토어 부분에 들어가려던 참에 "실제 작업"을 하게 되었습니다.
저는 아주 짧은 시간 안에 많은 것을 이룰 수 있었습니다.이전에 파이썬을 사용해 본 적이 없었기 때문에, 이것은 특히 즐거웠습니다(나에게 새로운 언어였기 때문이기도 하고, 새로운 언어에도 불구하고 여전히 개발이 빨랐기 때문이기도 합니다).저는 제가 맡은 일을 해낼 수 없을 것이라는 믿음을 갖게 된 아주 작은 일에 부딪혔습니다.대신 기능과 기능에 대해 상당히 긍정적인 인상을 받았습니다.
그것이 제 경험입니다.아마도 그것은 아직 완성되지 않은 장난감 프로젝트 이상의 것은 아니지만, 플랫폼에 대한 정보에 입각한 시험을 의미합니다. 그리고 저는 그것이 도움이 되기를 바랍니다.
장고를 실행하는 앱 엔진 아이디어는 약간 오해의 소지가 있습니다.App Engine은 전체 Django 모델 계층을 대체하므로 데이터에 대한 다른 모델링 및 사고 방식이 필요한 App Engine의 데이터스토어에 적응하는 데 시간이 걸릴 수 있습니다.
GAE를 사용하여 http://www.muspy.com 을 구축했습니다.
이것은 장난감 프로젝트 이상의 것이지만 지나치게 복잡하지도 않습니다.저는 아직도 구글이 해결해야 할 몇 가지 문제에 의존하고 있지만, 전반적으로 웹사이트를 개발하는 것은 즐거운 경험이었습니다.
호스팅 문제, 서버 관리 등을 처리하고 싶지 않다면 분명히 추천할 수 있습니다.특히 파이썬과 장고를 이미 알고 있다면 더욱 그렇습니다.
저는 앱 엔진이 현 시점에서 작은 프로젝트에 꽤 멋지다고 생각합니다.호스팅에 대해 전혀 걱정할 필요가 없다는 것에 대해 할 말이 많습니다.API는 또한 확장 가능한 앱을 구축하는 방향으로 당신을 밀어주는데, 이는 좋은 관행입니다.
- app-engine-patch는 Django와 App Engine 사이의 좋은 계층으로, 인증 앱 등을 사용할 수 있습니다.
- Google은 2008년 말까지 SLA 및 가격 모델을 약속했습니다.
- 요청은 10초 이내에 완료되어야 하며, 웹 서비스에 대한 하위 요청은 5초 이내에 완료되어야 합니다.따라서 중요한 처리 작업을 다른 플랫폼(예: 호스팅 서비스 또는 EC2 인스턴스)으로 오프로드하여 빠르고 가벼운 애플리케이션을 설계해야 합니다.
- 더 많은 언어들이 곧 출시될 예정입니다!하지만 구글은 그것을 말하지 않을 것입니다 :-).내 돈은 다음 자바에 있습니다.
이 질문은 완전히 답을 얻었습니다.좋아요.하지만 한 가지는 언급할 가치가 있습니다.구글 앱 엔진에는 이클립스 아이디어를 위한 플러그인이 있어 함께 일하는 것이 즐겁습니다.
만약 당신이 이미 일식으로 개발을 한다면 당신은 그것에 대해 매우 행복할 것입니다.
구글 앱 엔진의 웹 사이트에 배포하기 위해 제가 해야 할 일은 비행기 로고가 있는 작은 버튼 하나를 클릭하는 것입니다.
sql 게임을 보세요, 그것은 매우 안정적이고 실제로 한 시점에서 트래픽 제한을 밀어서 구글에 의해 통제되고 있었습니다.저는 앱 엔진에 대해 다른 사람이 완전히 제어하는 서버에서 당신의 앱을 호스팅하는 것 외에는 좋은 소식밖에 보지 못했습니다.
저는 GAE를 사용하여 일부 매개 변수, 형식 및 이메일 전송을 허용하는 간단한 애플리케이션을 구축했습니다.그것은 매우 간단하고 빠릅니다.또한 GAE 데이터스토어 및 memcache 서비스(http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html )에 대한 몇 가지 성능 벤치마크도 만들었습니다.그렇게 빠르지는 않습니다.저의 의견은 GAE는 특정한 방법론을 강요하는 진지한 플랫폼이라고 생각합니다.저는 그것이 단순히 나쁜 관행이 허용되지 않는 진정한 확장 가능한 플랫폼으로 진화할 것이라고 생각합니다.
저는 제 플래시 게임 사이트인 Bearded Games에서 GAE를 사용했습니다.GAE는 좋은 플랫폼입니다.저는 예전 PHP보다 훨씬 쉬운 장고 템플릿을 사용했습니다.훌륭한 관리 패널과 함께 제공되며 로그가 매우 유용합니다.데이터스토어는 MySQL과 같은 데이터베이스와는 다르지만 작업하기가 훨씬 쉽습니다.사이트를 구축하는 것은 쉽고 간단했으며 사이트에 도움이 되는 조언을 많이 해주었습니다.
저는 GAE와 장고를 사용하여 페이스북 애플리케이션을 구축했습니다.저는 장고 1.1을 지원하기 때문에 http://code.google.com/p/app-engine-patch 을 출발점으로 사용했습니다.저는 관리자를 사용하려고 하지 않았습니다.py 명령어는 작동하지 않을 것이라고 생각했기 때문에 검색조차 하지 않았습니다.이 애플리케이션은 3개의 모델로 구성되어 있었고 또한 파이페이스북을 사용했습니다. 하지만 그것이 복잡함의 정도였습니다.저는 http://brianyamabe.com 에서 블로그를 시작하는 훨씬 더 복잡한 애플리케이션을 만드는 중입니다.
언급URL : https://stackoverflow.com/questions/110186/feedback-on-using-google-app-engine
'programing' 카테고리의 다른 글
Google Play Services Library 업데이트 및 누락 기호 @integer/google_play_services_version (0) | 2023.08.17 |
---|---|
Flexbox가 가로 세로 비율을 유지하는 대신 이미지를 확장하는 이유는 무엇입니까? (0) | 2023.08.17 |
jQuery.jax()를 사용하여 이미지를 가져와 base64로 디코딩합니다. (0) | 2023.08.12 |
java.lang.reflect를 가져오는 중입니다.Proceeding JoinPoint의 메서드? (0) | 2023.08.12 |
심포니 4와 교리:경고: 쿼리 패킷을 보내는 동안 오류가 발생했습니다.PID=2989 (0) | 2023.08.12 |