Khi nào thì nên sử dụng những thứ sau: Amazon EC2, Google App Engine, Microsoft Azure và Salesforce.com?


88

Tôi đang hỏi điều này theo nghĩa rất chung chung. Cả từ nhà cung cấp đám mây và quan điểm của người tiêu dùng đám mây. Ngoài ra, câu hỏi không dành cho bất kỳ loại ứng dụng cụ thể nào (trên thực tế, mục đích là muốn biết loại ứng dụng / miền nào có thể phù hợp với loại ứng dụng / miền nào của phiến đám mây -SaaS PaaS IaaS).

Sự hiểu biết của tôi cho đến nay là:

IaaS: Phần cứng thô (Bộ xử lý, Mạng, Bộ nhớ).

PaaS: Hệ điều hành, Phần mềm hệ thống, Khung phát triển, Máy ảo.

SaaS: Ứng dụng phần mềm.

Sẽ thật tuyệt nếu Stackoverflower's có thể chia sẻ hiểu biết và kinh nghiệm của họ về khái niệm điện toán đám mây.

CHỈNH SỬA: Được rồi, tôi sẽ trình bày theo cách cụ thể hơn -

Amazon EC2: Bạn không có quyền kiểm soát lớp phần cứng. Nhưng bạn có thể chọn hình ảnh hệ điều hành, Dev Framework (.NET, J2EE, LAMP) và Ứng dụng và đặt nó trên phần cứng EC2. Bạn có thể triển khai ứng dụng được xây dựng bằng Google App Engine hoặc Azure trên EC2 không?

Google App Engine: Bạn không có quyền kiểm soát đối với phần cứng và hệ điều hành và bạn có được một Khung nhà phát triển cụ thể để xây dựng ứng dụng của mình. Bạn có thể lấy bất kỳ ứng dụng Java hoặc Python nào hiện có và chuyển nó sang GAE không? Hoặc ngược lại, các ứng dụng được xây dựng trên GAE có thể được đưa ra khỏi GAE và chuyển đến bất kỳ Máy chủ ứng dụng nào như Websphere hoặc Weblogic không?

Azure: Bạn không có quyền kiểm soát phần cứng và hệ điều hành và bạn nhận được một Khung Dev cụ thể để xây dựng ứng dụng của mình. Bạn có thể lấy bất kỳ ứng dụng .NET hiện có nào và chuyển nó sang Azure không? Hoặc ngược lại, các ứng dụng được xây dựng trên Azure có thể được đưa ra khỏi Azure và chuyển đến bất kỳ Máy chủ ứng dụng nào như Biztalk không?


2
Bạn quên Rackspace đám mây / Rackspace đám mây Servers
Phoebus

2
Đó là một câu hỏi thú vị nhưng có lẽ phù hợp hơn với ServerFault vì nó hướng nhiều hơn về cách phân phối các ứng dụng máy chủ hơn là chỉ viết một ứng dụng. Có lẽ bạn nên đăng một bài thứ hai trên SF đề cập đến bài này và thêm một liên kết từ đây đến Q tại SF. Bằng cách đó, bạn có được cái nhìn tốt hơn từ cả lập trình viên và quản trị viên hệ thống!
Wim ten Brink

@phoebus cũng CloudSigma ít được biết đến hơn nhưng rất có thể mở rộng.
AwesomeUser

Câu trả lời:


58

Câu hỏi hay! Như bạn đã chỉ ra, các dịch vụ khác nhau phù hợp với các danh mục khác nhau:

EC2 là Cơ sở hạ tầng như một dịch vụ; bạn nhận được các phiên bản VM và làm với chúng như bạn muốn. Máy chủ đám mây Rackspace ít nhiều giống nhau.

Azure, App Engine và Salesforce đều là Nền tảng như một Dịch vụ; Tuy nhiên, chúng cung cấp các cấp độ tích hợp khác nhau: Azure cho phép bạn chạy các dịch vụ nền tùy ý, trong khi App Engine được định hướng xoay quanh các tác vụ xử lý yêu cầu tồn tại trong thời gian ngắn (mặc dù nó cũng hỗ trợ hàng đợi tác vụ và các tác vụ đã lên lịch). Tôi không quá quen thuộc với dịch vụ của Salesforce, nhưng tôi hiểu rằng nó tương tự như App Engine ở một số khía cạnh, mặc dù chuyên biệt hơn cho thị trường ngách cụ thể của nó.

