Tải bản đầy đủ (.docx) (128 trang)

Tiểu luận môn tính toán lưới KHAI THÁC DỊCH VỤ CLOUD COMPUTING

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.66 MB, 128 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN GRID COMPUTING
Tên Đề Tài:
KHAI THÁC DỊCH VỤ CLOUD
COMPUTING
Giảng viên hướng dẫn : PGS. TS. Nguyễn Phi Khứ
Học viên thực hiện : Đoàn Vũ Ngọc Duy (CH1101010)
Trịnh Duy Sâm (CH1101035)
Lớp : Cao Học-CNTT Khóa 6
LỜI NÓI ĐẦU
Cho đến nay điện toán lưới(Grid Computing) là một lĩnh vực mới mẻ và hấp
dẫn trong ngành công nghệ thông tin. Với khả năng tận dụng các nguồn tài nguyên
nhàn rỗi môi trường điện toán lưới có thể đem lại cách giải quyết tối ưu cho những
bài toán lớn cả về mặt kinh tế lẫn thời gian thực hiện mà hiện nay các hệ thống siêu
máy tính cũng như các cluster vẫn còn gặp một số khó khăn khi giải quyết. Mặc dù
điện toán lưới đã đạt được một số kết quả nhất định nhưng các viện nghiên cứu và
nhiều người quan tâm đến lĩnh vực công nghệ thông tin vẫn tập trung nghiện cứu để
hướng tới một hệ thống lưới hoàn chỉnh trên phạm vi toàn cầu. Tại Việt Nam công
nghệ này có thể nói là vẫn còn khá mới mẻ, nó chỉ được biết tới trong các đề tài
nghiên cứu khoa học, trong các viện chuyên môn mà chưa được xem xét nghiên cứu
kỹ tại các trường đại học
Trong vài năm qua, Công nghệ thông tin đã bắt đầu một mẫu hình mới - điện
toán đám mây. Mặc dù điện toán đám mây chỉ là một cách khác để cung cấp các tài
nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi
một cuộc cách mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức. Lúc
đầu điện toán trên máy tính lớn (mainframe) thống trị công nghệ thông tin. Cấu
hình mạnh mẽ này cuối cùng đã cho ra đời mô hình khách-chủ. Công nghệ thông tin
hiện đại ngày càng trở thành một chức năng của công nghệ di động, điện toán lan
tỏa hoặc mọi nơi và tất nhiên, cả điện toán đám mây. Trong bài tiểu luận này chúng


em xin trình bày về các đặc điểm, những lợi ích và khó khăn khi sử dụng các dịch
vụ này thông qua đề tài “khai thác dịch vụ Cloud computing”
2
3
CHƯƠNG I – GIỚI THIỆU
1. Giới thiệu Grid computing – điện toán lưới
a. Nguồn gốc điện toán lưới
Cũng giống như các công nghệ tính toán khác, điện toán lưới xuất phát từ
nhu cầu tính toán của con người. Thực tiễn ngày càng đặt ra những bài toán phức
tạp hơn và do vậy các tổ chức cũng cần phải có năng lực tính toán mạnh mẽ hơn.
Các tổ chức giải quyết vấn đề này bằng hai cách:
Đầ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, cluster…). Tuy nhiên cách làm này cómột nhược điểm là tốn
kém tiền của, số trang thiết bị sẽ tỉ lệ thuận với độ phức tạp của bài toán.
Có một cách làm khác hiệu quả hơn đó là phân bố lại tài nguyên hợp lý 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à việc thuê
này sẽ có chi phí ít hơn nhiều so với việc đầu tư mới trang thiết bị).
Cách giải quyết thứ hai này chính là mục tiêu và lànguồn gốc yêu cầu cho sự
hình thành của tính toán lưới. Các nhà khoa học tại Argone National Labs
thuộc đại học Chicago (Mỹ) là những người đầu tiên đề xuất ý tưởng về điện toán
lưới. Cũng như nhiều ý tưởng cách mạng khác trong tin học như World Wide Web,
siêu máy tính … điện toán lưới được hình thành bởi nhu cầu thực tế là mong muốn
đạt tới giới hạn của khả năng tính toán.
b. Khái niệm điện toán lưới
Hiện nay tồn tại khá nhiều định nghĩa khác nhau về điện toán lưới và vẫn
chưa có được một định nghĩa nào được coi là chuẩn. Khóa luận trình bày định nghĩa
về tính toán lưới của Ian Foster, đây là định nghĩa sớm và chuẩn nhất về điện toán
lưới, định nghĩa này được ông đưa ra trong một bài báo được mang tên “What is
Grid ?”.
“Grid là một loại hệ thống tính toán song song, phântá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
4
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
với nhau để chia sẻ tài nguyên 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”
Ta cũng có thể hiểu rằng: điện toán lưới là một cơ sở hạ tầng tin học cụ thể
báo gồm và phần cứng và phần mềm cho phép người sử dụngkhai thác các tài
nguyên trên cá máy trạm hay máy chủ với tốc độ cao với độ tin cậy, giá thành chấp
nhận được và hệ thống có xu hướng trong suốt với người dùng. Điện toán lưới
chính là bước phát triển tiếp theo của tính toán phân tán. Mục đích làtạo ra một máy
tính ảo với người sử dụng, nó có khả năng tính toán lớn, thậm chí trên cả một siêu
máy tính.
Ý tưởng về điện toán lưới rất có ý nghĩa thực tế. Bởi lẽ, hiện nay theo các
nghiên cứu thì các máy tính cá nhân thường chỉ sử dụng từ 5-10% năng lực tính
toán còn các máy chủ, siêu máy tính cũng chỉ sử dụng đến 20% năng lực tính toán,
đây là sự phí phạm một nguồn tài nguyên tính toán rất lớn. Việc tận dụng hiệu quả
các nguồn tài nguyên này có thể mạng lại một sức mạnh tính toán khổng lồ. Điện
toán lưới sẽ là một giải pháp hữu hiệu khi mà mục đích sử dụng của nó tập trung
vào sử dụng tốt hơn và có hiệu quả hơn các nguồn tài nguyên nhằm chia sẻ các ứng
dụng và tăng cường sự hợp tác trong các dự án. Thuật ngữ “lưới” ở đây xuất
phát từ lưới điện (electricity grid), ngụ ý rằng bất cứ một thiết bị tương thích nào
đều có thể gắn vào trong lưới và được xếp ở một mức tài nguyên nào đó mà không
cần quan tâm đến nguồn gốc của tài nguyên đó. Trong tương lai, điện toán lưới có
thể cung cấp cho người sử dụng các dịch vụ đóng vai trò như là dịch vụ cơ sở hạ
tầng mà chúng ta có thể sử dụng hàng ngày như: điện, nước, giao thông, …
5

