Amazon EC2, Google App Engine, Microsoft Azure 및 Salesforce.com은 언제 사용해야합니까?


88

나는 이것을 매우 일반적인 의미로 요구하고 있습니다. 클라우드 공급자와 클라우드 소비자의 관점에서. 또한 질문은 특정 유형의 애플리케이션에 대한 것이 아닙니다 (사실 의도는 어떤 유형의 애플리케이션 / 도메인이 어떤 클라우드 슬랩 -SaaS PaaS IaaS에 적합 할 수 있는지 아는 것입니다).

지금까지 나의 이해는 :

IaaS : 원시 하드웨어 (프로세서, 네트워크, 스토리지).

PaaS : OS, 시스템 소프트웨어, 개발 프레임 워크, 가상 머신.

SaaS : 소프트웨어 애플리케이션.

Stackoverflower가 클라우드 컴퓨팅 개념에 대한 이해와 경험을 공유 할 수 있다면 좋을 것입니다.

편집 : 좋아, 나는 그것을 더 구체적인 방식으로 넣을 것입니다-

Amazon EC2 : 하드웨어 계층을 제어 할 수 없습니다. 그러나 OS 이미지, Dev Framework (.NET, J2EE, LAMP) 및 애플리케이션을 선택하여 EC2 하드웨어에 배치 할 수 있습니다. EC2에서 Google App Engine 또는 Azure로 빌드 된 애플리케이션을 배포 할 수 있습니까?

Google App Engine : 하드웨어 및 OS를 제어 할 수 없으며 애플리케이션을 빌드하기위한 특정 Dev Framework가 있습니다. 기존 Java 또는 Python 애플리케이션을 가져와 GAE로 이식 할 수 있습니까? 또는 그 반대의 경우, GAE에 구축 된 애플리케이션을 GAE에서 꺼내 Websphere 또는 Weblogic과 같은 애플리케이션 서버로 포팅 할 수 있습니까?

Azure : 하드웨어 및 OS를 제어 할 수 없으며 애플리케이션을 빌드하기위한 특정 Dev Framework를 얻습니다. 기존 .NET 애플리케이션을 가져 와서 Azure로 포팅 할 수 있나요? 또는 그 반대의 경우, Azure에서 빌드 된 애플리케이션을 Azure에서 꺼내 Biztalk와 같은 애플리케이션 서버로 포팅 할 수 있습니까?


2
Rackspace Cloud / Rackspace 클라우드 서버를 잊어 버렸습니다
phoebus

2
흥미로운 질문이지만 서버 응용 프로그램을 작성하는 것보다 배포하는 방법에 더 가깝기 때문에 ServerFault에 더 적합 할 수 있습니다. 이 글을 참조하는 두 번째 게시물을 SF에 게시하고 여기에서 SF의 Q로 연결되는 링크를 추가해야합니다. 이렇게하면 프로그래머와 시스템 관리자 모두로부터 더 나은 시각을 얻을 수 있습니다!
Wim ten Brink

@phoebus 또한 CloudSigma 덜 알려져 있지만 매우 확장 성이있다.
AwesomeUser 2014-10-09

답변:


58

좋은 질문! 지적했듯이 다양한 제품은 다양한 카테고리에 적합합니다.

EC2는 Infrastructure as a Service입니다. VM 인스턴스를 얻고 원하는대로 수행 할 수 있습니다. Rackspace 클라우드 서버는 거의 동일합니다.

Azure, App Engine 및 Salesforce는 모두 Platform as a Service입니다. 하지만 서로 다른 수준의 통합을 제공합니다. Azure를 사용하면 임의의 백그라운드 서비스를 실행할 수있는 반면 App Engine은 단기 요청 처리기 작업을 지향합니다 (작업 대기열 및 예약 된 작업도 지원함). 저는 Salesforce의 제품에 대해별로 익숙하지 않지만 특정 틈새 시장에 더 전문화되어 있지만 일부 측면에서 App Engine과 유사하다는 것을 이해합니다.

SaaS (Software as a Service)에 속하는 클라우드 제품은 Amazon의 Simple Storage Service 및 SimpleDB와 같은 인프라 부분부터 Fog Creek의 호스팅 FogBugz 및 물론 StackExchange와 같은 완전한 애플리케이션에 이르기까지 모든 것입니다.

좋은 일반 규칙은 오퍼링 수준이 높을수록 수행해야하는 작업이 적지 만 더 구체적이라는 것입니다. 버그 추적기를 원한다면 FogBugz를 사용하는 것이 분명히 최소한의 작업 일 것입니다. App Engine 또는 Azure 위에 하나를 구축하는 것은 더 많은 작업이지만 더 많은 융통성을 제공하는 반면 EC2와 같은 원시 VM 위에 구축하는 것은 훨씬 더 많은 작업 (사실상 훨씬 더 많음)이지만 훨씬 더 다양한 기능을 제공합니다. 내 일반적인 조언은 여전히 ​​요구 사항을 충족하는 최고 수준의 플랫폼을 선택하고 거기에서 구축하는 것입니다.


안녕하세요, 현재 Godaddy와 arvixe를 사용하고 있지만 Amazon AWS 또는 Azure로 이동할 계획입니다. 여기 에서 AWS의 경우 많은 코드 변경이 필요하다는 내용을 읽었 지만 온라인 소매 사이트로서 우리는 변경을 원하지 않습니다. 코드는 시간이 걸리기 때문에이 상황에서 선택할 수있는 가장 좋은 호스팅은 무엇입니까?
shaijut

