Thực tế về điện toán đám mây nguồn mở, Phần 1: Không phải tất cả các đám mây đều như nhau

Chọn từ vô số các nền tảng

Trưởng phòng công nghệ (CTO) của bạn muốn biết chiến lược điện toán đám mây của bạn — và muốn biết nó vào ngày mai. Có rất nhiều sự lựa chọn, với nhiều sự khác biệt và tương đồng. Bài viết này tìm hiểu một số tùy chọn cho một tổ chức muốn tận dụng sức mạnh và triển vọng của điện toán đám mây, tập trung vào công nghệ mã nguồn mở. Tìm hiểu về một số các nhà cung cấp, chẳng hạn như Amazon, Microsoft®, Google, IBM®, Aptana, Heroku, Mosso, Ning và Salesforce. Xem lại các điểm mạnh và điểm yếu tương đối của mỗi nền tảng và những kiểu công nghệ mã nguồn mở và các công nghệ độc quyền nào được hỗ trợ trên mỗi nền tảng. Tìm hiểu cách chọn nền tảng phù hợp với nhu cầu của bạn.

Michael Galpin, Kiến trúc sư phần mềm, Ludi Labs

Michael Galpin đã phát triển phần mềm Java một cách chuyên nghiệp từ năm 1998. Ông hiện đang làm việc cho eBay. Ông đã có bằng về toán học của Viện Công nghệ California.



12 07 2011

Về loạt bài này

Trong loạt bài ba phần "Thực tế về điện toán đám mây nguồn mở" này, hãy tìm hiểu cách xác định xem liệu điện toán đám mây có thể giúp bạn không và làm thế nào để lập kế hoạch chiến lược điện toán đám mây của bạn. Trong phần đầu tiên này, tìm hiểu các lợi ích của điện toán đám mây, các kiểu đám mây và những lựa chọn mức cao trong các nền tảng điện toán đám mây. Các bài báo sắp tới sẽ tìm hiểu thiết kế và phát triển với đám mây và làm thế nào để quản lý một ứng dụng trong đám mây.


Điện toán đám mây: Còn hơn cả sự cường điệu của thị trường?

Nếu bạn đã từng làm về công nghệ trong thời gian này, bạn có thể nghĩ, "Ta đã nghe về tất cả điều này trước đây chưa nhỉ ? Phải chăng điện toán đám mây chỉ là một công nghệ nữa được cường điệu quá mức" — là viên đạn bạc mới nhất được cho là sẽ giải quyết tất cả các vấn đề của bạn? Hay là còn nhiều hơn thế ? Câu trả lời là "Có" và "Có". Không phủ nhận sự cường điệu xung quanh điện toán đám mây. Bài viết này thảo luận về một số tùy chọn điện toán đám mây có sẵn, nhưng danh sách này còn xa mới hết. Nhiều nhà sản xuất đang cố gắng kiếm chác nhờ sự cường điệu này. Tuy nhiên, có những lợi ích rất thực và rõ ràng với điện toán đám mây — dù có cường điệu hay không.

Có một số khía cạnh của điện toán đám mây cần phải đề phòng trước khi bước vào đám mây. Trong bài này, hãy tìm hiểu về những lợi ích và các thách thức của điện toán đám mây.

Về điện toán đám mây

Các kiểu đám mây

Wikipedia định nghĩa điện toán đám mây là "sự phát triển và sử dụng công nghệ máy tính dựa trên Internet". Đó là một mô tả rất khái quát và nhiều kiểu dịch vụ đề xuất có thể được phân loại như điện toán đám mây. Một nhóm lớn các đề xuất dịch vụ đám mây là các biến thể của SaaS (Software as a Service - phần mềm như một dịch vụ). Ví dụ về SaaS là: các ứng dụng Web như Zoho (xử lý văn bản, bảng tính), Salesforce (CRM-Quản lý quan hệ khách hàng), SlideRocket (trình bày) hoặc các dịch vụ Web như Google Search, Yahoo! Weather (Dự báo thời tiết của Yahoo) hay PayPal. Tất cả đều là những ví dụ tuyệt vời của điện toán đám mây, nhưng chúng có thể không có ích cho một doanh nghiệp đang muốn sử dụng điện toán đám mây. Tuy nhiên, các dịch vụ này có thể bổ sung cho các kiểu điện toán đám mây khác.

