programing

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

nasanasas 2020. 9. 10. 07:56
반응형

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


나는 이것을 매우 일반적인 의미로 요구하고 있습니다. 클라우드 공급자와 클라우드 소비자의 관점에서. 또한 질문은 특정 유형의 애플리케이션에 대한 것이 아닙니다 (사실 의도는 어떤 유형의 애플리케이션 / 도메인이 어떤 클라우드 슬랩 -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와 같은 애플리케이션 서버로 포팅 할 수 있습니까?


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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

PaaS is great for core line of business software that supports companies' main business offering. Abstracts clients from having to deal with OS management and lets clients concentrate on the business system development - something that noone else can do for the client.


One can also take advantage of the benefits of PaaS (let's say, Google App Engine) and extend it, at times and if necessary, by pulling out some virtual machines from IaaS providers (e.g. Amazon) to do some number crunching then just send back the output to Google App Engine.

This way, you get the best of both worlds -- you can rapidly develop scalable apps in GAE, then you can always augment it by running any program you want from Amazon virtual machines.


This keeps changing, now Windows Azure also supports VM, so it is also an IaaS provider now.


Now how about Free Amazon EC2 for a year to do a better comparision. Check this out.

http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/

참고URL : https://stackoverflow.com/questions/1518594/when-should-one-use-the-following-amazon-ec2-google-app-engine-microsoft-azur

반응형