Các nghiên cứu về điện toán lưới đã và đang được tiến hành là 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ệ lưới hướng tới giải
quyết bao gồm:
Sự đa dạng và không đồng nhất của các tài nguyên
Tài nguyên ở đây được hiểu theo nghĩa 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 bản quyền đắt giá, các
đường truyền mạng, Các tài nguyên này có thể khác nhauvề 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 là hoàn toàn không dễ dàng.
Sự đa dạng về chính sách quản lý tài nguyên
Các tài nguyên không chỉ phụ thuộc về một tổ chức mà thuộc về nhiều tổ chức cùng
tham gia vào lưới. Các tổ chức này 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, do vậy cũng gây khó khăn cho việc quản lý.
Sự phân tán của các tài nguyên
Dễ nhận thấy rằng các tài nguyên khi tham gia vào lưới là không tập trung,
có thể ở nhiều tổ chức nhiều vùng lãnh thổ khác nhau, miễn là các tài nguyên này
có thể kết nối được với nhau vì vậy phải có cơ chế quản lý sự phântán tài nguyên
trong lưới.
Vấn đề an toàn, bảo mật thông tin
Môi trường lưới là một môi trường rất phức tạp, tuy rằng khi các tổ
chức cá nhân cùng tham gia vào một mạng lưới thì sẽ có các quy định áp dụng cho
họ nhưng cũng cần phải quan tâm đến việc bảo vệ an toàn thông tin cho các tổ chức
6
khi tham gia vào lưới, đây phải là một ưu tiên hàng đầu cho những người xây dựng
hệ thống lưới. Trong bài báo “What Is Grid ?” Ian Foster cũng đã đưa ra ba
đặc điểm của một hệ thống điện toán lưới:

Kết hợp chia sẻ các nguồn tài nguyên không đượcquản lý tập trung Grid tích
hợp và phối hợp các tài nguyên, người dùng thuộc nhiều vùng quản lý khác nhau,
nhiều đơn vị khác nhau trong một tổ chứcvà nhiều tổ chức khác nhau.
Công nghệ Grid tập trung giải quyết một số vấn đề bảo vệ tài nguyên, chính sách
quản
trị, chi phí, thành viên, …nảy sinh trong quá trìnhchia sẻ và sử dụng tài nguyên.
Sử dụng các giao diện và giao thức chuẩn mang tính mở :
Điện toán lưới sử dụng các chuẩn mở để chia sẻ qua mạng những tài
nguyên phức tạp (trên các nền tảng kiến trúc phần mềm, phần cứng và ngôn ngữ lập
trình khác nhau), nằm tại những điểm khác nhau tùy vào khu vựchành chính. Nói
cách khác nó “ảo hóa” các tài nguyên tính toán.
Điện toán lưới thường bị nhầm với tính toán phân cụm, tuy nhiên có sự khác
nhau giữa hai kiểu tính toán này: cụm tính toán là một tập đơn các nút tính toán tập
trung trên một khu vực địa lý nhất định. Lưới tính toán gồm nhiều cụm tính toán và
những tài nguyên khác (như mạng, các thiết bị lưu trữ).
Cung cấp các dịch vụ có chất lượng cao
Điện toán lưới tạo ra một mô hình để giải quyết cácbài toán tính toán lớn
bằng cách sử dụng những tài nguyên rỗi (CPU, thiết bị lưu trữ) của một loạt các
máy tính riêng rẽ, thường là máy để bàn. Hệ thống này được coi là một cụm “máy
ảo”, nhúng trong một môi trường liên lạc phân tán.
Giới thiệu Cloud computing
Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ thông tin
như một dịch vụ. Nó là một giải pháp điện toán dựa trên Internet ở đó cung cấp tài
7
nguyên chia sẻ giống như dòng điện được phân phối trên lưới điện. Các máy tính
trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác
nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một
hệ thống duy nhất.
Tính linh hoạt của điện toán đám mây là một chức năng phân phát tài nguyên
theo yêu cầu. Điều này tạo điều kiện thuận lợi cho việc sử dụng các tài nguyên tích

lũy của hệ thống, phủ nhận sự cần thiết phải chỉ định phần cứng cụ thể cho một
nhiệm vụ. Trước điện toán đám mây, các trang web và các ứng dụng dựa trên máy
chủ đã được thi hành trên một hệ thống cụ thể. Với sự ra đời của điện toán đám
mây, các tài nguyên được sử dụng như một máy tính gộp ảo. Cấu hình hợp nhất này
cung cấp một môi trường ở đó các ứng dụng thực hiện một cách độc lập mà không
quan tâm đến bất kỳ cấu hình cụ thể nào.
Tại sao lại đổ xô vào đám mây?
Có các lý do có cơ sở và quan trọng về kinh doanh và công nghệ thông tin đối
với sự dịch chuyển sang mẫu hình điện toán đám mây. Việc coi thuê ngoài như một
giải pháp có những điểm cơ bản được xem là các lý do ấy.
- Chi phí giảm: Điện toán đám mây có thể làm giảm cả chi phí vốn (CapEx)
lẫn chi phí vận hành (OpEx) vì các tài nguyên chỉ được mua khi cần và chỉ
phải trả tiền khi sử dụng.
- Cách sử dụng nhân viên được tinh giản: Việc sử dụng điện toán đám mây
giải phóng đội ngũ nhân viên quý giá cho phép họ tập trung vào việc cung
cấp giá trị hơn là duy trì phần cứng và phần mềm.
- Khả năng mở rộng vững mạnh: Điện toán đám mây cho phép khả năng
điều chỉnh quy mô ngay lập tức hoặc tăng lên hoặc giảm xuống, bất cứ lúc
nào mà không cần giao kết dài hạn.
2. Sự khác nhau giữa cloud computing và grid computing
Sự khác nhau giữa Grid Computing và Cloud Computing
8
Grid computing Cloud computing
Sức mạnh tính toán Tính toán mạnh hơn Grid
Computing; sử dụng khả
năng tính toán của internet
Sử dụng khả năng tính
toán trong nội bộ của
Cloud.
Lưu trữ Lưu trữ nhiều hơn Cloud