Kiểu điện toán đám mây mà bạn có thể đang tìm kiếm là một kiểu cơ sở hạ tầng có lẽ được biết đến như là PaaS (Platform as a Service - Nền tảng như một dịch vụ). Một số ví dụ phổ biến nhất về PaaS là các kiểu lưu trữ dữ liệu đám mây khác nhau, như các dữ liệu không có cấu trúc với Dịch vụ lưu trữ đơn giản của Amazon (S3: Simple Storage Service) hoặc Dịch vụ tệp mở rộng của IBM (SOFS: Scale out File Service). Cả hai dịch vụ này là hệ thống tệp phân tán. S3 có khả năng truy cập thông qua một giao diện dịch vụ Web, trong khi SOFS có khả năng truy cập thông qua các giao thức tệp, chẳng hạn như NFS và FTP. Amazon cũng cung cấp lưu trữ dữ liệu có cấu trúc bằng dịch vụ SimpleDB của mình. SimpleDB cho phép dữ liệu có cấu trúc được lưu và được truy vấn thông qua một giao diện dịch vụ Web.

Điện toán chắc chắn có nhiều hơn là chỉ lưu trữ và đó là nơi mà các nền tảng điện toán đám mây xâm nhập vào. Các nền tảng cung cấp cho bạn một cách để lấy mã và thực hiện nó trên một nền tảng đám mây. Tất nhiên điều này có thể được kết hợp với lưu trữ đám mây và các dịch vụ Web đám mây. Có nhiều nền tảng có sẵn với rất nhiều lợi thế và bất lợi liên quan.

Các lợi ích

Tại sao bạn muốn chạy mã của bạn trên một nền tảng điện toán đám mây thay vì trên các máy tính riêng của bạn? Có một số lý do thực tế, đơn giản. Bạn không phải mua và cài đặt lên tất cả các máy tính đó. Nếu đó là khía cạnh duy nhất của điện toán đám mây, thì nó sẽ không khác hơn là một dịch vụ máy chủ lưu trữ. Ưu điểm chính của điện toán đám mây là có thể nhanh chóng bật và tắt các ứng dụng ("spin up") và có thể phát triển linh hoạt năng lực tính toán của bạn khi cần thiết. Ít nhất, bất kỳ nền tảng điện toán đám mây nào cũng có thể liên tục cung cấp tài nguyên điện toán càng ngày càng lớn theo yêu cầu. Một số nền tảng cũng cung cấp các nền tảng phát triển dùng chung, phổ biến trên điện toán theo yêu cầu.

Tóm lại, điện toán đám mây cho phép tổ chức của bạn nhanh chóng triển khai các ứng dụng và phát triển chúng để đáp ứng các nhu cầu của doanh nghiệp. Nghe thật tuyệt, nhưng có một số thách thức liên quan đến điện toán đám mây mà bạn nên biết.

Các thách thức

Thật dễ dàng để tập trung hoàn toàn vào các lợi ích của điện toán đám mây, nhưng có một nhược điểm: Một trong những vấn đề rõ ràng nhất với điện toán đám mây là dữ liệu được cung cấp cho ứng dụng của bạn nằm ngay trong đám mây, cùng với ứng dụng của bạn. Dữ liệu của bạn có thể rất nhạy cảm, chẳng hạn như thông tin nhận dạng cá nhân về khách hàng của bạn hoặc về các công cụ tài chính và các hồ sơ giao dịch. Bạn cũng có thể có dữ liệu không nhạy cảm nhưng lại rất có giá trị, chẳng hạn như thông tin tổng hợp về những người dùng của bạn và cách họ sử dụng ứng dụng của bạn. Với thông tin quan trọng được lưu trữ trong đám mây, bạn phải hiểu nền tảng đó có an toàn hay không.

Ai truy cập dữ liệu của bạn trong đám mây không phải là điều duy nhất cần lo lắng. Tính toàn vẹn của dữ liệu đó mới là quan trọng. Hư hỏng của máy phải được dự kiến, vì vậy điều quan trọng là dữ liệu của bạn có thể được sao lưu và phục hồi trong trường hợp có hư hỏng. Một nền tảng có cung cấp sao lưu và phục hồi dữ liệu hoặc ít nhất là làm cho nó có khả năng cho những khách hàng cần điều này không? Độ tin cậy của ứng dụng của bạn rõ ràng rất quan trọng. Những loại thỏa thuận mức dịch vụ nào được một nền tảng cụ thể cung cấp? Những câu hỏi này và những câu hỏi quan trọng khác, được tìm hiểu khi bài viết này xem xét một vài nền tảng có sẵn.

