개발자 관점에서 대규모 소셜 웹 애플리케이션에 어떤 플랫폼을 고려 하시겠습니까? 어떤 대안의 강점이라고 생각하는지에 대한 세부 정보를 제공 할 수 있다면 좋을 것입니다.
답변
GAE (Python 및 현재 Java)와 Azure에서 동일한 앱을 작성했습니다. 나는 아마도 다른 것들을 위해 둘 다 계속 사용할 것입니다. 다음은 계속 업데이트 할 몇 가지 생각입니다.
GAE를 사용해야하는 이유 :
Azure를 사용하는 이유 :
따라서 명확한 대답은 없습니다. 비용과 사용 편의성으로 인해 현재 App Engine을 기본값으로 사용하고 있습니다. 매우 MS 지향적 인 앱에는 Azure를 사용할 수 있습니다. 다운로드에는 Amazon S3를 사용하지만 애플리케이션 수준의 모든 항목을 전문가에게 맡기는 것을 선호하기 때문에 EC2를 사용하지 않을 것입니다.
답변
개발자 관계를 수행하는 App Engine 팀에서 일하고 있습니다. 그러나 이것이 내 편입니다.
그것들은 직접 비교할 수 없습니다. 어떤 앱에도 쓸 수있는 앱 세트가 있지만 각 경우마다 다른 것을 작성하게됩니다. App Engine은 파일에 쓰기, 소켓 등이 아닌 제한된 런타임 환경과 비 관계형 DBMS를 제공합니다. 그러나 그 대가로 무한정 확장 가능한 런타임 환경과 앱이 원하는만큼 확장 될 수 있다는 합리적인 수준의 확신을 얻습니다.
반면에 Azure는 약간 덜 제한된 환경을 제공하므로 더 넓은 범위의 앱을 작성할 수 있지만 더 많은 스택을 직접 구현하고 있기 때문에 더 많이 작성해야하며 확장성에 대한 보증이 훨씬 느슨합니다. .
마지막으로 AWS는 최고의 DIY 솔루션을 제공합니다. 그것들은 하드웨어와 스토리지를 제공합니다. 스택을 처음부터 빌드하고 유지 관리하고 업그레이드하는 등의 작업을 수행합니다. 규모에 맞게 작성하는 경우에만 앱의 크기가 조정됩니다. 그러나 하드웨어를 완전히 제어 할 수 있습니다.
내 조언은 다음과 같습니다. 앱이 App Engine 모델에 적합하고 소셜 네트워크 앱이 App Engine 모델 (Java 또는 Python, 선택한)에서 앱을 작성하는 것의 좋은 예가 될 수 있습니다. 더 저렴하고 확장 가능한 앱을 작성하는 것이 훨씬 쉽습니다.
앱이 GAE 모델에 맞지 않는 경우 MS 스택 용으로 작성 중인지 여부와 실행 환경에 대해 원하는 제어량에 따라 Azure 또는 AWS를 선택하십시오. 대부분의 앱이 GAE에 적합하지만 작은 부품에는 맞지 않는 경우 GAE에서 실시간 서비스를 제공하지만 S3에서 스토리지 또는 EC2에서 대량 처리와 같은 하이브리드를 고려할 수 있습니다.
답변
나를 위해, 잠금은 결정 요인입니다.
Google을 선택하면 애플리케이션이 Google에서만 작동합니다. 어느 정도 시간이 지난 후에도 만족도가 떨어지면 갇혀있는 것입니다.
MS를 선택하면 응용 프로그램은 Azure에서만 작동합니다. 같은 것.
아마존에서는 (a) 익숙한 머신과 똑같이 작동하는 가상 서버를 얻게됩니다. 만족하지 않습니까? 앱을 들고 실제 하드웨어에 설치하십시오.
답변
- .NET 개발자 인 경우 Azure로 이동하십시오.
- Python 또는 Java를 사용중인 경우 Google로 이동하십시오.
- Ruby를 사용중인 경우 Amazon으로 이동
내 개인적인 선택은 현재 Java를 사용하는 Google입니다 (대부분 .NET 인 경우에도). 비용에 대해 생각하십시오-스키마를 비교하기가 어렵습니다.
이 기사를 확인하십시오-http: //www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure
답변
거미 류의 동물처럼, 나는 편견, 구글 사람입니다. 그래서 그러나, 나는, 또한 아마존 주주있어 그 편견이 부분적으로 😉 처음을 상쇄 할 수있다. Azure 경험이 없습니다. (하지만 MSFT 주식도 보유하고 있기 때문에 다른 편견도 있습니다.).
가장 간단한 방법은 App Engine이 시스템 관리 작업이 필요하지 않은 코딩만으로 쉽게 제한없이 작업 할 수있는 기능을 제공한다는 것입니다 . AWS는 훨씬 융통성이 있지만 유연성 을 활용 하려면 실질적인 시스템 관리 작업 이 필요합니다. 결국 나는 두 번째 거미 류의 제안을 할 것입니다 : App Engine이 귀하의 요구를 충족시킬 수 있다면 절대로 가십시오. 더 많은 유연성이 필요한 경우 AWS가 갈 길입니다 (Azure의 알려지지 않은 기능이 더 잘 맞지 않는 한)-AWS와 같이 Azure가 수행 할 수있는 작업에 관계없이 AWS가 더 유연해질 것이라고 생각합니다. 필요한 OS를 선택할 수도 있습니다).
답변
방금 Azure로 작업을 시작했으며 F #에서 http://code.msdn.microsoft.com/fsharpazure 에서 할 수 있다는 인상을 받았습니다 .! 지금까지는 관리 형 방식으로 기능 프로그래밍을 사용할 수있는 유일한 클라우드 플랫폼입니다 (물론 EC2에서 Haskell 또는 Algol 68을 수행 할 수 있음). Visual Studio 통합의 품질에 깊은 인상을 받았습니다. 실제 SQL Server 인 스토리지를 사용하여 로컬 “클라우드”DevFabric을 테스트하여 업로드하기 전에 재생할 수 있습니다. GAE가 그렇게 할 수 있습니까? F # (Linux 및 OCaml에서 제공)을 사용하여 VS를 학습하는 Azure를 보면 오래 전에 MS 스택으로 전환했으면 좋겠습니다. SQL 스토리지를 생성하고 VS에서 검사하는 것은 매우 쉽습니다. 매우 편리합니다. 오픈 소스에는 일치하는 도구 세트가 없으며 사람들이 MS에게 공정한 고려를 할 시간입니다. 필자는 Mac OSX 기반 (Vista로 이중 부팅)을 계속 사용하고 있으며 직감은 Azure를 로컬로 개발할 수 있으므로 Azure 개발을위한 별도의 Vista 상자가 제공됩니다. .NET은 PowerShell, SQL 및 LINQ, C # 및 F # (내 주요 이유)과 같은 Unix 파이프 세계에서 왔을 때 정말 압도적이지만 대신 모든 것이 추가되고 학습 가치가 있음이 밝혀졌습니다. 리눅스; 모든 경우에 Azure는 시야를 넓힐 것입니다.
답변
GAE를 좋아하는만큼 현재 프로젝트에서 GAE를 통해 EC2를 사용하는 주된 이유는 전 세계 다른 지역에 위치한 데이터 센터에서 응용 프로그램의 프런트 엔드를 서비스 할 수 있어야하기 때문입니다. GAE는 한 번에 하나의 데이터 센터에서 실행됩니다. 예를 들어, 아시아 지역의 사용자가 내 응용 프로그램에서 가능한 가장 빠른 응답 시간을 위해 서버를 공격해야합니다. dns,로드 밸런서, 선택한 데이터베이스, 데이터의 하둡 처리 등을 위해 S3로 밀려 드는 독창성 관리 기능을 추가하면 EC2는 정말 매력적인 솔루션이됩니다.