Computing; dùng các giao
thức để tìm kiếm các tài
nguyên thích hợp trên
mạng để lưu trữ.
Khả năng lưu trữ ít hơn
Grid Computing; dùng
các data center trong
việc lưu trữ
Tốc độ truyền dữ liệu
(trao đổi các resource
trong lúc thực thi)
Tốc độ chậm hơn Cloud
Computing; tốc độ của
đưởng truyền sử dụng
đường truyền internet, tốc
độ thường là mega byte.
Nhanh hơn Grid
Computing, việc trao
đổi resource thường
thực hiện bằng đường
truyền nội bộ, được xây
dựng để kết nối giữa các
data center. Tốc độ có
thể lên đến hàng giga
byte.
Khả năng mở rộng Có khả năng mở rộng.
Việc mở rộng được thực
hiện trên đường truyền
internet (khi có như cầu
sử dụng thêm resource thì

hệ thống sẽ tìm trên mạng
xem hiện có resource nào
đáp ứng nhu cầu của mình
phù hợp không).
Có khả năng mở rộng,
co lại dễ dàng và nhanh
(theo nhu cầu sử dụng).
Ví dụ: nếu trong một
thời điểm đang có 10
máy nhưng muốn có 20
máy thì Cloud
Computing có thể cung
cấp, hoặc muốn giảm
xuống chỉ sử dụng còn 5
máy; Cloud hổ trợ cho
9
việc này nhanh chóng.
Phạm vi Chủ yếu hướng tới khoa
học.
Chủ yếu hướng tới
thương mại, quan tâm
đến việc phục vụ nhu
cầu của khách hàng
thông qua việc cung cấp
các dịch vụ theo nhu cầu
của khách hàng.
Resource Việc sử dụng resource
thông qua việc tìm kiếm
các resource trên internet,
người dùng không thể cấu

hình tài nguyên theo ý
muốn của người dùng.
Cung cấp resource theo
dạng unified resource,
người dùng được phép
cấu hình resource theo
nhu cầu của người sử
dụng.
Phần này tập trung so sánh giữa Grids và Clouds ngang qua nhiều khía cạnh từ kiến
trúc , mô hình bảo mật, mô hình thương mại, mô hình lập trình, ảo hóa, mô hình dữ
liệu, mô hình tính toán đến “nguồn gốc (provenance)” và ứng dụng. Cả hai mô hình
tính toán về mặt tổng quát thì giống nhau nhưng trong cụ thể thì có một số điểm
khác biệt.
a. Mô hình thương mại (Business Model)
Mô hình thương mại truyền thống trong các phần mềm trước đây là các hình
thức tính phí theo một máy tính. Trong Clouds mô hình thanh toán phí linh hoạt hơn
nhiều, người khách hàng chỉ cần trả theo nhu cầu sử dụng như các loại phí sinh hoạt
hàng ngày mà họ phải trả: điện, nước, gas v.v. Ngoài ra Clouds còn hỗ trợ khả
năng mở rộng hệ thống mang tính kinh tế, tức là người sử dụng có thể triển khai với
hệ thống ngày một lớn hơn với chi phí phù hợp. Các tiềm năng hiện có là các trung
tâm dữ liệu lớn của các tập đoàn Amazon, IBM, Sun, google v.v.
10
Người dùng trong tương lai chỉ cần một thẻ tín dụng đã có thể truy cập theo
nhu cầu đến hàng 100 000 bộ xử lý ngang qua hàng chục trung tâm dữ liệu trải khắp
thế giới.
Mô hình thương mại của Grids là hướng đến các dự án nghiên cứu trong môi
trường học thuật như các đại học, viện nghiên cứu, phòng thí nghiệm của chính phủ.
TeraGrid làm một ví dụ điển hình cho hình thức thương mại của Grid, nó sử dụng
hàng chục Grid khác nhau từ các viện nghiên cứu trong cùng một quốc gia. Khi một
tổ chức nào đó gia nhập vào TeraGrid thì sẽ có thể truy cập đến các Girds khác và