Các dịch vụ đám mây thuộc Phần mềm dưới dạng Dịch vụ là mọi thứ từ các phần cơ sở hạ tầng như Dịch vụ lưu trữ đơn giản của Amazon và SimpleDB cho đến các ứng dụng hoàn chỉnh như FogBugz được lưu trữ trên Fog Creek và tất nhiên, StackExchange.

Một nguyên tắc chung tốt là cung cấp càng cao cấp, bạn càng phải làm ít công việc hơn, nhưng càng cụ thể. Nếu bạn muốn một trình theo dõi lỗi, sử dụng FogBugz rõ ràng sẽ là công việc ít nhất; xây dựng một bên trên App Engine hoặc Azure là công việc nhiều hơn, nhưng cung cấp tính linh hoạt hơn, trong khi xây dựng một bên trên các máy ảo thô như EC2 thậm chí còn nhiều công việc hơn (thực tế là nhiều hơn), nhưng cung cấp tính linh hoạt hơn nữa. Lời khuyên chung của tôi là chọn nền tảng cấp cao nhất vẫn đáp ứng yêu cầu của bạn và xây dựng từ đó.


xin chào, hiện tại chúng tôi sử dụng Godaddy và arvixe nhưng chúng tôi đang có kế hoạch chuyển sang Amazon AWS hoặc Azure, tôi đọc từ đây rằng đối với AWS cần phải thay đổi nhiều mã, nhưng là một trang web bán lẻ trực tuyến, chúng tôi không muốn bất kỳ thay đổi nào trong vì nó mất thời gian, vậy trong tình huống này, bạn nên chọn hosting nào là tốt nhất?
shaijut

13

Đây là một câu hỏi tuyệt vời. Tiết lộ đầy đủ vì tôi là một phần của Azure nhưng có kinh nghiệm với những người khác.

Điểm mà tôi nghĩ Azure nổi bật so với những người khác là sự chuyển đổi nhanh chóng từ tiền thân sang đám mây. Ví dụ -

  • SQL Azure - thay đổi chuỗi kết nối, tải lên DB, bắt đầu!
  • Hàng đợi hoạt động giống như MSMQ.
  • Blobs là khá nhiều đốm màu theo bất kỳ cách nào bạn lắc chúng nhưng chúng mở rộng như điên.
  • Thành phần lưu trữ bảng tốt vì nó cung cấp khả năng mở rộng đáng kinh ngạc cho các cặp tên / giá trị - nhưng cần một số việc làm quen.
  • Service Bus là dịch vụ yêu thích của tôi bởi vì nó cho phép nhiều mô hình liên lạc. Hai điểm cuối SB đầu tiên cố gắng kết nối với nhau, nếu không thể, thì chúng định tuyến qua đám mây - giúp xử lý rất an toàn và có thể mở rộng khi tường lửa có xu hướng cản trở.
  • Danh sách kiểm soát truy cập - thường được ghép nối với xe buýt dịch vụ để đảm bảo đúng người truy cập vào những thứ phù hợp - hãy nghĩ đến SAML trên đám mây.

Tôi hy vọng rằng sẽ giúp!


8

Trải nghiệm đám mây của tôi hiện bị giới hạn ở Salesforce.com

Đối với các hoạt động kinh doanh tiêu chuẩn và tự động hóa, nó cung cấp một số tính năng đáng kể cho phép chúng tôi thiết lập và chạy ứng dụng rất nhanh chóng. Chúng tôi đặc biệt hưởng lợi từ những điều sau:

  • Bảo mật (Quản trị viên có thể kiểm soát quyền truy cập vào các đối tượng và trường)
  • Quy trình làm việc & Phê duyệt
  • Tạo giao diện người dùng tự động
  • Tích hợp báo cáo và trang tổng quan
  • Toàn bộ hệ thống (bao gồm các thay đổi tùy chỉnh của chúng tôi) có thể truy cập được qua các dịch vụ web
  • Khả năng cung cấp dữ liệu trong hệ thống thông qua các trang web công cộng (ví dụ: Thương mại điện tử)
  • Thư viện lớn các ứng dụng của bên thứ ba để giải quyết các vấn đề tiêu chuẩn

