1. Trang chủ
  2. » Luận Văn - Báo Cáo

Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE

102 553 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 102
Dung lượng 2,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Theo dự báo của Công ty dữ liệu quốc tế IDC, những ứng dụng dịch vụ đám mây sẽ đạt tỷ lệ tăng trưởng hàngnăm khoảng 37%, cao gấp khoảng 5 lần mô hình sử dụng các dịch vụ truyền thống.Với

Trang 1

Trường Đại Học Công Nghệ Thông Tin

BÁO CÁO HỌC PHẦN

ĐỀ TÀI:

Trang 2

GVHD: PGS.TS Nguyễn Phi Khứ

Thực hiện: Nguyễn Văn Sang - CH1101128

Nguyễn Thị Phương Trang - CH1101050

TP.HCM – 07/2013

Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6

Trang 3

-2-LỜI MỞ ĐẦU



Ngày nay điện toán đám mây đã đóng một vai trò hết sức quan trọng trong cuộcsống Cùng với tính phổ biến và sự kỳ vọng cao, người ta đã có thể xếp điện toán đámmây vào vị trí thứ 5 sau nước, không khí, điện và điện thoại Với điện toán đám mây tất

cả các nguồn tài nguyên (phần cứng hay phần mềm) đều có thể được chia sẻ, phục vụmột cách đơn giản và nhanh nhất theo nhu cầu của người dùng thông qua mạng Trongkhi đó, điện toán lưới ngày nay lại ít được quan tâm và nổi trội hơn điện toán đám mây

Để giải thích cho điều này, một phần là do điện toán lưới khá cồng kềnh, đắt giá khi đặcthù của nó thường phải tập trung giải quyết các bài toán phức tạp đòi hỏi những nănglực tính toán mạnh mẽ trong một số lĩnh vực khoa học chuyên sâu như toán học, vật lýlượng tử, xử lý ảnh từ vệ tinh, phân tích địa chấn, dự báo kinh tế, …

Tuy nhiên cũng không thể chối được vai trò của điện toán lưới trong việc phục vụcho khoa học và những vấn đề xã hội toàn cầu khi mà ở đó điện toán đám mây tỏ ra lúngtúng để giải quyết một số vấn đề

Trong phạm vi bài báo cáo này, nhóm chúng em tìm hiểu vai trò của điện toán lướiđối với điện toán đám mây, trình bày những khái niệm có liên quan và thông qua một sốvấn đề chính để thấy được mối liên hệ của điện toán lưới và điện toán đám mây Cácphần tiếp theo, chúng em tìm hiểu để về Google App Engine (GAE) có thể phát triểnứng dụng web dựa trên nền của Google – nền tảng như một dịch vụ (Platform as aService) của điện toán đám mây

Nhân đây, chúng em cũng xin gửi lời cảm ơn chân thành đến PGS.TS Nguyễn PhiKhứ, người đã tận tình giảng dạy và truyền đạt những kiến thức bổ ích trong lĩnh vựccông nghệ thông tin nói chung và bộ môn Tính toán lưới nói riêng để giúp chúng emhoàn thành tốt bài luận này

Trang 4

Mặc dù chúng em đã cố gắng hoàn thành bài báo cáo nhưng trong phạm vi thời gian

và khả năng cho phép, chắc chắn không tránh khỏi những thiếu sót nhất định Chúng emkính mong nhận được sự góp ý của quý Thầy Cô và sự góp ý của các bạn

Thân mến!

Nhóm báo cáo

Trang 5

LỜI MỞ ĐẦU 2

DANH SÁCH CHỮ VIẾT TẮT 8

CHƯƠNG 1: GIỚI THIỆU 9

CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN TOÁN ĐÁM MÂY 11

2.1 Khái niệm cơ bản của điện toán lưới và điện toán đám mây: 11

2.1.1 Các khái niệm cơ bản của điện toán đám mây 11

2.1.2 Khái niệm cơ bản của Điện toán đám mây: 17

2.1.3 Sự tương tác giữa mô hình điện toán lưới và điện toán đám mây 28

2.1.4 Điện toán phân tán trong điện toán lưới và điện toán đám mây 29

2.2 Các mô hình được phân lớp và các mẫu sử dụng trong trong điện toán lưới và điện toán đám mây 30

2.2.1 Cơ sở hạ tầng (Infrastructure) 31

2.2.2 Platform 33

2.3 Kỹ thuật 36

2.3.1 Định hướng dịch vụ và dịch vụ web 36

2.3.2 Quản lý dữ liệu (Data Management) 39

2.3.3 Sự giám sát 42

2.3.4 Điện toán tự trị (Autonomic Computing) 46

2.3.5 Khả năng tương tác ở Grid và Cloud 49

2.3.6 Bảo mật và quản lý người dùng 52

2.4 Tổng kết chương 2 56

Trang 6

CHƯƠNG 3 TÌM HIỂU VỀ GOOGLE APP ENGINE 58

3.1 Giới thiệu về Google App Engine 58

3.2 Các thành phần của GAE 58

3.2.1 Môi trường thực thi 58

3.2.2 Kho dữ liệu (Datastore) 61

3.2.3 Các dịch vụ 61

3.2.4 Các hàng đợi tác vụ và lập lịch 62

3.2.5 Các công cụ phát triển 63

3.2.6 Màn hình quản trị 64

3.3 Một số hạn chế của GAE 64

3.4 So sánh một số nhà cung cấp dịch vụ điện toán đám mây đối với cung cấp nền tảng như một dịch vụ (PaaS) 65

CHƯƠNG 4 SỬ DỤNG DATASTORE CỦA GAE TRÊN NGÔN NGỮ JAVA 68

4.1 Làm việc với Entity, Key và Property 68

4.2 Sử dụng Entity 69

4.2.1 Lấy một entity thông qua key 69

4.2.2 Lưu entity 70

4.2.3 Xóa entity 70

4.3 Sử dụng JPA với Datastore 70

4.3.1 Cấu hình 71

4.3.2 Các truy vấn 72

CHƯƠNG 5 PHÁT TRIỂN ỨNG DỤNG WEB TRÊN NỀN GAE 74

5.1 Tạo khung dự án trên Eclipse 74

5.1.1 Tạo dự án có tên là gaewebdev 74

5.1.2 Đăng ký dự án với GAE 77

Trang 7

5.2 Chạy thử ứng dụng với chuỗi Hello World 79

5.2.1 Trên máy local 79

5.2.2 Deploy trên GAE 80

5.3 Tạo một trang web gửi mail 82

5.3.1 Tạo trang jsp email.jsp 82

5.3.2 Tạo file servlet xử lý gửi email 83

5.3.3 Khai báo cấu hình 88

5.4 Chạy ứng dụng gửi mail trên GAE 89

CHƯƠNG 6 – KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 92

6.1 KẾT QUẢ ĐẠT ĐƯỢC 92

6.2 HƯỚNG PHÁT TRIỂN 92

TÀI LIỆU THAM KHẢO 93

PHỤ LỤC 95

Trang 8

MỤC LỤC HÌNH

Hình 1: Mô hình cộng tác trong Grid Computing 13

Hình 2: Sự tiến hóa thành Coud computing 16

Hình 3: Mô hình cộng tác trong Cloud computing 20

Hình 4: Tổng quan về Grid và Cloud 28

Hình 5: Các lớp của Grid Computing và Cloud Computing 29

Hình 6: Các thành phần kiến trúc giám sát Grid 42

Hình 7: Một cấu trúc căn bản của một autonomic element 47

Hình 8: Kiến trúc siêu môi giới (Meta-brokering) 49

Hình 9: Tạo một project bằng công cụ của GAE 73

Hình 10: Khai báo chi tiết cho dự án mới khởi tạo 74

Hình 11: Cấu trúc thư mục dự án mới khởi tạo 75

Hình 12: Tạo một ứng dụng mới 76

Hình 13: Khai báo tạo một ứng dụng mới 77

Hình 14: Màn hình đăng ký ứng dụng thành công 77

Hình 15: Khai báo “Application Identifier” cho dự án 78

Hình 16: Chạy ứng dụng trên máy local 78

Hình 17: Màn hình thông tin chạy ở Eclipse console 79

Hình 18: Màn hình chạy ứng dụng trên máy cục bộ thành công 79

Hình 19: Deploy ứng dụng lên App Engine 80

Hình 20: Deploy dự án lên GAE 80

Hình 21: Deploy ứng dụng web lên GAE 81

Hình 22: Đăng nhập vào Google trước khi sử dụng ứng dụng 88

Hình 23: Chấp nhận điều khoản của Google 89

Hình 24: Màn hình gửi mail được deploy lên Google Engine 89

Hình 25: Màn hình thông báo viêc gửi email thành công 90

Hình 26: Hộp thư đã có thư từ người gửi 90

Hình 27: Khởi động Eclipse JUNO 4.2 94

Trang 9

Hình 28: Các bước trong quá trình cài đặt GAE plug-in 95

Hình 29: Chọn thư mục GAE plug-in đã được giải nén 95

Hình 30: Các bước trong quá trình cài đặt GAE plug-in 96

Hình 31: Chấp thuận bản quyền cài đặt GAE plug-in 97

Hình 32: GAE plug-in đang được cài đặt 98

Hình 33 Cài đặt GAE plug-in, đồng ý với Security Warning 98

Hình 34: Các bước trong quá trình cài đặt GAE plug-in 99