đồng thời có thể sử dụng tài nguyên, kết quả thí nghiệm … trên hệ thống Grid này.
Mô hình này đã được ứng dụng rộng rải nhiều nơi trên thế giới. Có nhiều nỗ lực để
xây dựng một Grid kinh tế cho cở sở hạ tầng Grid toàn cầu, nó hỗ trợ thương mại,
đàm phán, cung cấp dịch vụ theo nhu cầu sử dụng, khả năng rủi ro, chi phí và sở
thích của người sử dụng. Nếu như các cố gắng này mang đến kết quả khả quan thì
mô hình thương mại của Grids và Clouds thật khó phân biệt trong tương lai.
c. Kiến trúc (Architecture)
Phần này trình bày mô hình kiến trúc của Grids và Clouds để làm nổi bật sự
khác biệt trong hướng tiếp cận của cả hai. Trong khi Grids tập trung trên việc tích
hợp các tài nguyên sẵn có gồm cả phần cứng, hệ điều hành, cở sở hạ tầng an ninh
của các hệ thống thì Clouds hướng đến các cấp độ khác nhau của dịch vụ nhằm đáp
ứng tối đa nhu cầu người sử dụng như SaaS, IaaS, PaaS.
Để hỗ trợ cho việc tạo ra các tổ chức ảo (Virtual Organizations) – một thực
thể luận lý mà bên trong nó các tài nguyên phân bố có thể được khám phá và chia sẻ
như thể trong cùng một tổ chức, Grids đã định nghĩa và cung cấp một tập các giao
thức chuẩn, phần mềm cơ sở (middleware), bộ công cụ và các dịch vụ được xây
dựng trên tập giao thức này. Khả năng hoạt động liên kết và tính an toàn là những
vấn đề chính được quan tâm cho cơ sở hạ tầng Grids bởi vì các tài nguyên có thể
đến từ các miền quản trị khác nhau, có cả chính sách sử dụng tài nguyên cục bộ và
11
toàn cục khác nhau, các nền và cấu hình phần cứng và phần mềm cũng khác nhau
về khả năng sử dụng và tính sẵn sàng của chúng.
Grids cung cấp các giao thức và dịch vụ ở 5 lớp khác nhau như được minh họa bởi
hình sau:
Hình 1 Kiến trúc Grid computing
Lớp connectivity định nghĩa các giao tiếp và chứng thực cốt lõi cho quá trình
giao tác an toàn và dễ dàng qua mạng. Lớp resource định nghĩa các giao thức công
bố, khám phá, đàm phán, giám sát, kế toán và thanh toán chi phí cho các hoạt động
trên các tài nguyên riêng biệt. Lớp collective nắm giữ sự tương tác ngang qua các
tập tài nguyên, dịch vụ thư mục cho phép giám sát và khám phá ra các tài nguyên tổ

chức ảo. Cuối cùng là lớp application bao gồm các ứng dụng người dùng được xây
dựng trên đầu của các giao thức.
Clouds được phát triển để giải quyết những bài toán tính toán mở rộng qua
Internet trong đó một số giả thiết là khác biệt so với Grids. Clouds thường được
xem như là một “hồ” tính toán và lưu trữ có thể được truy cập thông qua các giao
thức chuẩn và qua một giao tiếp trừu tượng. Thật ra Clouds có thể được hiện thực
12
trên nhưng công nghệ Grids đã tồn tại hàng thập niên nhưng hướng vào kiến trúc 4
lớp sau:
Lớp Fabric gồm các tài nguyên phần cứng, lớp Unified Resource chứa các tài
nguyên được trừu tượng hóa để có thể xuất hiện đồng nhất với người dùng, lớp
Platform thêm vào một tập các công cụ, phần mềm và dịch vụ trên lớp Unified
Resource, lớp Application là lớp chứa các ứng dụng chạy trên Clouds. Hình 2 minh
họa một kiến trúc của Clouds.
Hình 2: Kiến trúc Clouds computing
Kiến trúc của Clouds nhằm hướng đến ba mô hình dịch vụ sau: Software as a
Service – SaaS, Platform as a Service – PaaS, Infrastructure as a Service – IaaS.Tuy
nhiên người sử dụng có thể yêu cầu đan xen hay tổng hợp các loại hình dịch vụ này.
Infrastructure as a Service: Mô hình này cho phép cung cấp phần cứng, phần
mềm và thiết bị với hình thức chi trả dựa trên tài nguyên sử dụng. Cơ sở hạ tầng
(infrastructure) có thể mở rộng hay thu nhỏ một cách linh hoạt tùy theo nhu cầu.
13
Các ví dụ tiêu biểu là Amazon EC2 (Elastic Cloud Computing), S3 (Simple Storage
Service).
Platform as a Service: đưa ra môi trường tích hợp cấp cao để xây dựng,
kiểm tra, và triển khai các ứng dụng tùy ý. Một cách tổng quát các nhà phát triển
ứng dụng sẽ phải chấp nhận một số hạn chế trên các kiểu phần mềm mà họ có thể
viết đổi lại tính mở rộng gắn liền với ứng dụng. Ví dụ điển hình là Google App
Engine.
Sofware as a Service: hướng tới việc phân phối phần mềm với yêu cầu cụ

thể, trong mô hình này người sử dụng có thể truy cập từ xa thông qua Internet và
chi trả theo mức độ sử dụng. Salesforce là một trong những nhà tiên phong cung
cấp mô hình dịch vụ này. Ngoài ra còn có Live Mesh của Microsoft cũng cho phép
chia sẻ tập tin, thư mục đồng thời qua nhiều thiết bị.
Từ kiến trúc của Clouds và Grids cho thấy do mục tiêu hướng đến khác nhau
nên chúng có cách giải quyết vấn đề và tổ chức hệ thống khác nhau.
d. Quản lý tài nguyên (Resource Management)
Quảng lý tài nguyên là vấn đề quyết định khả năng hoạt động của hệ thống
và đương nhiên nó không thể thiếu trong các hệ thống lớn như Grids và Clouds.
Trong phần này, đề cập đến những thách thức chính mà cả Grids và Clouds phải đối
mặt để thấy được điểm tương đồng và khác biệt trong hai mô hình.
Mô hình tính toán (Compute Model): Hầu hết các Grids sử dụng mô hình
tính toán bó batch-scheduled compute model) cùng với một bộ quản lý tài nguyên
cục bộ như PBS, SGE, Condor để quản lý tài nguyên tại các vị trí khác nhau. Với
phương thức quản lý này. Grids không thể phục vụ tốt cho các chương trình yêu cầu
nhiều bộ xử lý và thực thi trong thời gian dài. Chẳng hạn trong trường hợp một
chương trình cần 100 bộ xử lý và thực thi trong 60 phút, nó phải đợi đến khi hệ
thống có đủ 100 bộ xử lý và rảnh trong 60 phút. Mô hình tính toán trong Clouds
hoàn toàn khác, các người dùng được sử dụng tài nguyên đồng thời mặc dù phải
14
đảm bảo được chất lượng dịch vụ cho người sử dụng. Đây cũng là một trong những
thách thức của Clouds về khả năng mở rộng và khi số lượng người dùng lớn.
Mô hình dữ liệu (Data Model): Mô hình dữ liệu có khuynh hướng trong
tương lai là mô hình tương tác tam giác như chỉ ra trong hình sau.
Tính toán Internet sẽ xoay quanh mô hình dữ liệu ở trên do các nguyên nhân
khách quan từ thực tiễn. Người khách hàng không muốn đưa các dữ liệu nhạy cảm
hoặc tối quan trọng lên xử lý và lưu trữ trên Clouds. Đồng thời, người dùng cũng
muốn truy cập đến dữ liệu riêng tư của họ ngay khi các giao tiếp mạng chậm hay hư
hỏng. Ngoài ra, công nghệ đa nhân (multicore - technology) cũng mang đến cho
người dùng nhiều hệ thống con mạnh mẽ trong tương lai.