Các nền tảng

Có rất nhiều nền tảng điện toán đám mây để lựa chọn. Danh sách ở đây còn chưa đầy đủ, nhưng sẽ cho bạn một ý tưởng về những lựa chọn phổ biến hơn và những khác biệt cơ bản giữa chúng. Chúng ta sẽ chú ý đặc biệt đến các ngôn ngữ lập trình và các công nghệ nguồn mở được hỗ trợ trên mỗi nền tảng và cách mỗi nền tảng xử lý một số vấn đề hóc búa của điện toán đám mây. Để giúp chuyển hướng một danh sách lớn như vậy, người ta phân loại lỏng lẻo chúng theo các nền tảng cơ bản và các nền tảng chuyên dụng.

Các nền tảng cơ bản là những đề xuất tối thiểu — chỉ phần cứng (ảo) và có lẽ có một hệ điều hành. Chúng có xu hướng linh hoạt hơn, do chúng có ít hạn chế hơn.

Các nền tảng chuyên dụng cung cấp một số kiểu môi trường lập trình và các dịch vụ trên một nền tảng cơ bản. Các nền tảng chuyên dụng này thường đơn giản hơn và thường cung cấp một số dịch vụ duy nhất.


Các nền tảng cơ bản

Nếu bạn muốn hoàn toàn tự do để cấu hình hệ thống của bạn trong đám mây, bạn có thể cần một nền tảng cơ bản. Bạn có thể xác định một số đặc tả kỹ thuật kiểu phần cứng, chẳng hạn như kiểu bộ vi xử lý, có thể một tốc độ nhất định, với một dung lượng bộ nhớ nhất định, v.v.. Từ đó, bạn tự do tạo ra bất cứ điều gì bạn cần. Có rất nhiều thứ giống với một dịch vụ lưu trữ máy chủ, nhưng có thể lớn lên hay nhỏ đi để đáp ứng nhu cầu của bạn. Phần này bàn về bốn nhà cung cấp: Amazon, IBM, Joyent và Mosso.

Đám mây điện toán linh hoạt của Amazon

Đám mây điện toán linh hoạt (EC2: Elastic Compute Cloud) của Amazon là một trong những nền tảng điện toán đám mây đầu tiên và vẫn là một trong những nền tảng phổ biến nhất. Có một câu nói phổ biến rằng "bạn sẽ không bao giờ bị sa thải vì đi với Amazon". EC2 là một ví dụ tuyệt vời về một nền tảng cơ bản.

Các dịch vụ Web của IBM và Amazon

IBM đã hợp tác với các dịch vụ Web của Amazon để cung cấp truy cập vào phần mềm trung gian của IBM trong một môi trường điện toán ảo. Trải nghiệm với EC2 của Amazon cho phép bạn đánh giá và sử dụng phần mềm mà không cần phải cài đặt nó trên hệ thống của bạn. Bạn có thể điều chỉnh dung lượng gần như ngay lập tức, xây dựng các ứng dụng sẵn sàng cho doanh nghiệp trong một môi trường hiệu năng cao, tin cậy, ở nơi bạn chỉ phải trả tiền theo thời gian và dung lượng mà bạn sử dụng. Phần mềm trung gian của IBM cung cấp trên EC2 bao gồm:

  • DB2® Express-C V9.5
  • Informix® Dynamic Server Developer Edition V11.5 (Ấn bản nhà phát triển máy chủ động Informix® phiên bản V11.5).
  • WebSphere® Portal Server (Máy chủ cổng thông tin WebSphere) và Web Content Management Lotus Standard Edition (Ấn bản tiêu chuẩn Lotus quản lý nội dung Web).
  • WebSphere sMash.

Mã nguồn mức sản phẩm có tất cả các tính năng và tùy chọn được phép. Hãy tìm hiểu thêm thông tin và tải về AMI cho các sản phẩm này. Xem Cloud Computing trên developerWorks với nhiều tài nguyên hơn.

Để bắt đầu làm việc với EC2, bạn cần một AMI (Amazon Machine Instance – Cá thể Máy của Amazon). Một AMI là một hình ảnh máy đầy đủ, có hệ điều hành, các ứng dụng, v.v.. Có nhiều AMI phổ biến có sẵn từ Amazon và cộng đồng EC2, cho cả Microsoft Windows® hoặc Linux®, cùng với các bộ phần mềm nguồn mở khác nhau, chẳng hạn như Apache Web server (máy chủ Web của Apache), MySQL và trình thông dịch Python. Nếu bạn không tìm thấy một AMI phù hợp với nhu cầu của bạn, Amazon cung cấp các công cụ để tạo AMI riêng của bạn để bạn có thể riêng tư hoặc chia sẻ với cộng đồng.