Hình 35: Cài đặt plug-in GAE trên Eclipse JUNO 4.2 thành công 99

MỤC LỤC BẢNG Bảng 1: So sánh giữa các dịch vụ nền tảngcủa một số nhà cung cấp 67

Trang 10

DANH SÁCH CHỮ VIẾT TẮT

API Application Programming Interfaces

FTP File Transfer Protocol

HTTP Hyper Text Transfer Protocol HTTPS Hypertext Transfer Protocol Secure SaaS Software as a Service

PaaS Platform as a ServiceIaaS Infrastructure as a Service

URL Uniform Resource Locator XMPP Extensible Messaging and Presence Protocol

Trang 11

CHƯƠNG 1: GIỚI THIỆU

Các ứng dụng điện toán mạng lưới (Grid Computing), điện toán tiện ích (UtilityComputing), và điện toán đám mây (Cloud Computing) đều có mục tiêu chung là sửdụng các nguồn tài nguyên có sẵn để đáp ứng một loạt các nhu cầu một cách nhanhchóng, kịp thời và tiết kiệm chi phí

Chỉ với một thời gian ngắn nhưng ngày càng nhiều doanh nghiệp dựa vào sự pháttriển của các ứng dụng nền tảng CNTT qua Internet hoặc “đám mây” để cung cấpnhững ứng dụng CNTT Trên khắp thế giới, công nghệ điện toán đám mây đangđược nói đến như sự phát triển nổi bậc của ngành CNTT Theo dự báo của Công ty

dữ liệu quốc tế IDC, những ứng dụng dịch vụ đám mây sẽ đạt tỷ lệ tăng trưởng hàngnăm khoảng 37%, cao gấp khoảng 5 lần mô hình sử dụng các dịch vụ truyền thống.Với công nghệ điện toán đám mây, chúng ta sẽ không còn trông thấy các máy tính

cá nhân, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa màchỉ còn một số các “máy chủ ảo” tập trung trên mạng Các “máy chủ ảo” sẽ cungcấp các dịch vụ giúp cho các doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽchỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiềuvào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ Xu hướng này sẽ giúpnhiều cho các công ty, doanh nghiệp vừa và nhỏ không có cơ sở hạ tầng mạng, máychủ để lưu trữ, quản lý dữ liệu

Điện toán mạng lưới bắt đầu cuộc hành trình công nghệ của mình vào khoảngmột thập kỷ trước khi điện toán đám mây ra đời, điện toán đám mây đã kế thừa rấtnhiều công nghệ và kinh nghiệm của điện toán mạng lưới trong việc xây dựng cơ sở

hạ tầng tính toán phân tán Trong phần báo cáo này, chúng tôi trình bày về điện toánmạng lưới, điện toán đám mây và so sánh điện toán mạng lưới và điện toán đámmây ở các đặc điểm cơ bản của chúng, các mô hình tương tác với khách hàng, tài

Trang 12

nguyên của người dùng và các nhà cung cấp Tiếp đến, là những điểm tương đồng

và khác biệt trong các lớp kiến trúc và các lớp mô hình sử dụng Tiếp theo là đi sâuvào các công nghệ và các kỹ thuật triển khai tốt nhất có tính ứng dụng từ điện toánmạng lưới cho đến điện toán đám mây, bao gồm cả lập kế hoạch, định hướng dịch

vụ, an ninh, quản lý dữ liệu, giám sát, khả năng tương tác, mô phỏng và tự độngphục vụ Cuối cùng, chúng tôi trình bày về cách các kỹ thuật sẽ giúp giải quyếtnhững thách thức hiện nay phải đối mặt của điện toán đám mây Những phần cònlại, chúng tôi trình bày về việc phát triển ứng dụng web dựa trên nền tảng củaGoogle App Engine

Bài báo cáo gồm các phần sau:

Chương 2: Vai trò của điện toán mạng lưới đối với điện toán đám mây: trongchương này chúng tôi trình bày các khái niệm về điện toán mạng lưới, điện toánđám mây, phân tích các ảnh hưởng của điện toán mạng lưới đến điện toán đám mây.Chương 3: Tìm hiểu về Google App Engine

Chương 4: Sử dụng datastore của GAE trên ngôn ngữ java

Chương 5: Phát triển ứng dụng web trên nền GAE: trình bày cách tạo một dự ánweb dựa trên các công cụ được cung cấp bởi Google như bộ plug-in cho Eclipse,app engine java sdk…

Chương 6: Kết quả và hướng phát triển

Trang 13

CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN

TOÁN ĐÁM MÂY

2.1 Khái niệm cơ bản của điện toán lưới và điện toán đám mây:

2.1.1 Các khái niệm cơ bản của điện toán đám mây

2.1.1.1 Khái niệm điện toán lươi:

Cũng như các công nghệ tính toán khác, điện toán lưới (Grid Computing) ra đờixuất phát từ nhu cầu tính toán của con người Thực tế, ngày càng có nhiều bài toánphức tạp hơn được đặt ra và do đó các tổ chức cũng cần phải có những năng lực tínhtoán mạnh mẽ hơn Có thể giải quyết vấn đề này bằng hai cách:

Thứ nhất: Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán (mua thêm máy chủ,máy trạm, siêu máy tính ) Rõ ràng là cách làm này hết sức tốn kém

Thứ hai: Một cách thực hiện hiệu quả hơn là phân bố lại hợp lý các nguồn tàinguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (tất nhiên làvới chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán) Thực tế chothấy có một phần lớn các nguồn tài nguyên của chúng ta đang bị sử dụng lãng phí:các máy để bàn công sở thường chỉ hoạt động khoảng 5% công suất, ngay cả cácmáy chủ cũng có thể chỉ phải hoạt động với 20% công suất Việc tận dụng hiệu quảcác nguồn tài nguyên này có thể mang lại một sức mạnh tính toán khổng lồ

Cách giải quyết thứ hai này chính là mục tiêu của điện toán lưới Điện toán lướihướng đến việc chia sẻ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổchức trên một quy mô rộng lớn (thậm chí là quy mô toàn cầu) Chính các công nghệmạng và truyền thông phát triển mạnh mẽ trong những năm qua đã biến những khảnăng này dần trở thành hiện thực Các nghiên cứu về điện toán lưới đã và đang đượctiến hành nhằm tạo ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lýcác tài nguyên đa dạng và phân tán trong môi trường lưới

Các thách thức mà công nghệ điện toán lưới đang phải giải quyết bao gồm:

Trang 14

- Các tài nguyên hết sức đa dạng, không đồng nhất Tài nguyên ở đây được hiểutheo nghĩa hết sức tổng quát Đó có thể là các tài nguyên phần cứng: tài nguyên tínhtoán, tài nguyên lưu trữ, các thiết bị đặc biệt khác các tài nguyên phần mềm: cácCSDL, các phần mềm đặc biệt và đắt giá ; các đường truyền mạng Các tàinguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý Việctạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồntài nguyên này hoàn toàn không dễ dàng Ban đầu tính toán lưới được đặt ra chủ yếu

là để tận dụng các nguồn tài nguyên tính toán nhưng hiện nay mục tiêu của nó đãđược mở rộng sang rất nhiều nguồn tài nguyên khác như đã kể trên

- Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chứctham gia lưới Các tổ chức phải tuân thủ một số quy định chung khi tham gia vàolưới còn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tựtrị Các tổ chức khác nhau thường có chính sách sử dụng hay cho thuê tài nguyêncủa họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý

- Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải có các cơ chếquản lý phân tán

- Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường lưới

là rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu

Các định nghĩa điện toán lưới:

Khái niệm điện toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn

dụ là làm cho việc sử dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điệnnăng Ngày nay có rất nhiều định nghĩa về tính toán lưới Một định nghĩa về điệntoán lưới khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau :

“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học,