Đối với Grids, thì mô hình tính toán tập trung vào dữ liệu đa được quan tâm
từ sớm, chẳng hạn như Data Grid đã được thiết kế dành riêng cho các ứng dụng tập
trung lớn trên dữ liệu. Do đó, Grids không cần thiết đưa ra định hướng phát triển
mô hình dữ liệu như Clouds thay vào đó nó đã có mô hình chuyên biệt để sử dụng.
Tính cục bộ của dữ liệu (Data Locality): Một thách thức chính trong vấn đề
mở rộng ứng dụng một cách hiệu quả là vị trí dữ liệu liên quan đối với các tài
15
nguyên đã sẵn sàng. Việc di dời dữ liệu ở xa về các bộ xử lý một cách liên tục là
một hạn chế rõ rệt, hơn nữa quá trình nhập xuất (I/O) dữ liệu từ xa có khác biệt lớn
với I/O trên dữ liệu cục bộ và ảnh hưởng trực tiếp đến hiệu suất của hệ thống. Đây
là một định hướng được Clouds quan tâm giải quyết. Quá trình xử lý dữ liệu là kết
hợp dữ liệu liên quan và tiến trình (process) xử lý nó trong cùng một nút (node), do
đó vấn đề “data locality” sẽ được giải quyết một cách hiệu quả. Về phía Grids,
dữ liệu được lưu trữ dựa trên các hệ thống file chia sẻ như NFS, GPFS, PVFS v.v.
Nơi mà tính “data locality” không dễ dàng áp dụng, đây cũng là một điểm yếu của
Grids so với Clouds.
Kết hợp tính toán và quản lý dữ liệu(Combining compute and data
management): Tính cục bộ của dữ liệu chỉ hiệu quả khi mà số lượng người dùng và
qui mô chưa thực sự lớn. Khi hệ thống ngày càng mở rộng thì vấn đề kết hợp tính
toán và quản lý dữ liệu trở thành yếu tố quan trọng cho việc cải thiện hiệu suất. Đó
là bài toán định thời công việc (job) gần với dữ liệu mà nó sử dụng trong suốt quá
trình thực thi tránh tối đa hoạt động di dời dữ liệu qua mạng. Girds đã có các mô
hình tập trung cho các ứng dụng dữ liệu khổng lồ còn Clouds thì sẽ phải đối mặt với
vấn đề này trong tương lai.
Ảo hóa (Virtualization): Đây là công nghệ được khai thác mạnh mẽ trong hầu hết
các Clouds. Không giống như mô hình tính toán của Grids, Clouds đòi hỏi chạy
nhiều ứng dụng người dùng và tất cả các ứng dụng này phải được thực hiện một
cách đồng thời đối với người sử dụng. Bên cạnh đó mỗi người dùng có cảm giác
như là họ đại sở hữu toàn bộ tài nguyên sẵn có. Công nghệ ảo hóa cung cấp mức
trừu tượng thiết yếu cho việc hợp nhất tài nguyên nhằm đạt được mục tiêu này.

Đồng thời ảo hóa còn cho phép mỗi ứng dụng có thể được đóng gói(encapsulate) để
có thể cấu hình, triển khai, bắt đầu, di chuyển, tạm dừng, tiếp tục, dừng hẳn, v.v. và
vì vậy cung cấp tính độc lập, khả năng quản lý, bảo mật tốt hơn. Grids không dựa
vào công nghệ ảo hóa nhiều như Clouds, nhưng để đảm bảo được tính riêng tư cho
16
các tổ chức ảo trên tài nguyên thì công nghệ ảo hóa cũng được sử dụng trong lưới
chẳng hạn như Nimbus.
Giám sát (Monitoring): Một thách thức khác mà công nghệ ảo hóa mang lại cho
Clouds đó là việc giám sát tài nguyên. Vấn đề giám sát tài nguyên trên Clouds chưa
được tổ chức trực tiếp như Grids. Grids đề ra các mô hình tin cậy khác nhau để
người dùng được ủy quyền có thể truy cập các tài nguyên khác nhau trên các Grid
khác nhau và quá tình duyệt tài nguyên này được đảm bảo an toàn. Hơn nữa, Grids
không có độ trừu tượng cao và tận dụng ảo hóa như Clouds, ví dụ công cụ giám sát
Ganglia có thể theo dõi các cluster và Grids phân tán một cách khá hiệu
quả và được chấp nhận rộng rải trong cộng đồng Grids. Khả năng giảm sát tài
nguyên của Clouds gặp nhiều thách thức do mục tiêu đề ra của nó về việc cân bằng
quá trình giám sát các ứng dụng thương mại, quản lý máy chủ xí nghiệp, giám sát
máy ảo, bảo trì phần cứng v.v. Do đó trong tương lai gần Clouds sẽ hướng đến việc
cung cấp khả năng tự bào trì, cấu hình và quản lý về phía người dùng.
Nguồn gốc dữ liệu(Provenance): Đây là quá trình hướng dẫn về nguồn gốc, lai
lịch của các sản phẩm dữ liệu bao gồm tất cả các dữ liệu nguồn, sản phẩm dữ liệu
trung gian, và các thủ tục được ứng dụng vào trong sản phẩm dữ liệu. Thông tin này
là cần thiết để hiểu, khám phá, hợp lệ và chia sẻ các sản phẩm dữ liệu cũng như các
ứng dụng, chương trình dẫn xuất từ nó. Trong Grids “provenance” đã được triển
khai thành các hệ thống workflow và được sử dụng hiệu quả. Ngược lại, Clouds còn
chưa khai thác lĩnh vực này và có nhiều thách thức trong việc theo
vết dữ liệu ngang qua các nhà cung cấp dịch vụ khác nhau, ngang qua các phần
mềm khác nhau và các lớp phần cứng trừu tượng thuộc một nhà cung cấp.
e. Mô hình lập trình (Programming Model)
Mặc dù mô hình lập trình trong môi trường Grids không có các khác biệt về