Một AMI có thể được triển khai thành một "cá thể" có các kích thước khác nhau. Khi bài viết này, một thực thể nhỏ chỉ có một lõi 1-GHz với 1,7 GB bộ nhớ và dung lượng đĩa cứng là 160 GB. Ở đầu kia của dải phổ là một cá thể siêu lớn với bốn lõi đang chạy ở tốc độ 2 GHz cho mỗi lõi, 15 GB bộ nhớ và dung lượng đĩa cứng là 1,6 TB. Ngoài ra còn có nhiều kích thước chuyên dụng được thiết kế cho các tác vụ tính toán mạnh mẽ. Bạn chỉ cần chọn kích thước bạn cần và triển khai AMI của bạn. Tất cả việc quản trị và kiểm soát cá thể của bạn được thực hiện thông qua các dịch vụ Web. Một hệ sinh thái lớn đã phát triển xung quanh các dịch vụ Web này để làm cho nó quản lý các cá thể của EC2 dễ dàng hơn. Ví dụ, có một phần mở rộng của Firefox được gọi là Elasticfox có thể được sử dụng để quản lý và khởi chạy các AMI trực tiếp từ Firefox.

EC2 được trang bị phần mềm ảo hóa Xen nguồn mở. Với EC2, bạn có thể chạy hầu như bất kỳ loại phần mềm nào mà bạn muốn. Các hương vị khác nhau của Linux thường được sử dụng làm hệ điều hành cho các AMI. Bất cứ ngôn ngữ lập trình bạn muốn đều có sẵn: ngôn ngữ lập trình Java™, PHP, Python, v.v.. Có thể sử dụng phần mềm sở hữu độc quyền trên EC2, nhưng tính chất linh hoạt của EC2 làm cho phần mềm nguồn mở rất hấp dẫn. Bạn không cần phải quan tâm về việc cấp giấy phép khi bạn sử dụng các thực thể lớn hơn hoặc nhiều hơn.

Amazon cung cấp một loạt các dịch vụ cơ sở hạ tầng đi cùng với EC2, bạn có thể sử dụng các dịch vụ đó để giải quyết các vấn đề như độ tin cậy và sao lưu dữ liệu. Dịch vụ S3 của Amazon là một lựa chọn tuyệt vời để sao lưu dữ liệu của bạn. Nó gần như là một mô hình tự bạn thực hiện nó. Việc quản trị và truy cập vào các đám mây Amazon được thực hiện duy nhất thông qua các dịch vụ Web của nó với yêu cầu xác thực hai nhân số.

Đám mây màu Xanh dương của IBM

Khi Amazon đầu tiên bước vào điện toán đám mây, nhiều người rất ngạc nhiên. Còn khi IBM đi vào lĩnh vực này, chẳng ai ngạc nhiên cả. Đám mây màu Xanh dương (Blue Cloud) đã được công bố vào cuối năm 2008 và hứa hẹn sẽ cung cấp tất cả các cơ sở của điện toán đám mây. Khách hàng có thể chọn từ phần cứng x86 phổ biến hơn hoặc phần cứng cao cấp hơn dựa trên POWER®. Blue Cloud sử dụng phần mềm Tivoli® của IBM cho các hệ thống tự động cung cấp các dung lượng khác nhau (CPU/RAM/đĩa), cho phép tổ chức của bạn có cơ hội sử dụng năng lực điện toán khổng lồ — nhưng chỉ phải trả tiền cho nó khi cần thiết. IBM cũng đang đi tiên phong trong lĩnh vực các đám mây "riêng tư", mang những lợi ích của điện toán đám mây đến cho các ứng dụng nội bộ, bên trong tường lửa.

Blue Cloud của IBM là một công nghệ mới nổi, do đó bạn nên kiểm tra các thông tin mới nhất về các kiểu công nghệ nào được nó hỗ trợ. IBM là một trong những người ủng hộ lớn nhất của công nghệ nguồn mở, làm cho IBM trở thành một sự lựa chọn hấp dẫn cho các ứng dụng sử dụng nhiều công nghệ nguồn mở.