Nền tảng KHÔNG giải quyết mọi vấn đề.

Tôi sẽ không sử dụng nền tảng này để xây dựng mô hình nhà máy điện hạt nhân hoặc xây dựng twitter tiếp theo.


6

Các điểm chính của điện toán đám mây là tiết kiệm chi phí bằng cách trả tiền sử dụng và cho phép triển khai ngay lập tức các tài nguyên máy tính.

Chi phí không hoàn toàn là x số lượng xu mỗi trường hợp mỗi giờ. Các chi phí bao gồm bảo trì, phát triển, quản trị, v.v. Lợi ích to lớn của đám mây, theo suy nghĩ của tôi là giải phóng khách hàng khỏi việc phải quản lý bất kỳ thứ gì không thuộc phạm vi năng lực kinh doanh cốt lõi của họ . Nếu tôi là một doanh nghiệp bảo hiểm, tôi muốn các nhà phát triển của mình tập trung vào các vấn đề bảo hiểm của tôi để giúp giải quyết các nhu cầu về yêu cầu bồi thường, tỷ lệ của tôi, v.v. , gói dịch vụ, v.v.

Do đó, theo tôi, những lợi ích lớn nhất có được từ các dịch vụ đám mây SaaS và PaaS. Người ta chỉ nên sử dụng IaaS khi PaaS hoặc SaaS có những hạn chế nghiêm trọng đối với các nhu cầu cụ thể (tức là tôi cần cài đặt một tập hợp các thành phần COM độc quyền và Azure không hỗ trợ chúng).

SaaS phù hợp với loại ứng dụng hàng hóa không phải là lĩnh vực kinh doanh cốt lõi của khách hàng, nhưng có nhiều tiện ích hơn. Đây là các hệ thống Nhắn tin điển hình của bạn, Cổng thông tin, Kho lưu trữ Tài liệu, Hệ thống Email, CRM, Hệ thống ERP, Kế toán, v.v ... Tại sao phải sáng tạo lại bánh xe bằng cách viết của riêng bạn khi bạn có thể tùy chỉnh một sản phẩm của bên thứ ba được hỗ trợ tốt.

PaaS là ​​lựa chọn tuyệt vời cho dòng phần mềm kinh doanh cốt lõi hỗ trợ hoạt động kinh doanh chính của các công ty. Tóm tắt khách hàng khỏi việc phải đối phó với quản lý hệ điều hành và cho phép khách hàng tập trung vào việc phát triển hệ thống kinh doanh - điều mà không ai khác có thể làm cho khách hàng.


3

Người ta cũng có thể tận dụng những lợi ích của PaaS (giả sử Google App Engine) và mở rộng nó, đôi khi và nếu cần, bằng cách rút một số máy ảo từ các nhà cung cấp IaaS (ví dụ: Amazon) để thực hiện một số xử lý số sau đó chỉ cần gửi lại đầu ra cho Google App Engine.

Bằng cách này, bạn tận dụng tối đa cả hai thế giới - bạn có thể nhanh chóng phát triển các ứng dụng có thể mở rộng trong GAE, sau đó bạn luôn có thể tăng cường nó bằng cách chạy bất kỳ chương trình nào bạn muốn từ máy ảo Amazon.


Nghe có vẻ thú vị @ joemar.ct! Đó sẽ là những loại nhiệm vụ gì? Tôi có thể tìm hướng dẫn về cách làm điều đó ở đâu?
Andru

2

Điều này tiếp tục thay đổi, hiện tại Windows Azure cũng hỗ trợ VM, vì vậy nó cũng là một nhà cung cấp IaaS.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.