cơ bản so với các môi trường lập trình song song và phân bố truyền thống. Nó có
một số vấn đề phức tạp như nhiều miền quản trị, tài nguyên bất đồng bộ, hiệu suất
17
và tính ổn định, điểu khiển ngoại lệ trong môi trường có tính linh động cao v.v.
Mục đích chính của Grids là các ứng dụng khoa học đòi hỏi khả năng mở rộng cao,
mở rộng đến khối lượng tài nguyên lớn và thực thi vừa nhanh vừa hiệu quả, do dó
các chương trình cần phải hoàn tất một cách chính xác nên phải xem xét đến độ tin
cậy và khả năng kháng lỗi trong môi trường Grids.
Ngoài các môi trường lập trình truyền thống như MPI, Globus Toolkit, còn
có một một mô hình lập trình được quan tâm gần đây là MapReduce. MapReduce
thật ra chỉ là một mô hình lập trình song song khác nhằm vào các hệ thống với khối
lượng dữ liệu lớn. Nó được xây dựng dựa trên hai từ khóa chính là “map” và
“reduce” mượn từ ngôn ngữ tự nhiên. Chức năng “map” là cung cấp thao tác cụ thể
lên một tập dữ liệu và sinh ra một tập dữ liệu mới. Thao tác “reduce” ngược lại sẽ
thu gom các dữ liệu lại. Một hiện thực mã mở của mô hình này là Hadoop và đang
được quan tâm trong Clouds.
Clouds về khái quát chấp nhận các Web Services APIs, nơi mà người dùng
cấu hình và lập trình dịch vụ Cloud dựa trên các API được trình bày trong Web
Services. Các giao thức HTTP và SOAP là những giao thức chuẩn được chọn trong
các dịch vụ này. Mặc dù Clouds chấp nhận một số giao thức tổng quát như HTTP và
SOAP, khả năng tích hợp và liên kết giữa các dịch vụ lẫn ứng dụng vẫn là một thách
thức lớn khi người sử dụng làm việc với các nhà cung cấp Clouds khác nhau.
f. Mô hình ứng dụng (Application Model)
Grids một cách tổng quát hỗ trợ nhiều loại ứng dụng khác nhau và hỗ trợ tốt
cho các ứng dụng hiệu suất cao (high performance computing - HPC). HPC là các
ứng dụng song song chạy trên một hệ thống cục bộ không phải qua internet. Mặt
khác Clouds Computing cũng hỗ trợ các loại ứng dụng tương tự Grids nhưng không
đạt được tính hiệu quả đối với các ứng dụng HPC. Bởi vì Clouds còn trong quá
trình sơ khai, nó còn nhiều vấn đề cần giải quyết.
18

g. Mô hình bảo mật (Security Model)
Clouds hầu như bao gồm các trung tâm dữ liệu (data center) chuyên dụng
thuộc về cùng một tổ chức, nó mang tính đồng nhất khác biệt hoàn toàn với môi
trường Grids. Mô hình bảo mật của Clouds hiện tại đơn giản và ít an toàn hơn các
mô hình sẵn có của Grids. Tiêu biểu là Clouds dựa trên Web tạo ra tài khoản người
dùng, cho phép họ đặt lại mật khẩu và nhận mật khẩu mới thông qua email trong
một môi trường không mã hóa và không an toàn. Chú ý rằng, người dùng có thể dễ
dàng sử dụng Clouds ngay lập tức với chỉ một thẻ tín dụng hay địa chỉ email.
Ngược lại hoàn toàn, Grids hạn chế hơn về tính bảo mật. Chẳng hạn, mặc dù thông
qua Web để tạo tài khoản người dùng, thông tin nhạy cảm về tài khoản, mật khẩu
được yêu cầu giao tiếp giữa người với người để xác nhận rõ ràng người dùng được
ủy quyền.
Tính bảo mật là một vấn đề quan trọng được quan tâm trong Cloud
Computing. Có 7 điểm chính mà một người dùng Clouds cần chú ý khi quyết định
sử dụng:
- Truy cập bởi người dùng có quyền hạn: Việc dữ liệu nhạy cảm được xử lý bên
ngoài xí nghiệp cần đảm bảo rằng nó chỉ truy cập và lan truyền bởi người sử dụng
có đặc quyền.
- Đồng thuận về điều chỉnh : Người khách hàng cần phải biết được nhà cung cấp
Clouds có thực hiện các thao tác ngoài luồng trên dữ liệu của họ hay không.
-Vị trí dữ liệu: Do người dùng không biết nơi lưu trữ dữ liệu của họ, nhà cung
cấp Clouds phải đảm bảo lưu trữ và xử lý dữ liệu đúng theo thỏa thuận pháp lý ban
đầu và phải tuân thủ yêu cầu về tính riêng tư của người khách hàng.
- Sự tách biệt về dữ liệu: Dữ liệu giữa các người sử dụng khác nhau phải được lưu
trữ riêng biệt.
- Khôi phục: Nhà cung cấp Clouds phải có cơ chế nhân bản và khôi phục dữ liệu
trong trường hợp có hỏng hóc xảy ra.
19
- Hỗ trợ kiểm tra: Các dịch vụ Clouds rất khó kiểm tra, nếu như điều đó là quan
trọng với khách hàng thì nhà cung cấp dịch vụ cũng phải có có chế hỗ trợ.