Máy gia tốc Joyent

Joyent có thể không phải là một cái tên quen thuộc mà ai cũng biết như Amazon hay IBM, nhưng đã nhanh chóng có được một danh tiếng ấn tượng là một nhà cung cấp nền tảng điện toán đám mây cho những khởi đầu dựa vào Web. Máy gia tốc Joyent (Joyent Accelerator) mang lại cho bạn nhiều linh hoạt của các nhà cung cấp lưu trữ trên máy chủ truyền thống, nhưng lại có giải pháp điện toán theo yêu cầu cho điện toán đám mây. Với nó, bạn có thể nhanh chóng cho chạy một thực thể hoàn chỉnh với PHP, ngôn ngữ Java hoặc Ruby on Rails được cấu hình sẵn và sẵn sàng sử dụng. Bạn chọn bao nhiêu công suất tính toán theo yêu cầu. Tất cả mọi thứ đang chạy trên OpenSolaris, vì vậy bạn có thể sử dụng tất cả các công cụ thông thường để truy cập và quản lý các tài sản được triển khai với nó, như SSH và FTP.

Điện toán đám mây của Joyent được thiết kế với suy nghĩ về khả năng mở rộng. Ngay hầu hết các đề xuất có giá phải chăng nhất của nó được thiết kế để xử lý nhưng bùng phát trong sử dụng. Điều này đã làm Joyent rất phổ biến cho các tổ chức đang tạo ra các ứng dụng Facebook thường không cần nhiều sức mạnh, nhưng có thể trải qua nhưng đột biến đáng kể trong sử dụng.

Với Joyent, bất kỳ công nghệ nào tương thích với OpenSolaris đều được hỗ trợ. Điều này bao gồm bất kỳ trong các công nghệ LAMP nguồn mở và các ngôn ngữ lập trình và các ngôn ngữ lập trình khác như các ngôn ngữ Java và Ruby. Joyent cho phép bạn sử dụng bất kỳ các công cụ Linux hoặc UNIX® hiện có nào có sẵn để đảm bảo và duy trì trang Web và dữ liệu của bạn.

Mosso

Mosso, một chi nhánh của nhà cung cấp lưu trữ máy chủ nổi tiếng The Cloud Rackspace, có một vài đề xuất khác trong điện toán đám mây. Cloud Sites (Các trang Web đám mây) của Mosso lựa chọn con đường giữa nền tảng cơ bản và nền tảng chuyên dụng. Có sẵn hai cấu hình Cloud Sites cơ bản. Một do phần mềm nguồn mở cung cấp. Đây là bản cài đặt LAMP cổ điển. Cấu hình khác là một Máy chủ Windows (Windows Server) với máy chủ Web IIS và cơ sở dữ liệu SQL Server. Bạn chọn cấu hình và trả tiền thuê băng thông, lưu trữ và tốc độ CPU khi cần.

Mosso đã thông báo rằng họ cũng sẽ cung cấp một sản phẩm mới có tên là Cloud Servers (Các máy chủ đám mây), đó sẽ là các hệ thống Linux, nhưng sẽ cho phép linh hoạt hoàn toàn trong cấu hình của chúng. Cloud Sites của Mosso rất phổ biến, vì chúng cung cấp các khối xây dựng cơ bản cần thiết cho nhiều ứng dụng. Bạn có thể mô tả chúng như là một nền tảng chuyên dụng cơ bản. Với ý nghĩ đó, phần tiếp theo xem xét những nền tảng chuyên dụng hơn đang có sẵn.


Các nền tảng chuyên dụng

Thuật ngữ "chuyên dụng" rõ ràng là hơi chủ quan. Chính xác là cái gì tạo ra một nền tảng điện toán đám mây chuyên dụng? Tất cả các nền tảng trong phần này cung cấp các tính năng bổ sung thêm trên các nền tảng cơ bản đã mô tả ở trên. Đôi khi, các tính năng này là những môi trường phát triển duy nhất, đôi khi, chúng là các dịch vụ tăng thêm được tích hợp trong nền tảng; và đôi khi, chúng là các tính năng thuận tiện. Phần này tìm hiểu những nền tảng chuyên dụng sau đây: Microsoft Azure, Google App Engine, Aptana Cloud, Heroku, Ning và Salesforce.

Azure của Microsoft

