Tải bản đầy đủ (.doc) (101 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.23 MB, 101 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin
BÁO CÁO HỌC PHẦN
ĐỀ TÀI:
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
GVHD: PGS.TS. Nguyễn Phi Khứ
Thực hiện: Nguyễn Văn Sang - CH1101128
Nguyễn Thị Phương Trang - CH1101050
Lớp: CNTT. K6
TP.HCM – 07/2013
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -2-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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ộc
số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 đám
mâ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. Trong
khi đó, đ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 đặc
thù 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ăng
lự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úng tú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ác
phầ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 a
Service) 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 Phi
Khứ, 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ực
cô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 em
hoàn thành tốt bài luận này.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -3-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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 em
kí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.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -4-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
LỜI MỞ ĐẦU 3
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
CHƯƠNG 3. TÌM HIỂU VỀ GOOGLE APP ENGINE 57
CHƯƠNG 4. SỬ DỤNG DATASTORE CỦA GAE TRÊN NGÔN NGỮ JAVA 67
CHƯƠNG 5. PHÁT TRIỂN ỨNG DỤNG WEB TRÊN NỀN GAE 73
CHƯƠNG 6 – KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 93
TÀI LIỆU THAM KHẢO 94
PHỤ LỤC 96
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -5-

Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
MỤC LỤC HÌNH
Hình 1: Mô hình cộng tác trong Grid Computing 14
Hình 2: Sự tiến hóa thành Coud computing 17
Hình 3: Mô hình cộng tác trong Cloud computing 21
Hình 4: Tổng quan về Grid và Cloud 29
Hình 5: Các lớp của Grid Computing và Cloud Computing 30
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 75
Hình 10: Khai báo chi tiết cho dự án mới khởi tạo 76
Hình 11: Cấu trúc thư mục dự án mới khởi tạo 77
Hình 12: Tạo một ứng dụng mới 78
Hình 13: Khai báo tạo một ứng dụng mới 79
Hình 14: Màn hình đăng ký ứng dụng thành công 79
Hình 15: Khai báo “Application Identifier” cho dự án 80
Hình 16: Chạy ứng dụng trên máy local 80
Hình 17: Màn hình thông tin chạy ở Eclipse console 81
Hình 18: Màn hình chạy ứng dụng trên máy cục bộ thành công 81
Hình 19: Deploy ứng dụng lên App Engine 82
Hình 20: Deploy dự án lên GAE 82
Hình 21: Deploy ứng dụng web lên GAE 83
Hình 22: Đăng nhập vào Google trước khi sử dụng ứng dụng 91
Hình 23: Chấp nhận điều khoản của Google 91
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -6-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
Hình 24: Màn hình gửi mail được deploy lên Google Engine 92

Hình 25: Màn hình thông báo viêc gửi email thành công 92
Hình 26: Hộp thư đã có thư từ người gửi 92
Hình 27: Khởi động Eclipse JUNO 4.2 96
Hình 28: Các bước trong quá trình cài đặt GAE plug-in 97
Hình 29: Chọn thư mục GAE plug-in đã được giải nén 97
Hình 30: Các bước trong quá trình cài đặt GAE plug-in 98
Hình 31: Chấp thuận bản quyền cài đặt GAE plug-in 99
Hình 32: GAE plug-in đang được cài đặt 100
Hình 33 Cài đặt GAE plug-in, đồng ý với Security Warning 100
Hình 34: Các bước trong quá trình cài đặt GAE plug-in 101
Hình 35: Cài đặt plug-in GAE trên Eclipse JUNO 4.2 thành công 101
MỤC LỤC BẢNG
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -7-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
DANH SÁCH CHỮ VIẾT TẮT
API Application Programming Interfaces
CSDL Cơ sở dữ liệu
FTP File Transfer Protocol
GAE Google App Engine
GWT Google Web Tootkit
HTTP Hyper Text Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
SaaS Software as a Service
PaaS Platform as a Service
IaaS Infrastructure as a Service
JDK Java Development Kit
JPA Java Persistence API
JVM Java Virtual Machine
SDK Software Development Kit

URL Uniform Resource Locator
XMPP Extensible Messaging and Presence Protocol
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -8-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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 (Utility
Computing), 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 nhanh
chó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át
triển của các ứng dụng nền tảng CNTT qua Internet hoặc “đám mây” để cung cấp
nhữ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àng
nă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ẽ cung
cấ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ều
và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úp
nhiề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áy
chủ để 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ảng
mộ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ất
nhiề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án
mạ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 đám
mâ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

Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -9-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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âu
và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án
mạ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ự động
phụ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ết
nhữ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òn
lạ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ủa
Google 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: trong
chươ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ự án
web 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.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -10-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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 đời
xuấ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án
phứ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ính
toá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ài
nguyê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ế
cho thấ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ác má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ưới
hướ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 được
tiế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:
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -11-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
- 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ểu
theo 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ính
toá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ác
CSDL, các phần mềm đặc biệt và đắt giá ; các đường truyền mạng Các tài
nguyê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ệc
tạ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ồn