- Tính lâu dài: Dữ liệu trên Clouds phải tồn tại lâu dài bền vững ngay khi nhà
cung cấp Clouds bị thu mua bởi một tập đoàn khác.
Việc so sánh giữa Grids và Clouds trong thời điểm hiện tại chỉ phản ánh được phần
nào
các ưu và khuyết điểm hiện có của chúng. Nhưng cả hai cộng đồng này vẫn đang
không
ngừng phát triển để hoàn thiện. Để hiểu rõ hơn vể chúng cần có những tài liệu
chuyên sâu
hơn và không ngừng cập nhật không thuộc phạm vi của báo cáo, dưới đây là một số
bài
báo đã tham khảo
CHƯƠNG II – CLOUD COMPUTING
1. Định Nghĩa
Thuật ngữ “cloud” được sử dụng như một phép ẩn dụ cho mạng Internet, dựa
trên cách vẽ đám mây thể hiện cho một mạng lưới nào đó. Còn thuật ngữ
“computing” là các hoạt động hướng mục tiêu từ việc sử dụng công nghệ thông tin,
bao gồm các hệ thống phần cứng và phần mềm được sử dụng cho một phạm vi mục
đích rộng như: xử lý, cấu trúc, và quản lý nhiều dạng thông tin khác nhau.Theo
20
Viện Tiêu Chuẩn và Công Nghệ Mỹ (NIST):“Điện toán đám mây là một mô hình
cho phép truy cập mạng theo nhu cầu, thuận tiện, sẵn có tới một luồng dùng chung
các tài nguyên máy tính có thể cấu hình được (như mạng lưới, máy chủ, kho lưu trữ,
ứng dụng, dịch vụ) mà có thể nhanh chóng cung cấp và giải phóng với nỗ lực quản
lý hay tương tác nhà cung cấp dịch vụ tối thiểu.”
Theo Wikipedia:
“Điện toán đám mây là điện toán dựa trên mạng Internet, theo đó các tài nguyên,
phần mềm và thông tin chia sẻ được cung cấp cho các máy tính và các thiết bị khác
theo yêu cầu, giống như mạng lưới điện.”
3. Tính chât cơ bản của Cloud Computing
Tự dịch vụ theo nhu cầu (On-demand self-service): Một người dùng có thể

đơn phương cung cấp các khả năng tính toán như thời gian sử dụng máy chủ và kho
lưu trữ mạng, khi cần mà không cần yêu cầu tác động nhiều từ nhà cung cấp dịch
vụ.
Truy cập mạng khắp nơi (Ubiquitous network access): Khả năng này là sẵn
có qua mạng và được truy cập qua các cơ chế tiêu chuẩn thúc đẩy việc sử dụng bởi
các nền tảng hoặc dày hoặc mỏng không đồng nhất khác nhau (ví dụ, điện thoại di
động, laptop, và PDA).
Tổng hợp tài nguyên độc lập vị trí (Location independent resource pooling):
Tài nguyên máy tính của nhà cung cấp được tổng hợp để phục vụ người dùng sử
dụng mô hình đa người dùng (multi-tenant), với các tài nguyên ảo và vật lý khác
nhau được bàn giao và thu hồi tự động theo nhu cầu của người sử dụng.
Khả năng đàn hồi nhanh (Rapid elasticity): Khả năng này có thể được cung
ứng
nhanh để mở rộng và giải phóng nhanh để thu hẹp.
Chi trả theo việc sử dụng (Pay per use): Khả năng này được thanh toán bằng
cách sử dụng mô hình lập hoá đơn theo quảng cáo, phí dịch vụ, hay việc đo đạc để
thúc đẩy việc tối ưu hoá việc sử dụng tài nguyên. Ví dụ, đo đạc kho lưu trữ, băng
thông, và tài nguyên máy tính đã sử dụng và thanh toán cho những tài khoản người
dùng đã kích hoạt theo từng tháng.
21
4. Các mô hình cloud computing
a. Mô hình dịch vụ
• Infrastructure as a Service – IaaS ( Hạ tầng như một dịch vụ):
Là mô hình cung cấp dịch vụ mà khách hàng sử dụng việc xử lý, kho lưu trữ,
mạng lưới, và các tài nguyên máy tính khác. IaaS có khả năng cung cấp nhanh
và đàn hồi, cùng với việc kiểm soát tài nguyên. Trong mô hình này khách hàng
có thể triển khai, thực thi phần mềm và các dịch vụ mà không cần quản lý hay
điều khiển các tài nguyên cơ sở (máy chủ, mạng, kho lưu trữ). Dịch vụ IBM
Research Compute Cloud (RC2), Amazon EC2 là những ví dụ điển hình về loại
hình dịch vụ này.

• Platform as a Service – PaaS (Nền tảng như một dịch vụ):
Là mô hình cung cấp dịch vụ mà khách hàng có thể sử dụng ngôn ngữ lập trình,
công cụ, nền tảng để phát triển và triển khai ứng dụng trên nền tảng dùng chung
với khả năng kiểm soát môi trường và ứng dụng đã triển khai. IBM Workload
Deployer, Google App Engine, Windows Azure, Force.com từ Salesforce là
những ví dụ về PaaS
• Software as a Service – SaaS (Phần mềm như một dịch vụ ):
Là mô hình phổ biến mà khách hàng sử dụng các ứng dụng chuyên môn từ các
thiết bị khác khác nhau qua một trình duyệt Web trên nền tảng dùng chung mà
không cần quản lý hay kiểm soát tài nguyên cơ sở. Ví dụ, Gmail, Google Docs,
IBM LotusLive.
• Business Process as a Service-BPaaS (Quy trình nghiệp vụ như một dịch
vụ ):
Là một mô hình mới nổi mà khách hàng có thể sử dụng các kết quả kinh doanh
bằng cách truy cập các dịch vụ nghiệp vụ qua giao hiện trung tâm Web trên nền
tảng dùng chung. Ví dụ nghiệp vụ quản lý phúc lợi nhân viên, dịch vụ du lịch,
dịch vụ đấu thầu, vân vân.
22
Hình 4: Mô hình triển khai Điện toán đám mây
h. Mô hình triển khai
• Đám mây tư nhân (Private Cloud)
Là hệ thống CNTT được sở hữu và quản lý trong mạng nội bộ của một doanh
nghiệp phía sau tường lửa. Truy cập vào đám mây tư nhân được giới hạn đối với
người dùng. Đám mây tư nhân điều khiển sự hiệu quả, sự chuẩn hoá và các thực
hành tốt nhất trong khi vẫn duy trì sự tuỳ biến và kiểm soát cùng với tổ chức.
Trong môi trường đám mây tư nhân, tất cả tài nguyên, nguồn lực là thuộc nội bộ
doanh nghiệp. Việc quản lý đám mây cũng thuộc nội bộ doanh nghiệp.
• Đám mây công cộng(public cloud):
Là hệ thống CNTT được cung cấp trên mạng Internet, được sở hữu và quản lý
bởi nhà cung cấp dịch vụ. Người dùng cần đăng ký để được cấp quyền truy cập