Nền tảng Azure được Microsoft công bố trong quý IV năm 2008. Nền tảng này được gắn với hệ điều hành của Microsoft, hệ điều hành này là một nhánh chuyên dụng của Windows. Nó bao gồm một "tầng siêu giám sát" để cung cấp động các cá thể máy. Nền tảng Azure được thiết kế để chạy bất kỳ ứng dụng. NET nào. Tất nhiên, các ứng dụng .NET dựa trên máy chủ sẽ là lựa chọn tự nhiên để di chuyển sang đám mây này. Microsoft đã bắt đầu cung cấp nhiều sản phẩm dựa trên máy chủ của mình, chẳng hạn như Exchange, chạy trong đám mây trên Azure.

Tuy nhiên, Azure là không chỉ là nền tảng Windows và .NET. Nền tảng Azure cũng cung cấp nhiều dịch vụ khác, bao gồm cả SQL Services (Các dịch vụ SQL), là một cơ sở dữ liệu máy chủ SQL có khả năng mở rộng cao và Live Services, là các dịch vụ Web trong nhiều ứng dụng phổ biến của Microsoft để tìm kiếm, chia sẻ hình ảnh, truyền thông báo tức thời, v.v.. Azure cũng cung cấp sự tích hợp chặt chẽ với IDE của Microsoft's IDE, Visual Studio®, làm cho nó dễ dàng chạy, thử nghiệm và triển khai các ứng dụng cho nền tảng Azure.

Azure là một trong những nền tảng đám mây độc quyền nhất hiện có, nhưng có một số sức hấp dẫn rõ ràng nếu bạn đã sử dụng các công nghệ độc quyền của Microsoft. Bạn bị hạn chế với các công nghệ độc quyền của Microsoft, chẳng hạn như các ngôn ngữ .NET và một cơ sở dữ liệu dựa trên máy chủ SQL. Có thể sử dụng nhiều công nghệ Windows để bảo vệ truy cập và quản lý bất kỳ ứng dụng nào đang chạy trên Azure.

Máy ứng dụng của Google

Máy ứng dụng (App Engine) được Google khởi chạy trong quý II năm 2008, hơi khác một chút so với nhiều nền tảng điện toán đám mây khác. Không có việc cung cấp phần cứng nào trên nó; bạn chỉ cần triển khai các ứng dụng của bạn lên đó — bạn có thể thực hiện việc này miễn phí. Tuy nhiên, cách dùng của App Engine bị chặn lại và bạn có thể mua thêm quyền sử dụng CPU, dung lượng lưu trữ và băng thông khi cần, tương tự như các nền tảng điện toán đám mây khác. Có một số tính năng thuận tiện cho Google App Engine, nhưng đó chỉ là khởi đầu của bộ tính năng chuyên dụng của nó.

Máy ứng dụng của Google cung cấp một môi trường phát triển mạnh mẽ chỉ hỗ trợ Python. Nó cung cấp nhiều dịch vụ trên Python. Việc quản lý người dùng được tích hợp với Google. Ví dụ, người đăng nhập vào ứng dụng của bạn có chính các ủy quyền mà họ đã sử dụng để đăng nhập vào Google Mail. Có một API kho lưu trữ dữ liệu để lưu trữ dữ liệu có cấu trúc. Việc lưu trữ và lấy ra từ kho lưu trữ dữ liệu cũng tương tự như cách sử dụng một cơ sở dữ liệu quan hệ, nhưng chúng hoàn toàn thuộc sở hữu độc quyền của Google. Nó dựa vào hệ thống tệp được phân tán độc quyền của Google, GFS.

Tóm lại, Google chỉ hỗ trợ Python, đó là nguồn mở, còn mọi thứ khác có liên quan thực sự là sở hữu độc quyền (mặc dù Google có thể sử dụng nhiều công nghệ nguồn mở ở sau hậu trường). Máy ứng dụng của Google không cung cấp bất kỳ loại giải pháp sao lưu dữ liệu nào, mặc dù kho lưu trữ dữ liệu bên dưới được thiết kế có khả năng chịu lỗi cao.

Đám mây của Aptana

Mọi người có thể biết đến Aptana thông qua sản phẩm Aptana Studio của họ. Aptana Studio là một IDE dựa trên Eclipse để làm việc với ngôn ngữ lập trình động, chẳng hạn như JavaScript, PHP, Python và Ruby. Aptana công bố nền tảng đám mây của mình trong quý II năm 2008. Aptana Cloud (Đám mây của Aptana) thực sự là một bộ các tính năng trên nền tảng điện toán đám mây từ Joyent.