kỹ thuật và thương mại Từ đó hình thành nên các “tổ chức ảo” (Virtual

Trang 15

Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”

Một hệ thống Grid có 3 đặc điểm chính:

- Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung

- Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng

- Đáp ứng yêu cầu cao về chất lượng dịch vụ

Điện toán lưới khai thác các nguồn tài nguyên được phân phối từ các tổ chứckhác nhau (từ các nhà cung cấp), để đáp ứng nhu cầu sử dụng của khách hàng Cácnguồn tài nguyên từ các nhà cung cấp rất đa dạng và không đồng nhất, đó có thể làcác tài nguyên về chức năng: tài nguyên tính toán, tài nguyên lưu trữ, tài nguyênphần mềm tài nguyên về kiến trúc phần cứng (Intel x86, IBM PowerPC, vv), vàcác chính sách sử dụng được thiết lập bởi chủ sở hữu các nguồn tài nguyên Ở điệntoán lưới các dịch vụ thông tin (information services), dịch vụ tên (name services),

và dịch vụ trung gian tài nguyên (resource brokering services) là những công nghệquan trọng chịu trách nhiệm về việc tập hợp các nguồn tài nguyên thông tin và cungcấp các nguồn tài nguyên sẵn có để đáp ứng yêu cầu cụ thể của khách hàng theo tiêuchuẩn cho phép của các chính sách sử dụng tài nguyên

Trang 16

Hình 1: Mô hình cộng tác trong Grid Computing

Trang 17

Hình trên cho thấy mối quan hệ của các nhà cung cấp tài nguyên và người tiêudùng trong quá trình cộng tác theo điện toán lưới Khách hàng hoặc người sử dụngđưa yêu cầu về ứng dụng và cấu hình cần dùng từ nhà quản lý của họ Resourcebroker đóng vai như thành phần trung gian giữa người dùng và các tài nguyên Grid,

lựa chọn một domain với các nguồn tài nguyên thích hợp và thực thi ứng dụng hoặcđịnh tuyến các ứng dụng vào đúng domain để thực hiện với kết quả và trạng thái trảvề

Bản chất của điện toán lưới giống một nền tảng dạng khái niệm hơn là một tàinguyên vật lý Grid được tận dụng để cung cấp tài nguyên cho một nhiệm vụ tínhtoán.Mục tiêu của công nghệ điện toán lưới liên quan tới những yêu cầu của việccung cấp tài nguyên linh hoạt vượt ra khỏi các khu vực cục bộ

2.1.1.2 Một số lợi ích khi sử dụng công nghệ điện toán lưới:

- Khai thác, tận dụng các tài nguyên nhàn rỗi:

Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi, cácmáy tính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả cácserver cũng thường “rảnh rỗi” Grid có thể tối ưu sử dụng các tài nguyên nhàn rỗinày theo nhiều cách khác nhau, ví dụ, gửi một công việc trên một máy tính đang bậnrộn đến một máy khác rảnh rỗi hơn để xử lý, hoặc phân nhỏ một công việc rồi gửicác công việc con đến các máy tính nhàn rỗi khác cho xử lý song song,… Một chứcnăng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn Một tổ chức thường gặpcác vấn đề khó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn Với Grid,

có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác, hoặc có thể thêm các tàinguyên mới một cách dễ dàng, từ đó làm tăng khả năng chịu đựng của hệ thống

- Sử dụng CPU song song:

Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoàiviệc hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Gridcung cấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong các

Trang 18

ngành khác như y dược, tính toán tài chính, kinh tế, khai thác dầu hoả, dự báo thờitiết, công nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác

- Cho phép hợp tác trên toàn thế giới

Một trong những đóng góp quan trọng của công nghệ điện toán lưới là cho phép

và đơn giản hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thếgiới Các công nghệ tính toán phân tán trước đây cũng cho phép hợp tác nhưng chỉtrong một phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn cầu khi đưa

ra những chuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc chungvới nhau để tạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyênkhác nhau

- Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên

Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, Grid có thể cho phépchia sẻ tất cả các loại tài nguyên mà trước đây chưa được chia sẻ, như băng thôngmạng, các thiết bị đặc biệt, phần mềm, bản quyền, các dịch vụ,… Ví dụ, nếu mộtngười dùng muốn tăng băng thông kết nối Internet của mình lên để thực hiện mộtứng dụng khai thác dữ liệu, ứng dụng đó có thể được gửi đến nhiều máy tính trongGrid có các kết nối Internet riêng, từ đó băng thông truy cập Internet của anh ta tănglên rất nhiều lần,…

- Tăng tính tin cậy cho các hệ thống máy tính

Hiện nay, các hệ thống tính toán sử dụng các phần cứng chuyên dụng, đắt đỏ đểtăng độ tin cậy Ví dụ, một máy tính có thể sử dụng các bộ vi xử lý đôi, cho phép

“cắm nóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác mà không làmngưng hoạt động của hệ thống Các giải pháp này làm tăng độ tin cậy của hệ thống,tuy nhiên với chi quá đắt khi phụ kiện đi kèm cũng phải nhân lên Trong tương lai,các hướng tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơn vào các côngnghệ phần mềm hơn là các phần cứng đắt tiền Grid là sự khởi đầu cho các côngnghệ đó Các hệ thống trong Grid thường rẻ và phân tán theo địa lý, do đó, nếu có

sự cố về nguồn điện hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần còn lại

Trang 19

không bị ảnh hưởng Các phần mềm quản trị Grid có khả năng thực thi lại công việctrên một node khác khi phát hiện có lỗi hệ thống Nếu quan trọng hơn nữa, trong các

hệ thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng

có thể được chạy trên nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậytối đa

- Tăng khả năng quản trị các hệ thống

Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các

hệ thống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầng công nghệ thông tin lớn, phân tán

Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoàiviệc hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Gridcung cấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong cácngành khác như y dược, tính toán tài chính, kinh tế, khai thác dầu hoả, dự báo thờitiết, công nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác

- Tăng khả năng quản trị các hệ thống

Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các

hệ thống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạtầng công nghệ thông tin lớn, phân tán

2.1.2 Khái niệm cơ bản của Điện toán đám mây:

2.1.2.1 Quá trình phát triển:

Điện toán đám mây (cloud computing) là một vấn đề đang rất được quan tâmnghiên cứu, nó là một sự tiến hóa đã diễn ra trong suốt một vài thập kỷ như đượctrình bày trong hình 2

Trang 20

Xu thế hướng tới điện toán đám mây bắt đầu vào cuối những năm 80 với nhữngkhái niệm về điện toán lưới Điện toán lưới, phổ biến với Globus Aliance vào năm

2003, giúp cho việc phối hợp hoạt động của các hệ thống tính toán nằm phân tán vớinhau về mặt địa lý trở nên dễ dàng hơn So với công nghệ ra đời trước là máy tínhcụm (cluster computing), điện toán lưới có phạm vi phân tán và hoạt động rộng hơn,mỗi một cluster có thể trở thành một thành phần tính toán (node) trong hệ thốnglưới Công nghệ lưới không đòi hỏi các thành phần phải có sự tương đồng với nhau

về cấu trúc, năng lực xử lý Có thể xem môi trường lưới là một tập hợp rộng lớn cáctài nguyên tính toán và có cấu trúc phân tán, không đồng nhất, mỗi nguồn tàinguyên có thể do một tổ chức riêng biệt quản lý Người dùng sẽ thấy môi trườnglưới như một “máy chủ ảo” khổng lồ với hệ thông phần cứng và hệ điều hành bêndưới được ảo hóa bởi một hệ thống trung gian (middleware) Tuy nhiên, chính từviệc có một hạ tầng hỗn tạp nên hệ thống trung gian của một lưới tính toán thường

Hình 2: Sự tiến hóa thành Coud computing

Trang 21

rất phức tạp và điều này khiến cho các thao tác tạo lập, triển khai và quản lý mộtdịch vụ trên môi trường lưới gặp nhiều khó khăn.

Vào những năm 90, khái niệm ảo hóa được mở rộng, vượt khỏi phạm vi các máy

chủ ảo sang những cấp độ cao hơn của sự trừu tượng hóa, đầu tiên đó là nền tảng ảo (virtual platform), và tiếp đó là ứng dụng ảo (virtual application) Điện toán tiện ích

(utility computing) cung cấp các máy cụm (cluster) theo yêu cầu để làm nền tảng ảocho các ứng dụng

Và tiếp ngay sau đó là phần mềm như một dịch vụ (software as a service – SaaS)

ra đời và phổ biến trong năm 2001, cung cấp cho người sử dụng các dịch vụ phầnmềm trực tuyến Điểm chung của điện toán tiện ích và SaaS là người dùng có thể dễdàng tùy chọn định mức sử dụng của mình và cũng chỉ phải trả phí cho định mứcnày mà thôi

Khái niệm điện toán đám mây (cloud computing) được phát triển từ điện toánlưới, điện toán theo nhu cầu và SaaS Trong môi trường đám mây, các tài nguyênđiện toán như máy chủ, có thể được định hình động hoặc được cắt nhỏ từ cơ sở hạtầng phần cứng nền và trở nên sẵn sàng tiếp nhận tải công việc Thế mạnh của hệthống đám mây nằm ở khả năng quản lý cơ sở hạ tầng cùng với sự trưởng thành vàtiến bộ của công nghệ ảo hóa để quản lý và sử dụng tốt hơn các tài nguyên vật lýthông qua sự tự động hóa việc cung cấp, tạo bản sao, cân bằng tải công việc, giámsát và xử lý yêu cầu thay đổi hệ thống

Các ứng dụng chạy trên môi trường đám mây sẽ nằm tại các trung tâm dữ liệu cótính mở rộng rất lớn, trong đó các tài nguyên điện toán có thể được cung cấp động

và được chia sẻ để đạt được hiệu quả về kinh tế, và có thể được truy cập từ bất cứđâu thông qua các thiết bị được kết nối mạng Sự phổ biến của các thiết bị di độngthông minh, kết nối không dây tốc độ cao và các giao diện Web 2.0 phong phú đãbiến mô hình điện toán đám mây qua mạng không chỉ trở thành hiện thực mà còn làmột cách để giảm mức độ phức tạp của hạ tầng công nghệ thông tin

Trang 22

2.1.2.2 Định nghĩa điện toán đám mây:

IDC1 xác định hai khía cạnh cụ thể của Cloud: Cloud Services và CloudComputing

Cloud Services là "người tiêu dùng và các sản phẩm kinh doanh, dịch vụ và cácgiải pháp được cung cấp và tiêu thụ trong thời gian thực trên Internet", trong khiCloud Computing là "một vấn đề CNTT đang được quan tâm, nghiên cứu, quá trìnhtriển khai và mô hình phân phối, cho phép cung cấp các sản phẩm, theo thời gianthực, dịch vụ và các giải pháp trên Internet (Cloud Services)" Chúng tôi sẽ tập trungvào cơ sở hạ tầng máy tính và các khía cạnh nền tảng của Điện toán đám mây

Có rất nhiều định nghĩa được đưa ra theo nhiều góc nhìn khác nhau về một hệthống điện toán đám mây Với mục tiêu xác định các bản chất thực sự của một hệthống đám mây, giáo sư Rajkumar Buyya đã đưa ra một định nghĩa khá hoàn chỉnhnhư sau:

“Điện toán đám mây là một dạng hệ thống song song phân tán bao gồm tập hợp các máy chủ ảo kết nối với nhau, các máy chủ ảo này được cấp phát tự động và thể hiện như một hay nhiều tài nguyên tính toán độc lập dựa trên sự đồng thuận ở mức dịch vụ (service-level agreement) được thiết lập thông qua quá trình đàm phán giữa người sử dụng và nhà cung cấp.”

Điện toán đám mây rõ ràng là một hướng phát triển mới của các trung tâm dữliệu (data center) Các máy chủ trong trung tâm dữ liệu mới này được ảo hóa bằngcác công nghệ ảo hóa và được cấp phát động tùy theo nhu cầu sử dụng tài nguyêncủa người dùng để thỏa mãn một sự đồng thuận cụ thể ở mức dịch vụ Sự đồngthuận này được thiết lập và có thể sử dụng như một dịch vụ có thể mở rộng(composable service) thông qua công nghệ web 2.0

Amazon’s Elastic Compute Cloud2 là nền tảng cơ sở cho môi trường điện toánđám mây do Amazone cung cấp bằng cách tạo và lưu các bản dự phòng của các ứng

1 http://blogs.idc.com/ie/?p=190

2 http://www.amazon.com/ec2

Trang 23

dụng ảo cho cá nhân hay doanh nghiệp một cách đơn giản và bất kỳ khi nào kháchhàng cần, cung cấp cho ứng dụng ảo của khách hàng khả năng cấu hình các yêu cầutính toán của chúng ngay trong khi hoạt động hoặc điều chỉnh dung lượng dựa trênyêu cầu Hầu hết các khách hàng là người dùng cá nhân, họ có được các tài nguyêncần thiết cho việc sử dụng của mình thông qua API EC2 mà không cần thỏa thuậnthông qua các tổ chức quản lý.Hình 3 minh họa mô hình sử dụng của khách hàng C1

và C2 cho nguồn tài nguyên hoặc dịch vụ của các nhà cung cấp Cloud Khi mô hìnhđiện toán đám mây phát triển, nhiều người đang xây dựng mô hình hybrid Cloud,trong đó các resource broker có thể có được thêm các nguồn lực cần thiết được cungcấp từ các Cloud bên ngoài để đáp ứng nhu cầu của doanh nghiệp (E1) và yêu cầucông việc của khách hàng (E2).Hơn nữa, các nguồn tài nguyên, và các nhà cung cấpCloud đều có thể thuộc về một công ty và do đó tạo thành một mô hình privateCloud

Trang 24

2.1.2.3 Một số công nghệ nền tảng

Công nghệ Web service

Web service là một công nghệ được sử dụng rộng rãi để triển khai mô hình SOAvào thực tế, nó đưa ra mô hình liên lạc, trao đổi giữa ứng dụng với ứng dụng trên cơ

sở ngôn ngữ đặc tả XML Web Service là nền tảng của hệ thống đám mây, cung cấpgiao diện tương tác với người dùng

Web Service sử dụng ngôn ngữ Web Services Description Language (WSDL) để

mô tả nội dung và cách sử dụng service; sử dụng protocol SOAP để trao đổi cácthông điệp giữa các Web service

Sử dụng ngôn ngữ đặc tả Universal Description, Discovery and Integration(UDDI) để cho phép các nhà cung cấp Web service đăng ký service của mình vàcho phép người sử dụng Web service tìm được nhà cung cấp thỏa điều kiện mongmuốn

Ngoài ra, còn một số chuẩn về định nghĩa và triển khai chất lượng dịch vụ củaWeb service đang được xây dựng như WS-Security, WS-Reliable Messaging,WSCoordination, và WS-Transaction …

Các khái niệm liên quan đến web service

SOA

SOA là một hướng tiếp cận mới trong kiến trúc phần mềm ứng dụng, trong đó,một ứng dụng được cấu thành từ một tập các thành phần độc lập, phân tán, phối hợphoạt động với nhau được gọi là các service

Điểm mấu chốt của SOA là các chức năng của service được công bố dưới dạngmột giao diện chuẩn Chi tiết cài đặt cụ thể các chức năng được che dấu, và ngườidùng dịch vụ cũng không cần quan tâm đến; người dùng chỉ gọi sử dụng các chứcnăng của dịch vụ thông qua các phương thức công bố trên giao diện Cùng với sự hỗtrợ của các dịch vụ cơ bản như lập lịch truy xuất tài nguyên (scheduler service), chỉ

Hình 3: Mô hình cộng tác trong Cloud computing

Trang 25

mục (index service), tìm kiếm tài nguyên (discovery service),… ứng dụng có thểxác định thời gian thực thi của các dịch vụ có chức năng giống nhau từ nhiều nguồn,

từ đó chọn ra cái tốt nhất để sử dụng, đáp ứng nhu cầu của ứng dụng

SOAP

SOAP (giao thức truy cập đối tượng giản đơn) là giao thức triệu gọi các đốitượng dựa trên nền giao thức HTTP và định dạng XML Giao thức SOAP cho phépcác thành phần đối tượng và ứng dụng Internet có thể dễ dàng trao đổi với nhauthông qua chuẩn HTTP Nói cách khác, SOAP là giao thức được xây dựng dựa trêngiao thức sẵn có HTTP Nếu như HTTP chỉ cung cấp cơ chế gửi nhận (get/post) dữliệu thô một cách thuần túy thì SOAP sẽ giúp ta nhận gửi dữ liệu theo mô hìnhXML có cấu trúc và dễ xử lý hơn

WSDL

WSDL là một dạng ngôn ngữ XML dùng để mô tả một Web Service Một tài liệuWSDL cung cấp các thông tin cần thiết cho một máy khách (client) có thể tương tácvới Web Service

UDDI

UDDI (Universal Description, Discovery and Integration) được đưa ra vào năm

2000, xuất phát từ dự đoán trong tương lai người sử dụng các dịch vụ web sẽ liênlạc với các nhà cung cấp thông qua một hệ thống môi giới Bất kì người nào cần mộtdịch vụ, sẽ liên lạc với dịch vụ môi giới này và lựa chọn dịch vụ thích hợp

Thực thể danh bạ (directory) UDDI là một tập tin XML dùng để mô tả doanhnghiệp và các dịch vụ mà doanh nghiệp đó cung cấp

Công nghệ ảo hóa

Ảo hóa chính là khái niệm về việc các tài nguyên điện toán có thể được tạo ra vớimột mức độ uyển chuyển và linh hoạt rất cao mà không đòi hỏi người dùng phải cókiến thức chuyên sâu về các tài nguyên vật lý nằm ở dưới Trong một môi trường ảohóa, các môi trường điện toán có thể được tạo ra, thay đổi kích thước, hoặc dichuyển một cách linh động khi nhu cầu biến đổi Ảo hóa cung cấp những lợi thế

Trang 26

quan trọng trong việc chia sẻ, quản lý và cô lập (khả năng cho phép nhiều ngườidùng và ứng dụng có thể chia sẻ các tài nguyên vật lý mà không gây ra ảnh hưởnglẫn nhau) trong một môi trường điện toán đám mây Công nghệ ảo hóa không chỉgiới hạn ở máy chủ Ảo hóa còn được áp dụng rất thích hợp đối với lưu trữ, kết nốimạng và ứng dụng Ba phương pháp triển khai ảo hóa chính và một số ứng dụng cóthể được liệt kê như sau :

 Mô phỏng hệ thống (system emulation): Phương pháp này xây dựng nên mộtmôi trường máy ảo mô phỏng tất cả các tài nguyên phần cứng Hệ điều hành cài trêncác máy ảo sẽ sử dụng tài nguyên phần cứng thông qua lớp mô phỏng này thay vì sửdụng trực tiếp các phần cứng trên máy thật Một số sản phẩm như VMware(http://vmware.com/), Microsoft Virtual PC và Parallels (http://www.parallels.com/)tiếp cận theo hướng này

 Paravirtualization : Các hệ điều hành chạy trên các máy ảo được điều chỉnh đểnhận ra rằng nó đang chạy trong một trình siêu quản lý (hypervisor) ảo hóa Phươngpháp này không tiến hành mô phỏng các phần cứng nên sẽ thực thi tốt hơn và gầnvới tốc độ thật hơn Kỹ thuật này được áp dụng trong Xen (http://www.cl.cam.ac.uk/research/srg/netos/xen/) và User-Mode Linux (http://usermode-linux.sourceforge.net/)

 Ảo hóa mức hệ điều hành (OS level virtualization): Kỹ thuật này thực hiệnviệc chạy nhiều thể hiện (instance) của hệ điều hành trên máy thật, mỗi thể hiệnđược cô lập và chạy trên một môi trường an toàn Có thể kể đến các đại diện nhưFreeBSD jails (http://www.freebsd.org/) và Solaris10 zones(http://www.sun.com/software/solaris/)

Trong phần lớn các trường hợp, ảo hóa máy chủ được sử dụng bởi một bộ công

cụ siêu quản lý (hypervisor/ Virtual Machine Monitor - VMM) để chỉ định và phântách một cách logic các tài nguyên vật lý Bộ siêu quản lý cho phép các hệ điều hànhkhách (GuestOS), chạy trên máy ảo tin rằng nó đang chạy trên phần cứng thật sự màkhông biết rằng các hệ điều hành khác cũng đang cùng chia sẻ phần cứng đó Mỗi

Trang 27

hệ điều hành khách được bảo vệ khỏi những hệ điều hành khác mà không bị tácđộng bởi bất cứ sự bất ổn nào hoặc bởi các vấn đề cấu hình của các hệ điều hànhkhác.

2.1.2.4 Phân loại các hệ thống Cloud:

Trong thực tế, các hệ thống đám mây được triển khai rất đa dạng để phù hợp vớinhu cầu sử dụng của từng tổ chức cụ thể Nhìn chung, ta có thể chia hệ thống đámmây ra thành ba loại

Hệ thống đám mây công cộng (public cloud)

Các đám mây công cộng là các dịch vụ đám mây được một bên thứ ba (ngườibán) cung cấp Chúng nằm ngoài hệ thống mạng của tổ chức và chúng được lưu trữđầy đủ và được nhà cung cấp đám mây quản lý

Các đám mây công cộng cố gắng cung cấp cho người tiêu dùng các thành phầncông nghệ tối ưu nhất, cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ sở

hạ tầng vật lý Nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cungcấp và bảo trì các thành phần này Khách hàng chỉ chịu phí cho các tài nguyên nào

mà họ sử dụng, vì thế cái chưa sử dụng được loại bỏ

Tất nhiên điều này liên quan đến chi phí Các dịch vụ này thường được cung cấpvới "quy ước về cấu hình" nghĩa là chúng được phân phối với ý tưởng cung cấp cáctrường hợp sử dụng phổ biến nhất Các tùy chọn cấu hình thường là một tập hợp connhỏ hơn so với những gì mà chúng đã có nếu nguồn tài nguyên đã được người dùngkiểm soát trực tiếp Một điều khác cần lưu ý là kể từ khi người dùng có quyền kiểmsoát cơ sở hạ tầng, các quy trình đòi hỏi tuân thủ quy định an ninh chặt chẽ v điềunày không phải lúc nào cũng thích hợp cho các đám mây chung

Hệ thống đám mây riêng (private cloud)

Các đám mây riêng là các dịch vụ đám mây được xây dựng trong hệ thống củadoanh nghiệp Những đám mây này tồn tại bên trong tường lửa công ty và chúngđược doanh nghiệp quản lý

Trang 28

Các vấn đề khó khăn và chi phí của việc thiết lập một đám mây riêng đôi khi cóthể có chiều hướng ngăn cản việc xây dựng và sử dụng hệ thống loại này Ngoài rachi phí hỗ trợ hoạt động liên tục của đám mây riêng có thể vượt quá chi phí của việc

sử dụng một đám mây công cộng

Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại công cộng Việc kiểmsoát chi tiết hơn trên các tài nguyên khác nhau sẽ tạo thành một đám mây mang lạicho công ty tất cả các tùy chọn cấu hình có sẵn Ngoài ra, các đám mây riêng là lýtưởng khi các kiểu công việc được thực hiện có các yêu cầu về an ninh và quản lýkhông phù hợp cho một đám mây công cộng

Hệ thống đám mây lai (hybrid cloud)

Các đám mây lai là một sự kết hợp của các đám mây công cộng và riêng Nhữngđám mây này thường do doanh nghiệp tạo ra và các trách nhiệm quản lý sẽ đượcphân chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng Đám mây lai sửdụng các dịch vụ có trong cả không gian công cộng và riêng

Các đám mây lai là câu trả lời khi một công ty cần sử dụng các dịch vụ của cả haiđám mây riêng và công cộng Theo hướng này, một công ty có thể lựa chọn đámmây công cộng hay riêng dựa trên các mục tiêu và nhu cầu của các dịch vụ cần triểnkhai Một đám mây lai được xây dựng tốt có thể phục vụ các quy trình nhiệm vụquan trọng của doanh nghiệp yêu cầu cao về tính ổn định, an toàn, cũng như nhữngứng dụng không quan trọng

Hạn chế chính với đám mây này là sự khó khăn trong việc tạo ra và quản lý cóhiệu quả một giải pháp như vậy Hệ thống phải có thể tiếp nhận được và cung cấpcác dịch vụ lấy từ các nguồn khác nhau như thể chúng có chung nguồn gốc, hayphức tạp hơn là hỗ trợ tương tác giữa các thành phần riêng và chung Do đây là mộtkhái niệm kiến trúc tương đối mới trong điện toán đám mây, nên cách hiện thực vàcác công cụ hỗ trợ mô hình này vẫn còn được nghiên cứu

2.1.2.5 Một số ứng dụng thực tế về điện toán đám mây

Amazon Elastic Compute Cloud (EC2)

Trang 29

Dự án EC23 cung cấp một môi trường tính toán ảo để người dùng có thể chạy cácứng dụng trên Linux Người dùng EC2 có thể tự tạo một máy ảo mới, được gọi làAmazone Machine Image (AMI) chứa các ứng dụng, thư viện, dữ liệu và các cấuhình thích hợp hoặc có thể chọn AMI từ một thư viện có sẵn Sau đó, người sử dụngphải upload AMI này lên Amazon Simple Stogre Service (S3) để có thể sử dụngđược.Amazon EC2 sẽ tính phí dựa trên thời gian hoạt động của máy ảo người dùng

và Amazon S3 sẽ tính phí trên khối lượng dữ liệu gởi và nhận

Google App Engine

Google App Engine4 cho phép người dùng chạy các ứng dụng web viết bằngngôn ngữ Python, Java, PHP, Go Ngoài việc hỗ trợ các thư viện Python chuẩn,Google App Engine còn hỗ trợ một số API về lưu trữ dữ liệu, quản lý tài khoảnGoogle, dịch vụ email… Bên cạnh đó Google App Engine còn hỗ trợ giao diện quảntrị qua web cho người dùng dễ dàng quản lý các ứng dụng web đang chạy Hiện tạiGoogle App Engine đang cho sử dụng miễn phí với dung lượng lưu trữ lên đến 1GB

và có khoảng 5 triệu lượt truy cập mỗi tháng

Microsoft Live Mesh

Microsoft Live Mesh5 hướng tới việc cung cấp cho người dùng một nơi lưu trữ

dữ liệu, ứng dụng tập trung và có thể truy xuất được bằng nhiều loại thiết bị (có thể

là máy tính hay điện thoại di động) từ bất kỳ đâu trên thế giới Người dùng có thểtruy xuất đến dữ liệu hay ứng dụng của mình thông qua Web-based Live Desktophay từ chính các thiết bị của mình bằng cách cài đặt phần mềm Lite Mesh lên thiết

bị đó Mỗi người dùng sẽ có một mật khẩu bảo vệ và chứng thực thông quaWindows Live Login trên kênh truyền sử dụng SSL để bảo vệ

Sun Grid: Sun network.com (Sun Grid)6 cho phép người dùng chạy các ứngdụng Solaris OS, Java, C, C++ và FORTRAN Đầu tiên người dùng phải xây dựngứng dụng của mình trên môi trường phát triển cục bộ đã được cấu hình lại sao cho

3 http://www.amazon.com/ec2/

4 http://appengine.google.com

5 http://appengine.google.com

http://www.mesh.com

Trang 30

giống với trên hệ thống Sun Grid Sau đó, người dùng phải đóng gói toàn bộ các tậptin liên quan đến ứng dụng và upload lên Sun Grid Cuối cùng, người dùng có thểthực thi và theo dõi ứng dụng đó trên Sun Grid thông qua một web portal hay cácAPI Sau khi ứng dụng chạy xong, người dùng có thể tải kết quả về để xem.

GRIDs Lab Aneka

GRIDs Lab Aneka là một nền tảng hướng dịch vụ dựa trên NET nhằm xây dựngmột lưới tính toán cho doanh nghiệp (enterprise Grid) Nó được thiết kế để hỗ trợnhiều mô hình ứng dụng, nhiều giải pháp lâu dài và bảo mật, cũng như nhiều giaothức giao tiếp để một vài lựa chọn ưu tiên có thể được thay đổi bất kỳkhi nào màvẫn không ảnh hưởng đến hệ thống Aneka sẵn có Để tạo ra một lưới cho doanhnghiệp, nhà cung cấp dịch vụ chỉ cần cấu hình chạy một thể hiện Anekacontainer cóchứa các dịch vụ yêu cầu lên các máy tính được lựa chọn.Aneka còn hỗ trợ SLA đểngười dùng có thể đặc tả các yêu cầu QoS như deadline hay ngân sách Người dùng

có thể truy xuất Aneka từ xa thông qua Gridbus broker

2.1.3 Sự tương tác giữa mô hình điện toán lưới và điện toán đám mây

Một trong những mô hình tương tác mở rộng của điện toán lưới là mô hình tínhtoán mạng ngang hàng peer - to - peer Trong thực tế, thường có thoả thuận về việcchia sẻ tài nguyên giữa những người sử dụng trong hệ thống mạng Hơn nữa, kháchhàng thuộc đối tượng người dùng trong Grid khi thực hiện ứng dụng thường sử dụngkhông đồng nhất các nguồn tài nguyên từ các nhà cung cấp tài nguyên Khi các nhàcung cấp và người tiêu dùng cùng tham gia, hệ thống cần có các mô hình thông tin,các giao thức tương tác, các nơi thực hiện ứng dụng, …chung nhất.Tổ chức OpenGrid Forum(OGF)7 là nơi thành lập các tiêu chuẩn có liên quan và cần thiết cho điệntoán lưới Một số tiêu chuẩn được đề xuất bao gồm: Job Submission DescriptionLanguage (JSDL), Basic Execution Service (BES)

Hiện nay, hầu hết các nhà cung cấp Cloud cung cấp giao thức dịch vụ độc quyền

và các định dạng thông tin riêng Thông qua việc phát triển mạnh mẽ của điện toán

7 http://www.ogf.org/

Trang 31

đám mây, khách hàng và các tổ chức người tiêu dùng sẽ có khả năng tương tác vớinhiều nhà cung cấp hơn với các nhu cầu khác nhau, bao gồm cả việc tìm kiếm cácgiải pháp hiệu quả nhất hoặc mua lại một loạt các dịch vụ từ các nhà cung cấp khácnhau như (các nhà cung cấp máy tính hoặc cung cấp dữ liệu) Cloud của người tiêudùng đòi hỏi phải có các giao thức phổ biến và các định dạng thông tin chuẩn để dễ

sử dụng và khả năng tương tác cao Định dạng ảo hóa mở (Open Virtualizationformat OVF) của Distributed Management Task Force (DMTF)8 là một ví dụ mẫuđược đề nghị theo hướng này Cũng có một mô hình tương tự trong cộng đồng Grid,OGF chính thức ra mắt một nhóm, được đặt tên Working Group (OCCI-WG)9 để pháttriển các API phổ biến cần thiết cho việc quản lý vòng đời của cơ sở hạ tầng của dịch

Trang 32

2.1.4 Điện toán phân tán trong điện toán lưới và điện toán đám mây

Trong điện toán lưới các thủ tục và các giao thức cần thiết để hỗ trợ khách hàng

từ các dịch vụ phức tạp được xây dựng trên các thành phần phân tán, để có thể tự xử

lý và đưa ra quyết định, bảo mật, cung cấp cơ sở hạ tầng và trạng thái dữ liệu Điệntoán đám mây có hoạt động tương tự để hỗ trợ các yêu cầu phức tạp của khách hàngvới các dịch vụ trên mức khác như hỗ trợ ứng dụng, nền tảng hoạt động và cơ sở hạtầng

Điện toán lưới đặt trọng tâm vào việc di chuyển một tải công việc (workload) đến

địa điểm của các tài nguyên điện toán cần thiết để sử dụng Một Grid là một nhómmáy chủ mà trên đó nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạy songsong, được xem là một máy chủ ảo

Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thể được địnhhình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng và trở nên sẵn sàng thực hiệnnhiệm vụ, hỗ trợ những môi trường không phải là điện toán lưới như Web ba lớpchạy các ứng dụng truyền thống hay ứng dụng Web 2.0

2.2 Các mô hình được phân lớp và các mẫu sử dụng trong trong điện toán lưới

và điện toán đám mây

Hình 4: Tổng quan về Grid và Cloud

Trang 33

Có nhiều điểm tương đồng trong điện toán lưới và điện toán đám mây Chúng Tôi

so sánh các phương pháp tiếp cận bằng cách phân biệt ba lớp trừu tượng trong điệntoán lưới: cơ sở hạ tầng, Nền tảng và ứng dụng (Infrastructure, Platform vàApplication) Và ba dạng dịch vụ của Điện toán đám mây là IaaS, PaaS và SaaS Một

ví dụ về mối quan hệ giữa các lớp có thể được nhìn thấy trong hình 5

2.2.1.

Cơ sở hạ tầng (Infrastructure)

Đây là lớp trong đó điện toán đám mây chia sẻ hầu hết các đặc trưng giống nhưmiddleware của Grid Một số ví dụ là Eucalyptus (Nurmi et al., 2009), OpenNebula11,hay Amazon EC2 Trong các hệ thống này người dùng được cung cấp môi trườngthực hiện dưới dạng các máy ảo thông qua giao diện như API hoặc công cụ commandline Hành động xác định một môi trường thực thi và gửi một yêu cầu về tài nguyên

sử dụng có nhiều điểm tương đồng với lập kế hoạch một công việc trong điện toánlưới.Các bước chính được trình bày dưới đây

• Người sử dụng cần được cấp quyền sử dụng hệ thống Trong hệ thống điện toánlưới này việc quản lý thông qua hệ thống Community Authorization System (CAS)hoặc liên hệ với Certificate Authority (CA) Điện toán đám mây thường cung cấp các

Hình 5: Các lớp của Grid Computing và Cloud Computing

Trang 34

hình thức web để cho phép người dùng đăng ký mới, và có các ứng dụng web bổsung để duy trì cơ sở dữ liệu của khách hàng và tạo ra thông tin quan trọng, chẳnghạn như Eucalyptus hay Amazon.

• Các cơ chế khác nhau được sử dụng để thực hiện các yêu cầu của người sửdụng, nhưng các dịch vụ Web là phổ biến nhất trong số các cơ chế đó Người sử dụng

có thể can thiệp tùy chỉnh mức tiêu thụ được cung cấp bởi các nhà cung cấp WS,hoặc sử dụng công cụ có sẵn Ví dụ bao gồm các công cụ Amazon API cho AmazonEC2, Globus cung cấp một bộ công cụ giao diện điều khiển dựa trên điều kiện giaotiếp với điện toán lưới

• Như một phần của yêu cầu sử dụng tài nguyên, người dùng cần phải xác địnhcác hành động hoặc công việc được thực hiện trên các nguồn tài nguyên Vài địnhdạng có sẵn cho mục đích này Globus hỗ trợ Resource Specification Language(RSL) và một Job Submission Description Language (JSDL) có thể xác định nhữngquá trình nào chạy trên các máy tính mục tiêu, cũng như việc bổ sung các ràng buộc

có thể được sử dụng bởi một thành phần môi giới để hạn chế các loại nguồn lực đượcxem xét, dựa trên cấu trúc máy tính, tốc độ xử lý, dung lượng bộ nhớ… Ngoài ra,điện toán đám mây yêu cầu các thuộc tính khác nhau như kích thước của môi trườngthực hiện hoặc yêu cầu máy ảo được sử dụng

• Một trong những giai đoạn phổ biến nhất là liên quan đến việc xác nhận côngviệc được chuyển giao dữ liệu cần thiết từ máy tính thực hiện đến và trả về Việc đầutiên, thường được gọi là stage-in, liên quan đến việc lấy các dữ liệu đầu vào cho quátrình này từ một địa điểm ở xa truy cập đến, chẳng hạn như máy chủ GridFTP Khi sốlượng dữ liệu lớn, một dịch vụ bản đồ như Replica Location Service (RLS) có thểđược sử dụng để dịch tên tập tin một cách hợp lý đến địa điểm của nó Phần thứ haicủa quá trình, gọi là stage-out, bao gồm việc đưa dữ liệu đến máy tính của người sửdụng hoặc đặt nó trong một kho lưu trữ, có thể sử dụng RLS Trong trường hợp củađiện toán đám mây, dữ liệu quan trọng nhất được chuyển giao thường là định nghĩa

về môi trường thực thi, thường về hình ảnh cài đặt của máy ảo Người dùng tải lên dữ

Trang 35

liệu mô tả các hệ điều hành và các gói ứng dụng cần thiết để khởi tạo máy ảo và sau

đó tham khảo nó để thực hiện các hoạt động như khởi động một máy tính mới Không

có phương pháp tiêu chuẩn để chuyển dữ liệu trong các hệ thống điện toán đám mây,nhưng điều đáng chú ý là giải pháp lưu trữ các đối tượng của Amazon, các SimpleStorage Service (S3), cho phép người dùng di chuyển các đơn vị có kích thước từ 1byte tới 5 GB

• Hệ thống điện toán lưới và điện toán đám mây cần phải cung cấp cho ngườidùng một phương pháp để họ giám sát công việc của họ, cũng như sử dụng tàinguyên của họ Thiết bị này cũng có thể được sử dụng bởi người quản trị trang web

để thực hiện việc thống kê, theo dõi nguồn tài nguyên được sử dụng Trong Globus,

có hai mô đun có thể được sử dụng cho mục đích này, đầu tiên là GRAM cho phépngười dùng truy vấn trạng thái nội dung đã gửi trước đó Phương pháp thứ hai là thuthập thông tin về các nguồn tài nguyên của Grid được cung cấp bởi sự giám sát vàdịch vụ khám khá (Monitoring and Discovery Service (MDS)), với nhiệm vụ thu thậpcác nguồn dữ liệu và làm xử lý cho nó có sẵn để phục vụ quá trình truy vấn Công cụgiám sát hiệu năng cao được phát triển trên hệ thống quản lý Cloud hiện có nhưAmazon CloudWatch

2.2.2 Platform

Lớp này được xây dựng trên cơ sở hạ tầng vật lý và cung cấp một mức độ trừutượng cao hơn cho người dùng Giao diện được cung cấp bởi giải pháp PaaS chophép các nhà phát triển xây dựng các dịch vụ bổ sung mà không phải tiếp xúc với lớpvật lý bên dưới hoặc các nguồn tài nguyên ảo Điều này cho phép việc bổ sung cáctính năng được thực hiện như là một phần của mô hình, chẳng hạn như hiện tại tàinguyên cho người sử dụng dường như vô hạn hoặc cho phép điều khiển khích thướcphần cứng theo yêu cầu Ví dụ về các giải pháp Cloud trình bày các tính năng này làGoogle App Engine12, Salesforce’s force.com13hoặc Microsoft Azure14

12 http://code.google.com/appengine/

13 http://www.force.com/

Trang 36

Một số giải pháp có thể được so sánh với các dịch vụ PaaS đã được đề cập tồn tạitrong điện toán lưới, mặc dù mô hình này không được sao chép một cách chính xác.Chúng tôi xác định các giải pháp Platform có chứa hai khía cạnh sau:

2.2.2.1 Trừu tượng từ tài nguyên vật lý

Lớp cơ sở hạ tầng cung cấp cho người dùng truy cập trực tiếp vào cơ sở hạ tầng

cơ bản Trong khi điều này là cần thiết cho các cấp thấp hơn trong sự tương tác tàinguyên, trong các cấp của Platform người dùng sẽ có các Platform riêng biệt.Điềunày cho phép các nhà phát triển tạo ra phần mềm mới mà không lo bị ảnh hưởng bởi

số lượng các máy được cấp quyền hoặc của cấu hình mạng của các máy đó

2.2.2.2 Lập trình API để hỗ trợ các dịch vụ mới

Lớp Platform cho phép các nhà phát triển xây dựng các phần mềm mới trên cơ sởlợi dụng các nguồn lực sẵn có Sự lựa chọn của API ảnh hưởng trực tiếp đến cácchương trình được xây dựng trên Cloud, do đó mỗi giải pháp PaaS thường được thiết

kế để áp dụng cho một loại ứng dụng

Với những đặc điểm của hệ thống Grid cho phép các nhà phát triển tạo ra phầnmềm mới tận dụng lợi thế của các tài nguyên chia sẻ, ở đây thực hiện so sánh chúngvới giải pháp PaaS

• Thư viện được cung cấp bởi middleware của Grid để truy cập tài nguyên lậptrình Globus Java Commodity Grid (CoG) Kit (Laszewski et al., 2001) là một vídụ.The CoG Kit cho phép các nhà phát triển truy cập các chức năng điện toán lưới từmột mức độ cao hơn Tuy nhiên, các nguồn tài nguyên sử dụng cho các chương trìnhliên kết với các ứng dụng cuối phải được xử lý một cách độc lập Ngoài ra, nó đượcliên kết với Globus và làm cho các ứng dụng phụ thuộc vào một ứng dụng trung gian

cụ thể

• SAGA (Goodale et al., 2006) và DRMAA15 là những tiêu chuẩn cao hơn nhằmmục đích xác định một nền tảng độc lập của hoạt động Grid Trong khi trước đây nó

15 http://www.drmaa.org/

Trang 37

cung cấp một loạt các tùy chọn có quy mô lớn hơn như quyết định công việc, xử lýbảo mật, quản lý dữ liệu, và sau này chỉ tập trung vào việc gửi và giám sát công việc.Các giải pháp cung cấp một mức độ trừu tượng cao hơn hơn ví dụ trước, nhưng vẫnđược gắn với các đăc trung của Grid như các chương trình được cung cấp nguồn tàinguyên từ xa.

• Một ví dụ về một API mà bỏ qua các mô hình điện toán lưới cơ bản, để cungcấp cho lập trình viên một mô hình khác, để phát triển phần mềm, gọi là MPICH-G2(Karonis,Toonen, & Foster, 2003) Nó bao gồm một thư viện được liên kết với mộtchương trình có sử dụng Message Passing Interface (MPI) để cho phép các ứng dụnglàm việc trên điện toán lưới một cách trong suốt

• GridSuperscalar (Badia và cộng sự, 2003) là một mô hình lập trình cho phépcác ứng dụng chạy trên điện toán lưới Người lập trình xác định các chức năng nàotrong đoạn mã của họ, có thể chạy trên các nguồn tài nguyên từ xa, sau đó xác địnhcác dữ liệu phụ thuộc đối với từng chức năng, và sau khi viết xong code, cần thực thixác định sự phụ thuộc của dữ liệu và mỗi địa điểm thực hiện nhiệm vụ trong điệntoán lưới, truyền tải dữ liệu phù hợp để mỗi công việc có thể được hoàn thành

• Một mô hình lập trình khác nhằm xây dựng tính năng mới trên cả Grid làSWIFT (Zhao và cộng sự, 2007) Nó cung cấp một ngôn ngữ định nghĩa việc tínhtoán và dữ liệu phụ thuộc, và được thiết kế đặc biệt để xử lý được các việc với sốlượng lớn một cách hiệu quả trong khi giảm bớt việc xác định thứ tự thực hiện

Có lẽ sự khác biệt chính trong mô hình Cloud PaaS so với mô hình tùy chọn được

mô tả trong mô hình Grid là cần phải sử dụng mẫu chung thấp nhất khi thực hiện cácdịch vụ mới Lý do của việc này là mức độ tương thích với các phần trung gian cóliên quan trực tiếp đến số lượng tài nguyên có sẵn: nếu dịch vụ của người sử dụngkhông đảm bảo được việc truy cập tài nguyên từ xa, nó sẽ sử dụng tất cả các nguồn

dữ liệu đó một cách bình thường, mặt khác, các dịch vụ đòi hỏi phải có thêm phầnmềm được cài đặt trên các máy tính mục tiêu nên sẽ có ít ứng cử viên để thực hiện

Trang 38

Trong trường hợp mô hình Cloud, yêu cầu này không phải là nghiêm ngặt với hai

lý do sau: đầu tiên là giải pháp PaaS được gắn sâu đến các nhà cung cấp Cloud, và do

đó chúng được thiết kế chung với phần còn lại của cơ sở hạ tầng, và thứ hai là các tàinguyên cần cung cấp với các thư viện cần trang bị dễ dàng hơn nhiều so với điện toánlưới, nên cho phép các node mới được sinh ra với môi trường theo yêu cầu Trongtrường hợp của điện toán lưới, các phần mềm cần thiết được cài đặt trong các nguồntài nguyên thực hiện thường cần phải con người điều hành, làm cho quá trình tốn kémhơn

2.2.2.3 Application

Không có sự phân biệt rõ ràng giữa các ứng dụng phát triển trên Grid và nhữngứng dụng phát triển trên Cloud để thi hành lệnh và lưu trữ Lựa chọn nền tảng khôngảnh hưởng đến kết quả cuối cùng, kể từ khi tính toán đại diện cho các hệ thống cơbản, nó có trạng thái khác nhau để phù hợp với các API và các nguồn lực sẵn có.Mặt khác, không thể phủ nhận rằng đại đa số các ứng dụng điện toán lưới đều xửdụng trong lĩnh vực các phần mềm nghiên cứu khoa học, trong khi phần mềm chạytrong điện toán đám mây mang tính thương mại cao hơn Ở đây chúng tôi cố gắngxác định một số nguyên nhân có thể cho các cấp độ khác nhau thông qua các côngnghệ cho sự phát triển của ứng dụng:

• Thiếu cơ hội kinh doanh trong Grid Coputing: Thường các ứng dụngmiddleware của Grid được cài đặt chỉ trong phần cứng dành sử dụng cho việc nghiêncứu khoa học Hiện tượng này đã không tạo cơi hội kinh doanh thành công trong việckhai thác công nghiệp Ngược lại, điện toán đám mây thường được hỗ trợ bởi ngànhcông nghiệp, nên có những cách tốt hơn để kiếm tiền từ các khoản đầu tư của họ

• Các công cụ Grid phức tạp Có lẽ do mục tiêu cung cấp một tiêu chuẩn hóa, mộtkích thước phù hợp cho tất cả các giải pháp, việc quả lý và cài đặt ứng dụng Gridtrung gian rất phức tạp và khó khăn Mặt khác, cơ sở hạ tầng Cloud thường được pháttriển bởi các nhà cung cấp để phù hợp với nhu cầu của tổ chức và với mục đích cụthể, làm cho chúng dễ dàng sử dụng hơn và có các giải pháp theo định hướng sẵn

Trang 39

• Mối quan hệ với các phần mềm mục tiêu: Hầu hết các phần mềm Grid đượcphát triển với các ứng dụng khoa học, điều đó không đúng cho phần lớn các hệ thốngĐiện toán đám mây Các chương trình thuộc lĩnh vực khoa học cần các nguồn thựcthi để đạt hiệu quả và nhiều nguồn thực thi trong đó không thực thi được trên Cloudmột cách hiệu quả, ví dụ trên công nghệ ảo hóa.Cloud đặt mục tiêu nhiều hơn cho cácứng dụng web Những khác nhau tương đồng với các điểm khác nhau về mô hình làmcho cả hai giải pháp đặc biệt hiệu quả cho ứng dụng mục tiêu của chúng.

2.3 Kỹ thuật

2.3.1 Định hướng dịch vụ và dịch vụ web

Cloud vừa là một nhà cung cấp dịch vụ (ví dụ như IaaS, PaaS và SaaS) và vừa làmột nơi để lưu trữ dịch vụ thay cho khách hàng Để thực hiện các hoạt động đặctrưng trước đây trong khi vẫn duy trì tính linh hoạt, các chức năng quản lý trongCloud được xây dựng từ các thành phần của phần mềm Grid Coputing phải đối mặtvới những thách thức tương tự trong việc xây dựng cơ sở hạ tầng phân tán để hỗ trợ

và phát triển các chức năng quản lý như an ninh, quyết định công việc, tạo các tổchức ảo Nguyên tắc kiến trúc của điện toán lưới là dịch vụ định hướng (SO) với cácthành phần phần mềm kết nối bởi Dịch vụ Web (WS) Phần này đưa những đóng gópcủa Open Grid Forum (OGF) vào SO trong điện toán phân tán và cách áp dụng chođiện toán đám mây SO như một kiến trúc, và dịch vụ web như một cơ chế giao tiếpgiữa các thành phần được tạo ra trong bối cảnh tương đồng giữa điện toán lưới vàđiện toán đám mây

Thiết kế của Grid ít nhận được lợi thế của khách hàng và mô hình dịch vụ đượctriển khai một cách phù hợp trong các môi trường tính toán phân tán Cách tiếp cậnban đầu của Grid là SO, gọi là Open Grid Services Infrastructure (OGSI) OGSI đượcxây dựng trên tất cả các tiêu chuẩn mới của Web Services, thể hiện giao diện giữa cácthành phần trong một ngôn ngữ trung lập dựa trên XML schemas.Trong khi WS làmột giao diện trung gian, OGSI đã cố gắng để làm cho nó trở thành hướng đối tượngbằng cách thêm các phương pháp cần thiết

Trang 40

Sau đó, cộng đồng Grid hoạt động theo các tiêu chuẩn WS, mở rộng đặc điểm kỹthuật WS dựa trên kinh nghiệm sử dụng SOA Điều này dẫn đến sự ra đời của OpenGrid Services Architecture (OGSA), được thực hiện trong phiên bản 3 của bộ công cụGlobus OGSA chứa phần mở rộng các tiêu chuẩn WS quan trọng mà bây giờ đượcdùng để mô tả.

Trong Grid và Cloud các thành phần dịch vụ tiêu biểu nhất như cung cấp cấu hình

hệ điều hành, tạo một máy ảo, hoặc gửi đi một công việc được chạy trong khoảngthời gian lâu dài.Một phần dịch vụ của các thành phần này đòi hỏi một mô hình lậptrình không đồng bộ.Một thành phần dịch vụ tiêu dùng gọi một nhà cung cấp dịch vụWeb và ngay lập tức được chấp nhận để người gọi không giữ quá trình của mình, mà

mở ra một liên kết truyền thông Các thành phần cung cấp dịch vụ không đồng bộ cậpnhật thông tin cho người dùng như các thay đổi trạng thái của người dùng Kiến trúccủa Grid ghi nhận tầm quan trọng của việc hỗ trợ từ các mô hình không đồng bộ vàtích hợp phương pháp này vào dịch vụ Web thông qua các phần mở rộng WS-Addressing và WS-Notify Đặc tả WS-Addressing định nghĩa cơ chế đánh địa chỉ chodịch vụ web và thông điệp, nó định nghĩa các phần tử XML để xác định các điểmcuối của dịch vụ web và để đảm bảo phân biệt các điểm cuối này trong thông điệp.Thông báo dựa trên WS-Addressing xác định các thành phần được thông báo về sựthay đổi trạng thái

Liên quan đến hoạt động dịch vụ về thời gian sống và mô hình truyền thông khôngđồng bộ là yêu cầu để duy trì và chia sẻ trạng thái thông tin.Về nguyên tắc, một giaodiện WS là stateless mặc dù có nhiều cách để xây dựng các ứng dụng dựa trên WS

mà vượt qua trạng thái của các thông báo hoạt động.Thách thức là để tích hợp các đặcđiểm kỹ thuật WS với một tiêu chuẩn cho statefulness mà không làm phiền cácstateless của mô hình giao diện WS.Các OGF đạt được mục tiêu này trong việc pháttriển các bộ khung tài nguyên dịch vụ web (Web Service Resource Framework(WSRF)).WSRF cho phép thiết kế mẫu hướng đối tượng (factory methods) trong việc

Ngày đăng: 09/04/2015, 19:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[7] Nguyễn Thị Châm Anh (2012), Tìm hiểu và ứng dụng công nghệ Cloud computing với nền tảng Google app engine, luận văn thạc sỹ, trường Đại học Công Nghệ Sách, tạp chí
Tiêu đề: Tìm hiểu và ứng dụng công nghệ Cloud computing với nền tảng Google app engine
Tác giả: Nguyễn Thị Châm Anh
Năm: 2012
[8] Nguyễn Hồ Yến Nhi, Trịnh Văn Qui, Võ Hà Tiến (2011), Nghiên cứu và triển khai ứng dụng web trên nền tảng App Engine của Google, luận văn tốt nghiệp, trường Đại học Nông Lâm, tp.HCM Sách, tạp chí
Tiêu đề: Nghiên cứu và triển khai ứng dụng web trên nền tảng App Engine của Google
Tác giả: Nguyễn Hồ Yến Nhi, Trịnh Văn Qui, Võ Hà Tiến
Năm: 2011
[10] Giáo trình “Tính Toán Lưới”, PGS.TS Nguyễn phi Khứ, ĐH Quốc Gia TP HCM. Tiếng Anh Sách, tạp chí
Tiêu đề: Tính Toán Lưới
[11] Borko Furht, Armando Escalante (2010),Handbook of Cloud Computing, Springer Sách, tạp chí
Tiêu đề: Handbook of Cloud Computing
Tác giả: Borko Furht, Armando Escalante
Năm: 2010
[12] Dan Sanderson (2012),Programming Google App Engine 2 nd Edition, Oreilly Sách, tạp chí
Tiêu đề: Programming Google App Engine 2"nd"Edition
Tác giả: Dan Sanderson
Năm: 2012
[13] Charles Severance (2009), Programming Google App Engine, Oreilly Sách, tạp chí
Tiêu đề: Programming Google App Engine
Tác giả: Charles Severance
Năm: 2009
[14] Eugene Ciurana (2008), Developing with Google App Engine, Apress Sách, tạp chí
Tiêu đề: Developing with Google App Engine
Tác giả: Eugene Ciurana
Năm: 2008
[15] The Role of Grid Computing Technologiesin Cloud Computing (2012), Handbook of Cloud Computing, Springer Sách, tạp chí
Tiêu đề: Handbook of Cloud Computing
Tác giả: The Role of Grid Computing Technologiesin Cloud Computing
Năm: 2012
[9] Tính toán lưới và một số vấn đề nghiên cứu, phát triển tính toán lưới tại Việt Nam. Vũ Đức Thi, Trần Văn Lăng, Hội thảo quốc gia lần thứ XI: Một số vấn đề chọn lọc của CNTT - TT Khác

HÌNH ẢNH LIÊN QUAN

Hình thức web để cho phép người dùng đăng ký mới, và có các ứng dụng web bổ  sung để duy trì cơ sở dữ liệu của khách hàng và tạo ra thông tin quan trọng, chẳng  hạn như Eucalyptus hay Amazon. - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình th ức web để cho phép người dùng đăng ký mới, và có các ứng dụng web bổ sung để duy trì cơ sở dữ liệu của khách hàng và tạo ra thông tin quan trọng, chẳng hạn như Eucalyptus hay Amazon (Trang 31)
Hình 10: Khai báo chi tiết cho dự án mới khởi tạo. - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 10 Khai báo chi tiết cho dự án mới khởi tạo (Trang 76)
Hình 11: Cấu trúc thư mục dự án mới khởi tạo Chú thích : - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 11 Cấu trúc thư mục dự án mới khởi tạo Chú thích : (Trang 77)
Hình 12: Tạo một ứng dụng mới - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 12 Tạo một ứng dụng mới (Trang 78)
Hình 13: Khai báo tạo một ứng dụng mới - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 13 Khai báo tạo một ứng dụng mới (Trang 79)
Hình 18: Màn hình chạy ứng dụng trên máy cục bộ thành công - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 18 Màn hình chạy ứng dụng trên máy cục bộ thành công (Trang 81)
Hình 17: Màn hình thông tin chạy ở Eclipse console - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 17 Màn hình thông tin chạy ở Eclipse console (Trang 81)
Hình 19: Deploy ứng dụng lên App Engine - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 19 Deploy ứng dụng lên App Engine (Trang 82)
Hình 21: Deploy ứng dụng web lên GAE. - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 21 Deploy ứng dụng web lên GAE (Trang 83)
Hình 28:  Các bước trong quá trình cài đặt GAE plug-in - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 28 Các bước trong quá trình cài đặt GAE plug-in (Trang 97)
Hình 30: Các bước trong quá trình cài đặt GAE plug-in - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 30 Các bước trong quá trình cài đặt GAE plug-in (Trang 98)
Hình 31: Chấp thuận bản quyền cài đặt GAE plug-in - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 31 Chấp thuận bản quyền cài đặt GAE plug-in (Trang 99)
Hình 32: GAE plug-in đang được cài đặt. - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 32 GAE plug-in đang được cài đặt (Trang 100)
Hình 35: Cài đặt plug-in GAE trên Eclipse JUNO 4.2 thành công. - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 35 Cài đặt plug-in GAE trên Eclipse JUNO 4.2 thành công (Trang 101)
Hình 34: Các bước trong quá trình cài đặt GAE plug-in - Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE
Hình 34 Các bước trong quá trình cài đặt GAE plug-in (Trang 101)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w