2010-01-16 5 views
1

나는 꽤 집중적 인 프로세서 요구 사항을 가진 웹 응용 프로그램을 가지고 있습니다. 특히 저장되는 데이터의 양과 관련이 있습니다. 대량의 데이터가 들어오고 나가기 때문에 (그리고 정렬, 포맷 등), 나는 일상적으로 서버를 다운시키고있다. 문제는 대개 메모리 관련이 아닌 CPU 관련 문제이며 대량의 삽입, 업데이트 및 데이터베이스 선택으로 인해 발생합니다.Amazon EC2에서 웹 응용 프로그램의 처리 측을 호스팅하는 것이 좋습니다.

실제 프로세서 집약적 인 작업은 백그라운드에서 수행되며, 모두 스케줄 된 cron 작업을 통해 실행됩니다. 사용자가 상호 작용하는 프런트 엔드는 비교적 간단합니다.

서버를 빠르게 가동하려면 백그라운드 프로세스 속도를 상당히 늦춰야합니다. 나는 전체 애플 리케이션 유용성을 제한하기 때문에, 이것을 싫어.

이것은 EC2와 같은 무언가를위한 이상적인 후보가 될 것 같습니다. 서버에서 프런트 엔드 파일과 상호 작용을 유지하고 모든 처리 및 데이터 저장소를 클라우드에 아웃소싱합니다. 그러나 EC2에 대한 약간의 독서를 한 후에도, 이것은 생각만큼 간단하지는 않습니다. 영구 저장 장치에 대한 질문과 클라우드 컴퓨팅에 대해 "생각하는 방식을 바꾼다"는 끊임없는 제안은 저를 긴장하게 만듭니다. 그것을 듣지 만, 변화가 무엇인지에 대한 설명을 얻지 못한다.

내가 가진 것이 EC2 나 다른 유형의 시스템에 적합한 지 이해할 수 있습니까?

답변

3

공개 : 나는 EC2 팀의 전직 아마존 직원이며 현재 EC2를 사용하여 많은 프로세싱 요구를 처리하고 있습니다.

나는 이렇게 말할 것이다 : 예, EC2는 CPU 집약적 인 프로세스를 뒷받침하는 데 좋은 아이디어라고 생각합니다. "생각하는 방식이 바뀌었다"는 것을 알지 못합니다.

이유는 좋은 생각은 서버 클러스터를 시작하기위한 최소 노력 경로이기 때문입니다. "지금"나는 특별히 EC2가 아닌 의지로 기계를 돌리거나 분해 할 수있는 모든 종류의 서비스를 언급하고 있습니다. 단점은 자신의 컴퓨터를 유지 보수하는 것보다 비용이 많이 든다는 것입니다. 비용은 작업량이 적고 유연합니다 (예 : 하루 또는 한 주 동안 모든 컴퓨팅 성능 만 필요한 경우).

일반적으로 말하자면 CPU 집약적 인 데이터 처리가 필요하고 응답 성있는 인터페이스가 필요한 웹 응용 프로그램이 있다면 그 책임을 단일 컴퓨터에서 공유하고 싶지 않을 것입니다.

영구 저장소와 관련하여 저장하려는 항목에 따라 SimpleDB, S3 및 EBS를 살펴보십시오. SimpleDB는 키 - 값 저장소이고, S3은 파일 개체를 보유하고 EBS는 하드 드라이브의 EC2와 같습니다. EC2 인스턴스에 탑재하거나 분리 할 수있는 가상 저장소를 갖게됩니다. 그 중 하나가 귀하의 요구에 적합 할 것이며, 모든 인터페이스는 EC2와 매우 잘 맞습니다.

1

나는 CPU 집중적 인 목적으로 EC2를 사용했다. 나는 그것의 작은 경우에 아주 나쁜 경험이있다. 그러나 다행히 그들은 높은 CPU 시스템 (CPU 시간의 5 배 작은 인스턴스)을 두 배의 비용으로 제공합니다. 그 일은 나를 위해 꽤 괜찮아.

이제 문제는 EC2 인스턴스의 비 영구적 인 저장소입니다. 하드 디스크 데이터의 경우 영구적 인 EC2 블록을 사용할 수 있습니다.당신이 설정 MySQL 서버 (refer)와 같은 EC2 블록 수에는 mysql 또는 사용할 수있는 그들의 Amazon's Relational Database Service

그리고 EC2 시작하기 정말 쉽습니다 :

또한 볼 수있다 (이는 자동 스케일링 제공) 랙 공간의 클라우드 컴퓨팅 서비스 (http://www.rackspacecloud.com/)에서 더 많은 옵션을 찾고 있다면

관련 문제