Với Aptana Cloud, bạn có thể dễ dàng triển khai vào một môi trường Linux hay MySQL với PHP hoặc Jaxer, triển khai thực hiện JavaScript phía máy chủ của Aptana hoặc Ruby on Rails. Việc triển khai Aptana Cloud có tất cả các đặc điểm của bất kỳ việc triển khai Joyent Accelerator nào, nhưng có thêm các tính năng bổ sung từ Aptana. Aptana Studio quản lý trực tiếp việc triển khai và quản lý các ứng dụng điện toán đám mây. Tất cả mọi thứ từ cung cấp phần cứng cho ứng dụng của bạn đến theo dõi các tệp ghi nhật ký (log) có thể được thực hiện từ Aptana Studio. Với Aptana, bạn nhận được một mức thuận tiện chưa từng có. Việc phát triển, thử nghiệm, triển khai và quản lý tất cả được xử lý ở một chỗ.

Aptana thừa hưởng rất nhiều sự hỗ trợ cho các công nghệ và lập trình nguồn mở từ Joyent. Nó cũng thừa hưởng việc tạo công cụ nguồn mở cho việc quản lý và sao lưu. Rất nhiều khía cạnh quản lý được tích hợp vào Aptana Studio, nhưng nhiều hệ thống tinh vi hơn cũng có khả năng.

Heroku

Bạn có thể hỏi rằng "Máy ứng dụng của Google theo Python có vai trò gì, thì Y-Combinator khởi động Heroku theo Ruby on Rails cũng có vai trò như vậy". Nhưng điều đó không công bằng với Heroku. Heroku không chỉ là một nền tảng đám mây có sẵn Ruby on Rails ở đó. Heroku chỉ hỗ trợ Rails, và, như vậy, nó bị biến đổi nhiều theo Rails. Với Heroku, bạn chỉ cần thêm Ruby gem (N.D: gem là chương trình dùng để quản lý –cài đặt, gỡ bỏ cài đặt, cập nhật…- các thư viện cho Ruby) vào thiết lập cục bộ của bạn và ngay lập tức bạn có thể đưa ra các lệnh triển khai và chạy ứng dụng của bạn trên đám mây Heroku. Ngoài ra, bạn có thể triển khai từ một kho lưu trữ Git. Bạn thậm chí có thể truy cập và chỉnh sửa trực tiếp mã của bạn từ trình duyệt Web. Bạn có thể sử dụng bất kỳ Ruby gem hoặc trình cắm thêm (plug-in) Rails nào mà bạn cần cho ứng dụng của mình.

Heroku hoàn toàn tiện lợi. Nó chạy trên Amazon EC2, do đó khả năng tính toán có thể được mở rộng một cách linh hoạt. Heroku cung cấp các dịch vụ miễn phí với Heroku Garden (Vườn Heroku) của mình. Ở đó bạn có thể triển khai và thử nghiệm miễn phí các ứng dụng của bạn trong đám mây . Một khi bạn sẵn sàng tiếp nhận lưu lượng cao hơn hoặc yêu cầu chịu lỗi nhiều hơn, bạn có thể nâng ứng dụng của bạn vào nền tảng Heroku chính.

Ning

Các nền tảng điện toán đám mây được thảo luận trong bài viết này đến nay đều khá đa năng. Bất kể ứng dụng của bạn là gì, chúng đều có thể xử lý nó. Một số trong chúng được tập trung vào các ứng dụng Web, nhưng đó vẫn còn là một sự phân loại khá chung chung. Trang Web phổ biến Ning cho phép người dùng tạo ra các mạng xã hội riêng của mình. Điều này thường thông qua cấu hình thuần túy, thêm các trang, thêm tiện ích vào các trang, cấu hình các tiện ích, v.v. Với Ning, bạn cũng có thể tải về mã nguồn mạng của bạn, sửa đổi nó cho phù hợp với bạn và chạy nó trên các đám mây Ning. Mã mạng là PHP đơn giản, vì vậy đó là tất cả mọi thứ bạn cần biết để bắt đầu tạo ứng dụng nối mạng xã hội riêng của bạn.