13

이것은 훌륭한 질문입니다. 나는 Azure에 부분적이지만 다른 사람들과 경험이 있으므로 전체 공개.

Azure가 다른 것보다 눈에 띄는 부분은 온 프레미스에서 클라우드로의 빠른 전환입니다. 예를 들면-

  • SQL Azure-연결 문자열 변경, DB 업로드, Go!
  • 큐는 MSMQ와 매우 유사하게 작동합니다.
  • Blob은 어떤 방식 으로든 흔들어도 거의 Blob이지만 미친 듯이 확장됩니다.
  • 테이블 스토리지 구성 요소는 이름 / 값 쌍에 대해 놀라운 확장 성을 제공하기 때문에 훌륭하지만 익숙해지는 데 약간의 시간이 걸립니다.
  • Service Bus는 다양한 통신 패러다임을 허용하기 때문에 제가 가장 좋아하는 서비스입니다. 두 개의 SB 엔드 포인트는 먼저 서로 연결을 시도하고 연결할 수없는 경우 클라우드를 통해 라우팅하므로 방화벽이 방해가 될 때 매우 안전하고 확장 가능한 처리가 가능합니다.
  • 액세스 제어 목록-일반적으로 적절한 사람이 올바른 항목에 액세스 할 수 있도록 서비스 버스와 쌍을 이룹니다. 클라우드의 SAML을 생각해보십시오.

도움이 되었기를 바랍니다.


8

내 클라우드 경험은 현재 Salesforce.com으로 제한됩니다.

표준 비즈니스 운영 및 자동화를 위해 앱을 매우 빠르게 시작하고 실행할 수있는 많은 기능을 제공합니다. 특히 다음과 같은 이점이 있습니다.

  • 보안 (관리자는 개체 및 필드에 대한 액세스를 제어 할 수 있음)
  • 워크 플로 및 승인
  • 자동 UI 생성
  • 보고 및 대시 보드 내장
  • 웹 서비스를 통해 전체 시스템 (사용자 지정 변경 포함)에 액세스 할 수 있습니다.
  • 공개 사이트 (예 : 전자 상거래)를 통해 시스템의 데이터를 사용할 수 있도록하는 기능
  • 표준 문제를 해결하기위한 대규모 타사 앱 라이브러리

플랫폼이 모든 문제를 해결하는 것은 아닙니다.

나는 플랫폼을 사용하여 원자력 발전소를 모델링하거나 다음 트위터를 구축하지 않을 것입니다.


6

클라우드 컴퓨팅의 주요 포인트는 사용료를 지불하여 비용을 절감하고 컴퓨팅 리소스를 즉시 배포 할 수 있도록하는 것입니다.

비용은 순전히 시간당 인스턴스 당 센트가 아닙니다. 비용에는 유지 보수, 개발, 관리 등이 포함됩니다. 클라우드의 큰 이점은 고객 이 핵심 비즈니스 역량의 영역에 속하지 않는 모든 것을 관리 할 필요 가 없도록 하는 것입니다 . 내가 보험업 인 경우 개발자가 청구, 요금 등의 요구 사항을 해결하는 데 도움이되는 보험 문제에 집중하기를 원합니다. 이메일 서버, 파일 서버, 문서 리포지토리 및 OS 패치 관리 문제를 처리하지 않으려 고합니다. , 서비스 팩 등

따라서 제 생각에 가장 큰 이점은 SaaS 및 PaaS 클라우드 제품에서 비롯됩니다. PaaS 또는 SaaS에 특정 요구 사항에 대한 심각한 제한이있는 경우에만 IaaS로 이동해야합니다 (예 : 독점 COM 구성 요소 집합을 설치해야하고 Azure에서 지원하지 않음).

SaaS는 클라이언트의 핵심 비즈니스 라인은 아니지만 유틸리티에 더 가까운 상용 유형의 애플리케이션에 적합합니다. 이들은 일반적인 메시징 시스템, 포털, 문서 저장소, 이메일 시스템, CRM, ERP, 회계 등입니다. 잘 지원되는 타사 제품을 사용자 정의 할 수있을 때 직접 작성하여 바퀴를 재창조하는 이유는 무엇입니까?

PaaS는 기업의 주요 비즈니스 오퍼링을 지원하는 핵심 LOB 소프트웨어에 적합합니다. 클라이언트가 OS 관리를 처리 할 필요가 없도록하고 클라이언트가 비즈니스 시스템 개발에 집중할 수 있도록합니다. 이는 다른 누구도 클라이언트를 위해 할 수없는 일입니다.


3

또한 PaaS (예 : Google App Engine)의 이점을 활용하고 필요한 경우 IaaS 제공 업체 (예 : Amazon)에서 가상 머신을 추출하여 일부 수 처리를 수행 한 다음 다시 전송하여 확장 할 수 있습니다. Google App Engine에 출력합니다.

이렇게하면 두 가지 장점을 모두 얻을 수 있습니다. GAE에서 확장 가능한 앱을 빠르게 개발 한 다음 Amazon 가상 머신에서 원하는 프로그램을 실행하여 언제든지 확장 할 수 있습니다.


@ joemar.ct 흥미 롭 네요! 어떤 종류의 작업이 될까요? 이를 수행하는 방법에 대한 자습서는 어디에서 찾을 수 있습니까?
Andru

2

이것은 계속 변경되고 있으며 이제 Windows Azure도 VM을 지원하므로 이제 IaaS 공급자이기도합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.