tà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ức
tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào
lướ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ên
củ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ện
nă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ện
toá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
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
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -12-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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ức
khác nhau (từ các nhà cung cấp), để đáp ứng nhu cầu sử dụng của khách hàng. Các
nguồ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ên
phầ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ện
toá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à cung
cấ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êu
chuẩn cho phép của các chính sách sử dụng tài nguyên.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -13-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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êu
dù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ọ. Resource
broker đó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ài
nguyên vật lý. Grid được tận dụng để cung cấp tài nguyên cho một nhiệm vụ tính
toá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ệc
cung 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ác
máy tính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả các
server 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ỗi
nà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ận
rộ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ửi
cá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ức
nă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ặp
cá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,
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -14-
Hình 1: Mô hình cộng tác trong Grid Computing
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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ài
nguyê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ài
việ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 Grid
cung 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
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ời
tiế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 chung
vớ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ên
khá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ép

chia 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ông
mạ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ột
ngườ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 trong
Grid có các kết nối Internet riêng, từ đó băng thông truy cập Internet của anh ta tăng
lê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àm
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -15-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
ngư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ông
nghệ 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ông
nghệ đó. 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
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ệc
trê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ậy
tố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ài
việ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 Grid

cung 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
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ời
tiế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.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -16-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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âm
nghiê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ư được
trình bày trong hình 2.
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ững
khá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ới
nhau 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ính
cụ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ống
lướ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
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -17-
Hình 2: Sự tiến hóa thành Coud computing
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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ác
tà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ài
nguyê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ường
lướ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ên

dướ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
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ột
dị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 ảo
cho 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ần
mề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ức
nà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án
lướ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ám
sá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
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -18-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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 động
thô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.
2.1.2.2. Định nghĩa điện toán đám mây:
IDC
1
xác định hai khía cạnh cụ thể của Cloud: Cloud Services và Cloud
Computing.
Cloud Services là "người tiêu dùng và các sản phẩm kinh doanh, dịch vụ và các
giải pháp được cung cấp và tiêu thụ trong thời gian thực trên Internet", trong khi
Cloud Computing là "một vấn đề CNTT đang được quan tâm, nghiên cứu, quá trình
triể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 gian
thực, dịch vụ và các giải pháp trên Internet (Cloud Services)". Chúng tôi sẽ tập trung
và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ỉnh
như 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ằng
cá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ên
1
/>Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -19-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
của người dùng để thỏa mãn một sự đồng thuận cụ thể ở mức dịch vụ. Sự đồng

thuậ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 Cloud
2
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
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ách
hà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ầu
tí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ên
yê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ên
cầ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ận
thô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 cung
cấp từ các Cloud bên ngoài để đáp ứng nhu cầu của doanh nghiệp (E1) và yêu cầu
cô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ấp
Cloud đều có thể thuộc về một công ty và do đó tạo thành một mô hình private
Cloud.
2
/>Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -20-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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 SOA
và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ấp
giao 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ác
thô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 mong
muố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ủa
Web 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
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -21-
Hình 3: Mô hình cộng tác trong Cloud computing
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
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ợp
hoạ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ạng
mộ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ười
dù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ức
nă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ỉ
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 đối
tượng dựa trên nền giao thức HTTP và định dạng XML .Giao thức SOAP cho phép
các thành phần đối tượng và ứng dụng Internet có thể dễ dàng trao đổi với nhau

thông qua chuẩn HTTP. Nói cách khác, SOAP là giao thức được xây dựng dựa trên
giao 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ình
XML 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ệu
WSDL 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ác
vớ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ên
lạ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ột
dị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.
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -22-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
Thực thể danh bạ (directory) UDDI là một tập tin XML dùng để mô tả doanh
nghiệ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ới
mộ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 ảo
hó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 di
chuyể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ế
quan trọng trong việc chia sẻ, quản lý và cô lập (khả năng cho phép nhiều người
dù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ưởng
lẫ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ối
mạ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ột
mô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ên
cá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
( Microsoft Virtual PC và Parallels (
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ương
phá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ần
với tốc độ thật hơn. Kỹ thuật này được áp dụng trong Xen
( và User-Mode Linux
( />• Ảo hóa mức hệ điều hành (OS level virtualization): Kỹ thuật này thực hiện
việ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ư
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -23-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
FreeBSD jails ( và Solaris10 zones
( />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ân
tá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ành khá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 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ành
khá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ới
nhu cầu sử dụng của từng tổ chức cụ thể. Nhìn chung, ta có thể chia hệ thống đám
mâ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ười
bá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ần
cô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ý, cung
cấ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ấp
vớ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ác
trườ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 con
nhỏ hơn so với những gì mà chúng đã có nếu nguồn tài nguyên đã được người dùng
kiể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ểm
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -24-
Báo cáo học phần Tính toán lưới
Giảng viên: PGS. TS. Nguyễn Phi Khứ
soá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ều
nà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ủa
doanh 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ý.
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 ra
chi 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ểm
soá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ại
cho 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ẽ được
phâ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 đám
mâ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ển
khai. 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ấp
Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -25-

×