vào đám mây công cộng. Đám mây công cộng cung cấp một tập hợp các quy
trình thương mại, ứng dụng, dịch vụ hạ tầng được chuẩn hoá theo mức giá linh
hoạt dựa trên việc sử dụng.
Mô hình đa người thuê là đặc điểm chính của dịch vụ đám mây công cộng.
23
• Đám mây lai:
Là sự kết hợp những đặc điểm của cả đám mây công cộng và đám mây tư nhân,
mà ở đó các phương thức cung cấp dịch vụ trong và ngoài được kết hợp. Ví dụ
trong trường hợp đám mây tư nhân ngoài mặt bằng doanh nghiệp, tài nguyên thì
được dành riêng, nhưng nó lại không phải là tài sản của doanh nghiệp đó. Doanh
nghiệp quản lý danh mục dịch vụ và các quy tắc, còn nhà cung cấp dịch vụ đám
mây vận hành và quản lý hạ tầng đám mây và luồng tài nguyên.
5. Lợi ích và khó khăn khi triển khai cloud
a. Cloud có phải là giải pháp tối ưu cho các doanh nghiệp?
Điều đó phụ thuộc vào quy mô của công ty, và tính chất kinh doanh mà
doanh nghiệp đó theo đuổi. Đối với các doanh nghiệp hoạt động mà dữ liệu của
công ty mang tính chất là sống còn trong việc kinh doanh thì công ty đó sẽ xây
dựng nên một hệ thống riêng trong công ty của mình vận hành như hệ thống lưu trữ
của các ngân hàng. Nhưng đối với các doanh nghiệp nhỏ thì Cloud có lẽ là giải
pháp tối ưu do họ không phải đầu tư vào cơ sở hạ tầng và cũng không cần phải có
phòng để quản lý, bảo trì vận hành hệ thống (như vấn đề về việc thay thế các thiết
bị lưu trữ, phải bảo đảm nhiệt độ của hệ thống làm việc tốt, ngoài ra còn vấn đề về
năng lượng tiêu thụ của hệ thống), và dữ liệu của công ty thì có lẽ không quan trọng
lắm.
Ngoài ra với các dịch vụ PaaS, thì vấn đề phụ thuộc vào nền tảng của nhà
cung cấp dịch vụ là rất nhiều. Ví dụ với Google và dịch vụ Google App Engine thì
khi khách hành phát triển một ứng dụng trên đó thì sẽ phụ thuộc vào Google, vì
hiện nay vấn đề API chưa được chuẩn hóa giữa các nhà cung cấp dịch vụ theo dạng
này trong Cloud Computing. Vì vậy nếu hệ thống của Google có trục trặc hay có
vấn đề khác. Nếu những điều đó làm ứng dụng của mình không chạy được thì ứng

dụng của mình cũng không thể chạy ở nơi khác vì nền tảng bên dưới mà nhà cung
cấp dịch vụ đã che dấu và cũng không phải là mã nguồn mở.
24
i. Những thuận lợi và khó khăn của cloud computing
• Tính sẵn sàng
Hiện nay, việc sử dụng các dịch vụ của cloud computing làm cho người sử
dụng lo lắng đến tính sẵn sàng của dịch vụ mà họ sử dụng. Nên đây là một lý do có
thể làm cho người sử dụng ngại sử dụng các dịch vụ của Cloud Computing. Nhưng
hiện tại, những người sử dụng dịch vụ của Cloud Computing có thể an tâm về chất
lượng dịch vụ. Ví dụ như trong SaaS có dịch vụ tìm kiếm của Google, hiện tại khi
người dùng truy cập vào trang web sử dụng dịch vụ tìm kiếm này thì có thể an tâm
rằng mình luôn được đáp ứng nếu mình truy cập không được thì có thể đó là vấn đề
do kết nối đường truyền mạng. Năm 2008, có một cuộc khảo sát về chất lượng dịch
vụ thì có hai hãng hàng đầu đạt chất lượng phục vụ tốt về tích sẵn sàng của dịch vụ.
Hình 5. Bảng khảo sát chất lượng dịch vụ
Ngoài ra sự đe dọa đến tính sẵn sàng của dịch vụ còn nằm ở chổ, khi dịch vụ bị tấn
công bằng cách DDOS (distributed denial of service attacks).Với kiểu tấn công này
làm cho các nhà cung cấp dịch vụ tốn một khoảng tiền lớn để đối phó với cách tấn
công này.
• Data lock-in
Hiện nay các phần mềm đã được cải thiện khả năng tương tác giữa các nền
tảng khác nhau, nhưng các hàm API của Cloud Computing vẫn còn mang tính đôc
quyền, chưa được chuẩn hóa. Do đó khi một khách hàng viết một ứng dụng trên
một nền tảng do một nhà cung cấp dịch vụ thì ứng dụng đó sẽ chỉ được sử dụng trên
các dịch đó, nếu đem ứng dụng đó qua một nền tảng khác do một nhà cung cấp dịch
vụ khác cung cấp thì có thể không chạy được. Điều này dẫn đến người sử dụng phụ
25

×