Ning giống như Máy ứng dụng của Google ở chỗ nó cung cấp một API kho lưu trữ dữ liệu thay vì một cơ sở dữ liệu quan hệ. Nó cũng đưa ra nhiều API Ning để cung cấp truy cập vào các cơ sở hạ tầng nối mạng xã hội. Bạn có thể triển khai bằng cách chỉ cần tải lên mã của mình và có cung cấp phần cứng. Ning kiếm tiền khi lưu hành mạng của bạn với các quảng cáo và bằng cách khống chế dung lượng lưu trữ và băng thông của bạn. Bạn có thể loại bỏ các quảng cáo và thêm dung lượng lưu trữ và khả năng băng thông nhiều hơn với một khoản phí.

Ning rõ ràng là một nền tảng đám mây rất chuyên dụng. Tuy nhiên, nếu bạn có kế hoạch xây dựng các tính năng nối mạng xã hội trong ứng dụng của bạn (ngay cả khi chúng chỉ phụ trợ cho các tính năng chính) và bạn cảm thấy thoải mái với việc lập trình bằng PHP, Ning có thể là một tùy chọn rất hấp dẫn. Ning tương tự như Máy ứng dụng của Google. Bạn chỉ có một sự lựa chọn về ngôn ngữ lập trình (PHP) và không thể chỉ cần cài đặt phần mềm bổ sung khi cần thiết. Tuy nhiên, bạn có thể sử dụng một hệ thống có khả năng mở rộng cao nhưng là hệ thống độc quyền.

Salesforce

Nền tảng điện toán đám mây rất chuyên dụng khác có sẵn từ Salesforce, vốn đã nổi tiếng với cuộc cách mạng hóa phần mềm Quản lý quan hệ khách hàng (CRM) nhờ sử dụng một mô hình SaaS. Với nền tảng Force.com, bạn có thể tạo các ứng dụng riêng của mình để chạy trên cùng một kiểu cơ sở hạ tầng điện toán đám mây được Salesforce sử dụng cho ứng dụng Quản lý quan hệ khách hàng của mình. Các doanh nghiệp sử dụng AppExchange để tìm và "cài đặt" các ứng dụng này làm cho chúng có sẵn cho những người dùng của chúng. Điều này cũng tương tự như các ứng dụng của Facebook, ở đó ứng dụng chạy liên tục như một phần của các ứng dụng Salesforce chính.

Ngoài ra, một trang Web Force.com tùy chỉnh có thể được tạo ra ở ngoài một hoặc nhiều ứng dụng. Điều này rất giống như các mô hình điện toán đám mây. Với một trang Web Force.com, bạn không phải trả tiền cho phần cứng, nhưng, thay vào đó, bạn phải trả tiền cho số lượng người dùng. Cũng có nhiều mức giá khác nhau tùy thuộc vào mỗi người dùng cần dung lượng lưu trữ bao nhiêu. Để tạo một ứng dụng chạy trên Salesforce, bạn lập trình bằng Apex, đây là một ngôn ngữ độc quyền tương tự như ngôn ngữ lập trình Java. Cũng chính ngôn ngữ này được các kỹ sư Salesforce sử dụng để tạo ra các ứng dụng Quản lý quan hệ khách hàng của họ.

Salesforce cũng cung cấp nhiều dịch vụ đặc trưng cho nền tảng để quản lý người sử dụng, các tài khoản, các vai trò và truy cập dữ liệu. Đối với các ứng dụng doanh nghiệp, đặc biệt là các ứng dụng duy nhất cho một doanh nghiệp cụ thể, trang Web Force.com có thể là một lựa chọn hấp dẫn. Salesforce là khá hạn chế trong các tùy chọn công nghệ và lập trình nguồn mở. Nhưng, cũng như Máy ứng dụng của Google và Ning, Salesforce cung cấp công nghệ độc quyền có khả năng mở rộng cao.


Tóm tắt

Bài viết này tìm hiểu một số lợi ích quan trọng của điện toán đám mây. Bạn đã tìm hiểu về một loạt các nền tảng điện toán đám mây và về chúng giống nhau và khác nhau như thế nào. Thông tin này sẽ giúp bạn chọn những loại nền tảng nào có ý nghĩa cho tổ chức của bạn.

Hãy chờ các bài viết sắp tới trong loạt bài "Thực tế về điện toán đám mây nguồn mở", trong đó sẽ xem xét làm thế nào để phát triển, triển khai và quản lý các ứng dụng trên một nền tảng điện toán đám mây.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở
ArticleID=732165
ArticleTitle=Thực tế về điện toán đám mây nguồn mở, Phần 1: Không phải tất cả các đám mây đều như nhau
publish-date=07122011