Các mô hình dịch vụ điện toán đám mây (Phần 2)
Bản tin ICT - Ngày đăng : 07:15, 04/11/2015
Nền tảng là dịch vụ
Trong loạt bài ba phần này, các ví dụ thế giới thực, đơn giản của điện toán đám mây giúp loại bỏ các nhầm lẫn xung quanh khái niệm này. Mỗi bài viết trong loạt bài này trình bày một trong ba mô hình dịch vụ: Cơ sở hạ tầng là dịch vụ, Nền tảng là dịch vụ (PaaS - Platform as a Service) và Phần mềm là dịch vụ (SaaS - Software as a Service).
Nền tảng là dịch vụ là nhóm điện toán đám mây thường gây lúng túng nhất, bởi vì rất khó nhận biết, thường bị nhầm lẫn với hoặc Cơ sở hạ tầng là dịch vụ hoặc Phần mềm là dịch vụ. Trong bài viết thứ hai của loạt bài viết ba phần này, hãy tìm hiểu điều gì làm cho PaaS độc đáo và có thể dùng nó trong doanh nghiệp của bạn như thế nào.
Nhân tố quyết định làm cho PaaS độc đáo là nó cho phép các nhà phát triển xây dựng và triển khai các ứng dụng web trên một cơ sở hạ tầng lưu trữ trên máy chủ. Nói cách khác, PaaS cho phép bạn tận dụng tài nguyên tính toán dường như vô hạn của một cơ sở hạ tầng đám mây.
Tất nhiên, cái dường như là vô hạn của các tài nguyên điện toán chỉ là một ảo ảnh, ở đây giới hạn dựa theo kích thước của cơ sở hạ tầng. Tuy nhiên, như bạn đã biết từ bài viết đầu tiên trong loạt bài này, cơ sở hạ tầng của Google được ước tính có hơn 1 triệu máy tính dựa trên x86. Ngoài ra, do cơ sở hạ tầng cho PaaS là co giãn —một khái niệm cũng được thảo luận trong Phần 1— nên có thể mở rộng đám mây để cung cấp tài nguyên máy tính nhiều hơn khi cần thiết, vì vậy ảo ảnh về nguồn tài nguyên vô hạn không phải là tưởng tượng hoàn toàn.
PaaS cho các nhà phát triển
Một hiểu lầm phổ biến đối với các nhà phát triển là điện toán đám mây chỉ áp dụng cho các nhà quản trị mạng. Nhưng sự hiểu lầm này bỏ qua nhiều khả năng mà điện toán đám mây mang lại cho các nhóm phát triển và bảo đảm chất lượng.
Hãy xem xét một vài thứ hay mơ hồ trong vòng đời phát triển phần mềm. Theo kinh nghiệm của tôi, quá trình thiết lập môi trường máy chủ sẽ lưu trữ ứng dụng Web mà nhóm phát triển đã được giao xây dựng có thể là một rắc rối lớn. Ngay cả trong các doanh nghiệp lớn nhất, thường là tài nguyên của nhà quản trị mạng duy nhất được giao cho một vài nhóm phát triển. Khi không sử dụng PaaS, việc thiết lập một môi trường phát triển hay kiểm thử thường đòi hỏi các nhiệm vụ sau đây:
- Tiếp nhận và triển khai máy chủ.
- Cài đặt hệ điều hành, các môi trường thời gian chạy, kho lưu trữ kiểm soát mã nguồn, và bất kỳ phần mềm trung gian cần thiết nào khác.
- Cấu hình hệ điều hành, các môi trường thời gian chạy, kho lưu trữ, và phần mềm trung gian bổ sung.
- Di chuyển hoặc sao chép mã hiện có.
- Kiểm tra và chạy mã để chắc chắn rằng tất cả mọi thứ hoạt động.
Đã nhiều lần, tài nguyên của nhà quản trị đã bị dàn mỏng, do đó, việc triển khai một môi trường mới có thể là một quá trình vất vả. Một vấn đề lớn khác cho các nhà phát triển ứng dụng web về cả phía máy khách lẫn phía máy chủ là sao chép các môi trường thời gian chạy tại chỗ cho các mục đích thử nghiệm của riêng bạn.
Bây giờ hãy tưởng tượng rằng bạn là thành viên của một nhóm phát triển ở đó bạn đang sử dụng PaaS. Trong tình hình như vậy, bạn sẽ có một máy ảo (VM) có chứa toàn bộ môi trường máy chủ và có thể di chuyển tới mọi nơi chỉ cần một ổ USB.
Tôi muốn chuyển sự chú ý của bạn vào ma trận khái niệm chéo được trình bày trong Phần 1 để làm tài liệu tham khảo khi tiếp tục phân tích PaaS. Ma trận này cũng được cung cấp lại trong Bảng 1.
Bảng 1. Ma trận khái niệm chéo của ba nhóm điện toán đám mây
Chuyển dịch mẫu hình | Các đặc điểm | Các thuật ngữ chính | Các lợi thế | Các bất lợi và nguy cơ | Khi nào không nên sử dụng | |
IaaS | Cơ sở hạ tầng là tài sản | Luôn độc lập về nền tảng; chia sẻ chi phí cơ sở hạ tầng và do đó làm giảm chi phí này; các thỏa thuận ở mức dịch vụ (SLA); trả tiền theo mức sử dụng, tự điều chỉnh quy mô | Điện toán lưới, điện toán tiện ích, cá thể tính toán, siêu giám sát, bùng nổ lên đám mây, điện toán nhiều bên thuê, phân lượt tài nguyên | Tránh được chi phí vốn cho phần cứng và nguồn nhân lực; giảm rủi ro lợi tức đầu tư (ROI); rào cản thấp khi tham gia vào; điều chỉnh quy mô tự động hóa và trơn tru | Năng xuất và hiệu quả kinh doanh phụ thuộc nhiều vào khả năng của nhà cung cấp; chi phí dài hạn có tiềm năng lớn hơn; sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới | Khi ngân sách vốn lớn hơn so với ngân sách hoạt động |
PaaS | Mua giấy phép sử dụng | Dùng cơ sở hạ tầng đám mây; cung cấp các phương pháp quản lý dự án nhanh | Chồng giải pháp | Triển khai phiên bản trơn tru | Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới | Không có |
SaaS | Phần mềm là tài sản (doanh nghiệp và người tiêu dùng) | Các thỏa thuận ở mức dịch vụ (SLA); giao diện người dùng do các ứng dụng máy khách nhẹ (thin-client) cung cấp; các thành phần điện toán đám mây qua các API; được ghép lỏng; theo mô đun; khả năng tương tác theo ngữ nghĩa | Máy khách nhẹ; ứng dụng khách-chủ | Tránh được chi phí vốn cho phần mềm và phát triển tài nguyên; giảm rủi ro lợi tức đầu tư (ROI); cập nhật lặp nhiều lần và trơn tru | Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới | Không có |
Các thành phần chính của PaaS
Có lẽ cách tốt nhất để hiểu PaaS là tách rời ra các thành phần chính của nó: nền tảng và dịch vụ. Bây giờ, hãy xem xét dịch vụ được cung cấp, được gọi là chồng giải pháp. Như vậy, việc cho rằng hai thành phần chính của PaaS là nền tảng điện toán và chồng giải pháp là hợp lôgic.
Để minh họa hai "thành phần" này, chúng ta hãy xem xét kỹ hơn vào các định nghĩa của chúng. Một nền tảng điện toán, dưới dạng đơn giản nhất, đề cập đến một nơi mà phần mềm có thể được khởi chạy một cách nhất quán miễn là mã đáp ứng được các tiêu chuẩn của nền tảng đó. Các ví dụ phổ biến của các nền tảng gồm có Windows™, Apple Mac OS X, và Linux® cho các hệ điều hành; Google Android, Windows Mobile®, và Apple iOS cho điện toán di động; và Adobe® AIR™ hay Microsoft® .NET Framework cho các khung công tác phần mềm. Điều quan trọng cần nhớ là không phải bạn đang nói về chính phần mềm mà là về nền tảng mà phần mềm được xây dựng để chạy trên đó. Hình 1 cung cấp một minh họa để giúp bạn hiểu được mối quan hệ này.
Hình 1. Giải thích đồ họa về mối quan hệ giữa các nhóm điện toán đám mây và các phần tử của PaaS
Bây giờ bạn đã hiểu khái niệm về nền tảng điện toán, chúng ta hãy tìm hiểu chồng giải pháp là gì. Một chồng giải pháp bao gồm các ứng dụng sẽ có mặt trong quá trình phát triển cũng như triển khai ứng dụng. Các ứng dụng này dựa vào hệ điều hành, môi trường thời gian chạy, kho kiểm soát nguồn, và phần mềm trung gian cần thiết bất kỳ khác.
Chọn một nhà cung cấp
Chồng giải pháp cũng làm cho các công ty PaaS khác xa nhau, nó là một thứ mà bạn sẽ cần phải khám phá sâu hơn trước khi quyết định nhảy lên chuyến tầu PaaS.
Dưới đây là một số những câu hỏi cơ bản mà bạn có thể muốn hỏi trước khi cam kết với một nhà cung cấp PaaS cụ thể:
- PaaS hỗ trợ các khung công tác và các ngôn ngữ nào? Lý tưởng là một PaaS nên hỗ trợ các khung công tác bất kỳ dựa trên ngôn ngữ ưa chuộng của nền tảng đó.
- Tôi có thể tạo ra bao nhiêu ứng dụng? Hầu hết các nhà cung cấp PaaS giới hạn số lượng ứng dụng mà bạn có thể xây dựng dựa trên phương án hoặc gói bạn đã đăng ký. Hãy chắc chắn rằng nhà cung cấp đưa ra một phương án hoặc gói đáp ứng các nhu cầu của bạn.
- Những loại nội dung nào được phép? Các cơ sở hạ tầng hỗ trợ chào bán PaaS thường liên quan đến khái niệm gọi là điện toán nhiều bên thuê (multi-tenant computing), ở đây nhiều "bên thuê" cùng chia sẻ "các quyền cư trú" trên một máy chủ duy nhất, được phân cách bằng các cá thể máy ảo do một trình siêu giám sát quản lý. Một nhà cung cấp PaaS có thể có những hạn chế nhất định về kiểu ứng dụng và nội dung mà bạn dự kiến lưu trữ trên máy chủ.
- Những loại cơ sở dữ liệu nào được hỗ trợ? Câu trả lời này là rất quan trọng nếu bạn có dữ liệu muốn chuyển đến như là một phần ứng dụng của bạn. Bạn phải chắc chắn rằng cơ sở dữ liệu theo đề xuất từ nhà cung cấp tương thích với định dạng mà bạn có ý định sử dụng để nhập dữ liệu của mình.
- Liệu nó có hỗ trợ SSL (HTTPS) không? Đây là một nhân tố quan trọng khác vì lý do an ninh. Bạn sẽ gặp phải các vấn đề lớn nếu bạn dự kiến thực hiện các giao dịch thông qua các ứng dụng của mình và bạn phát hiện ra rằng SSL không được hỗ trợ.
Mổ xẻ PaaS
Bây giờ khi bạn đã đi tới tận đây để tìm hiểu về PaaS, chúng ta hãy cùng khám phá xem bạn nên xem xét những tính năng nào khi so sánh các nhà cung cấp PaaS:
- Khung công tác phát triển ứng dụng. Một khung công tác phát triển ứng dụng vững mạnh được xây dựng trên công nghệ được sử dụng rộng rãi. Lý tưởng là bạn nên thận trọng với khả năng bị lệ thuộc vào nhà cung cấp ở đây. Các nền tảng mã nguồn mở như công nghệ Java™ thường là một đặt cược an toàn trong vấn đề này.
- Dễ sử dụng. Một PaaS nên đi kèm với các công cụ WYSIWYG dễ sử dụng có các tiện ích (widget) dựng sẵn, các thành phần giao diện người dùng đóng hộp, các công cụ kéo-và-thả, và hỗ trợ cho một số IDE chuẩn. Nó sẽ tạo điều kiện thuận lợi cho việc phát triển ứng dụng lặp lại, nhanh chóng.
- Các công cụ mô hình hóa quy trình nghiệp vụ (BPM). Bạn cần một khung công tác BPM mạnh mẽ cho phép bạn mô hình hóa quy trình nghiệp vụ của mình và xây dựng ứng dụng xung quanh nó.
- Khả năng sẵn sàng. Nền tảng được chọn phải có thể truy cập được và có sẵn ở bất cứ đâu, bất cứ lúc nào.
- Khả năng mở rộng. Nền tảng này phải đủ thông minh để tận dụng khả năng co giãn của một cơ sở hạ tầng bên dưới để xử lý các tải sẽ dùng ứng dụng.
- An toàn. Để chống lại có hiệu quả các mối đe dọa, nền tảng cần giải quyết được những thứ như kịch bản lệnh xuyên các trang web, phép nội xạ SQL, tấn công từ chối dịch vụ, và mã hóa luồng thông tin và làm cho nó ngấm sâu vào việc phát triển ứng dụng. Ngoài ra, nền tảng phải hỗ trợ các khả năng đăng nhập một lần cho bạn để có thể tích hợp nó với các ứng dụng tại chỗ còn lại của bạn hoặc bất kỳ ứng dụng điện toán đám mây nào khác.
- Tính hòa nhập. Nền tảng này cần cung cấp khả năng để bao gồm, nhúng, và tích hợp các ứng dụng khác đã xây dựng trên cùng nền tảng hoặc các nền tảng khác.
- Tính di động. Nền tảng này không cần quan tâm đến cơ sở hạ tầng bên dưới và cho phép các công ty di chuyển ứng dụng từ IaaS này đến IaaS khác.
- Các công cụ chuyển đổi. Để tạo điều kiện di chuyển dữ liệu dễ dàng và nhanh chóng từ di sản ứng dụng tại chỗ đến ứng dụng dựa trên nền tảng mới, các công cụ chuyển đổi nhập khẩu lớn là một phần cần thiết của bộ công cụ của nền tảng này.
- API. Để thực hiện các nhiệm vụ như xác thực người dùng và lưu trữ và lấy ra các tệp (ví dụ, các tệp và tài sản ứng dụng Web) và thậm chí đôi khi thực hiện cuộc gọi trực tiếp đến một cơ sở dữ liệu, nền tảng cần có một API có đủ tài liệu cần thiết. Điều này sẽ cho phép hoạt động nghiệp vụ của bạn có thể linh hoạt trong việc tạo và tùy chỉnh một ứng dụng phần mềm để giao tiếp với nền tảng, đáp ứng các nhu cầu cụ thể của công ty.
Quản lý sự lệ thuộc vào nhà cung cấp
Sự lệ thuộc vào nhà cung cấp có nghĩa là một khách hàng phụ thuộc vào một nhà cung cấp và không thể sử dụng nhà cung cấp khác mà không phải chịu chi phí chuyển đổi đáng kể. Cơ hội để tạo ra một môi trường hỗ trợ sự lệ thuộc vào nhà cung cấp phát sinh cùng với các công nghệ tương đối mới và ngày càng phổ biến, giống như điện toán đám mây. Ngay từ bây giờ, những tín đồ sớm đi theo điện toán đám mây phải nhận thức được họ đang tự đẩy mình tới đâu trước khi ký kết bất kỳ các thỏa thuận IaaS và PaaS dài hạn nào.
Một cách để tránh sự lệ thuộc là thông qua tiêu chuẩn hóa các API và các công nghệ nền tảng. Các tổ chức ví dụ như Simple Cloud đã bắt đầu làm việc với các nhà cung cấp mọi tầm cỡ để tham gia vào dự án mã nguồn mở này nhằm mang lại tính nhất quán với PHP trong đám mây. Để tạo ra Simple Cloud, Zend Technologies, Microsoft, IBM, và Rackspace đã cùng hợp tác với mục tiêu cung cấp một tầng trừu tượng trên nhiều nền tảng khác nhau.
Mục tiêu của Simple Cloud API là tạo ra các giao diện chung để lưu trữ tệp, lưu trữ tài liệu và các dịch vụ xếp hàng đơn giản. Điều này sẽ cho phép bạn viết các ứng dụng di động qua lại giữa các nhà cung cấp điện toán đám mây lớn. Các nhà cung cấp, những người đang đưa ra các sáng kiến như vậy để chuẩn hóa điện toán đám mây cần được khen thưởng vì làm việc này và cần được khuyến khích tiếp tục những nỗ lực ấy. Khi chọn một nhà cung cấp để cung cấp cho công ty của bạn các dịch vụ PaaS, tôi mạnh mẽ khuyến cáo nên xem xét kỹ các nhà cung cấp có hỗ trợ tiêu chuẩn hóa. Các tiêu chuẩn làm cho cuộc sống dễ dàng hơn cho tất cả chúng ta trong lĩnh vực CNTT, và quan trọng nhất, chúng tiết kiệm tiền cho doanh nghiệp.
Để giải thoát thị trường PaaS khỏi các khả năng lệ thuộc nhà cung cấp, cần có các nhà cung cấp dịch vụ hỗ trợ cùng một API bên dưới. Câu trả lời rất đơn giản: Các nhà cung cấp dịch vụ những người bám chặt vào các công nghệ độc quyền phải đồng ý hỗ trợ các sáng kiến tiêu chuẩn hóa như Simple Cloud.
Kết luận
Trong bài viết thứ hai của loạt bài ba phần này về mổ xẻ điện toán đám mây, bạn đã tìm hiểu cách mô tả và nhận biết PaaS. Bạn cũng đã tìm hiểu các câu hỏi cần đặt ra khi lựa chọn một nhà cung cấp PaaS cũng như các mối quan tâm mà bạn cần biết khi lựa chọn một nhà cung cấp, chẳng hạn như sự lệ thuộc vào nhà cung cấp. Bài viết cuối cùng trong loạt bài này sẽ đi sâu vào mổ xẻ SaaS và cho thấy cách mô tả và nhận biết nó. Bạn cũng sẽ tìm hiểu về những điều mà bạn cần phải thận trọng khi lựa chọn một nhà cung cấp SaaS để bảo vệ doanh nghiệp của bạn.
Thùy Linh
(Theo nguồn IBM)