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

Tiểu luận môn điện toán lưới và đám mây LÝ THUYẾT VỀ MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY VÀ ỨNG DỤNG VÀO MÔ HÌNH HƯỚNG DỊCH VỤ (SOA)

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 (470.63 KB, 34 trang )

ĐẠI HỌC QUỐC GIA TPHCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Báo Cáo Môn Học: Điện toán đám mây
Đề Tài
TÓM TẮT LÝ THUYẾT VỀ MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY VÀ ỨNG
DỤNG VÀO MÔ HÌNH HƯỚNG DỊCH VỤ (SOA)
GVHD : PGS.TS. Nguyễn Phi Khứ
Học Viên: Nguyễn Thành Quân
MSHV: CH1301032
MỤC LỤC
LỜI CÁM ƠN
Em xin chân thành cảm ơn PGS.TS Nguyễn Phi Khứ về tất những bài giảng bổ ích
của Thầy. Thầy đã tận tâm chia sẻ những kinh nghiệm quý báu và truyền đạt những kiến


thức bổ ích thông qua môn học “Điện toán lưới và đám mây”.
Nhờ những kiến thức quí báu mà Thầy đã chia sẻ, em đã nâng cao được kiến thức
của mình, qua đó có cái nhìn mới mẻ về trào lưu công nghệ mới hiện nay đặc biệt là
những vấn đề liên quan đến điện toán đám mây.
LỜI MỞ ĐẦU
Hiện nay con người ngày càng phát triển cùng với đó là sự bùng nổ của khoa học
công nghệ, công nghệ là mấu chốt cho sự thành công của cuộc sống. Song với quá trình
phát triền ngày càng tăng, ngày càng có nhiều bài toán mới , đòi hỏi các năng lực xử lý
cũng được tăng theo. Tuy hiện nay các công nghệ cũng đã phần nào đáp ứng được nhu
của con người nhưng đó không phải là sự lựa chọn khôn ngoan và lâu dài cho sự phát
triển khoa học công nghệ.
Công nghệ Grid computing ra đời đời đánh dấu một bước phát triển quan trọng

trong lĩnh vực điện toán hiệu năng cao. Nó cho phép tận dụng năng lực xử lý. Lưu trữ
cùng các tài nguyên nhàn rỗi khác để cung cấp một môi trường tính toán có năng lực xử
lý lớn, khả năng lưu trữ dồi dào để giải quyết các bài toán lớn, phức tạp khó có thể giải
quyết được với các công nghệ hiện hành hoặc đòi hỏi chi phí rất cao .
Grid computing tận dụng tối đa tài nguyên, tăng cường sự hợp tác, giảm chi phí
đầu tư trong khi vẫn cung cấp năng lực tính toán như mong muốn . Trong những năm vừa
qua thì nhiều tập đoàn công nghệ thông tin lớn đã tìm đến Grid computing là giải pháp
chiến lược cho sự phát trển. Công nghệ này ngày càng thu hút sự quan tâm chú ý từ khắp
nới trên thế giới.
CHƯƠNG I. TỔNG QUAN ĐỀ TÀI
1.1 Thực trạng hiện tại.
Các công ty và tổ chức lớn đang sử dụng những mạng máy tính quy mô lớn phục

vụ cho việc liên lạc và xử lý thông tin. Ứng dụng chạy trên những mạng máy tính này rất
đa dạng và xử lý nhiều loại công việc khác nhau, từ kiểm soát các quy trình nội bộ, trình
bày nội dung web cho đến hỗ trợ khách hàng. Trong khi đó nhu cầu tính toán di động
cũng gia tăng nhanh khi mà nhân viên doanh nghiệp cần tương tác và trao đổi dữ liệu
thường xuyên với cơ quan khi họ không ở nhiệm sở. Từ đó xuất hiện thêm hàng loạt thiết
bị như máy tính xách tay, PDA, điện thoại di động dùng những công nghệ không dây rất
khác nhau để truy cập tài nguyên thông tin của tổ chức.
Sự phức tạp ngày càng gia tăng của các mạng máy tính như vậy là yếu tố cản trở
lớn nhất đối với sự mở rộng của chúng, đồng thời khiến cho công việc quản lý truyền
thống trở nên khó khăn, tiêu tốn thời gian và mắc nhiều sai sót. Công nghệ tính toán lưới
“Grid computing” ra đời đã phần nào giải quyết được những yêu cầu hiện tại của công
nghệ.

1.2 Mục tiêu đề tài.
- Nghiên cứu kiến trúc, mô hình điện toán đám mây, tìm hiểu ưu, nhược điểm và
ứng dụng của mô hình.
- Trình bày ưu điểm của công nghệ tính toán lưới (Grid computing)
- Nghiên cứu mô hình hướng dịch vụ, tìm hiểu ưu, nhược điểm và ứng dụng của mô
hình.
CHƯƠNG II. KIẾN THỨC NỀN TẢNG
2.1 Khái niệm về điện toán đám mây (Cloud computing) và điện toán lưới (Grid
computing).
Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid
computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing)
và phần mềm dịch vụ (SaaS). Điện toán đám mây là hình mẫu trong đó thông tin được

lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các
máy khách, bao gồm máytính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp,
các phương tiện máy tính cầm tay,
Grid computing là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt
chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo
khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của
người sử dụng.
Điện toán mạng lưới có nghĩa là tất cả hoặc một phần của một nhóm máy tính,
máy chủ và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành
một cỗ máy tính lớn. Vì điện toán mạng lưới giải phóng những khả năng tính toán không
được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp tăng
cường rất nhiều về tốc độ, sức mạnh xử lý thông tin và sự liên kết, thúc đẩy các quy trình

tính toán mật độ cao. Trong khi đó, chi phí vẫn sẽ được giữ ở mức thấp vì điện toán mạng
lưới có thể được xây dựng từ chính hạ tầng hiện có, góp phần đảm bảo sự huy động tối
ưu các khả năng tính toán.
Điện toán mạng lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như
các nguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn
đồng nhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vào các tính
năng điện toán rộng lớn. Giống như người lướt web xem một nội dung thống nhất qua
web, người sử dụng điện toán mạng lưới cũng nhìn thấy một máy tính ảo cực lớn duy
nhất.
Hình 1: Sự ảo hóa với nhiều cấp độ
Hình trên mô tả từng cấp độ của sự ảo hóa từ đơn giản đến phức tạp khi đi theo
chiều từ trái sang phải. Ở hình trái nhất là tổ chức đồng nhất đơn tài nguyên. Tài nguyên

ở đây có thể là CPU, ổ lưu trữ, các thiết bị và chương trình. Tiếp đến là hệ thống hỗn hợp
gồm nhiều tài nguyên khác nhau. Cấp độ ảo hóa phức tạp hơn là ảo hóa trong một xí
nghiệp . Hình bên phải là mức độ ảo hóa cao nhất vơi phạm vi trên toàn mạng internet,
gồm các đa tổ chức hỗn hợp.
Trọng tâm của điện toán mạng lưới dựa trên một tập hợp mở của nhiều chuẩn và
giao thức, ví dụ kiến trúc dịch vụ lưới mở (OGSA), cho phép liên lạc qua nhiều môi
trường hỗn tạp và phân tán về địa lý. Với điện toán mạng lưới, các tổ chức và doanh
nghiệp có thể tối ưu hóa khả năng tính toán và các nguồn dữ liệu, tập trung chúng lại
thành những khối sức mạnh lớn, chia sẻ chúng qua mạng và thúc đẩy sự phối hợp, tương
tác.
Giả dụ, khi một người có chiếc máy tính cá nhân tham gia đóng góp sức mạnh xử
lý trong một mạng lưới grid muốn chạy một ứng dụng đòi hỏi thêm sức mạnh xử lý thì

công việc đang được giải quyết trên chiếc máy đó sẽ được tự động tái phân bổ tới một
máy khác trong lưới đang “rảnh rỗi” và không bị trưng dụng sức mạnh tính toàn vào công
việc nào.
Xây dựng một lưới grid có thể đơn giản như việc cho phép một số lượng nhỏ PC
hoặc server hoặc mạng lưu trữ tận dụng những khả năng chưa được khai thác hết. Từ một
quy mô triển khai ban đầu nhỏ, người sử dụng có thể dần dần hoặc lập tức mở rộng lưới
tùy theo nhu cầu của doanh nghiệp. Lưới này không chỉ có thể liên kết các quy trình hoạt
động của một bộ phận mà có thể phối hợp các phòng ban với nhau hoặc thậm chí liên kết
sức mạnh hạ tầng của một số doanh nghiệp độc lập.
2.2 Các ưu điểm của công nghệ Grid computing.
2.2.1 Khai thác tài nguyên xử lý.
Một trong những tính năng cơ bản của tính toán mạng lưới là khả năng chạy một

chương trình trên nhiều máy tính khác nhau. Trong một mạng lưới bao gồm nhiều máy
tính, có một số máy ở trạng thái bận do khối lượng công việc lớn, một số khác ở trạng
thái rỗi do khối lượng công việc nhỏ. Trong hầu hết các tổ chức, luôn có những khối
lượng lớn những tài nguyên dùng để tính toán. Trung bình mỗi ngày, mỗi máy tính có
thời gian trung bình ở trạng thái thái bận là 5%. Điều đó chứng tỏ khối lượng tài nguyên
rỗi trong một mạng là rất lớn. Grid cung cấp một khung làm việc (framework) để tận
dụng những tài nguyên rỗi này và vì thế có thể tăng hiệu quả trong việc sử dụng các tài
nguyên. Ngoài tài nguyên xử lý, tài nguyên lưu trữ cũng được sử dụng hiệu quả hơn nhờ
Grid computing. Grid tận dụng các dung lượng đĩa cứng còn trống trong các máy tính để
tập hợp thành một tài nguyên lưu trữ ảo trong mạng.
2.2.2 Khả năng xử lý song song
Khả năng kết hợp nhiều CPU cùng xử lý song song là một tính năng hấp dẫn của

Grid computing. Các chương trình chạy trên môi trường Grid sử dụng các thuật toán để
phân chia công việc xử lý thành nhiều thành phần độc lập. Mỗi CPU trên một máy tính
trong mạng đảm nhận việc xử lý một hay nhiều thành phần đó. Tính độc lập của các
thành phần càng cao thì chương trình càng dễ dàng mở rộng trên phạm vi mạng lưới
nhiều máy tính hơn. Một mạng lưới được gọi là hoàn hảo nếu với mười máy tính, tốc độ
xử lý chung của mạng tăng lên gấp mười lần. Tuy nhiên, trên thực tế không có mạng lưới
hoàn hảo. Có 2 lý do chính để mạng lưới trên thực tế không thể trở thành hoàn hảo.
• Thứ nhất là việc sử dụng thuật toán phân chia công việc ảnh hưởng lớn đến hiệu
năng tính toán chung của mạng.
• Thứ hai là các thành phần của công việc không hoàn toàn độc lập với nhau. Không
phải ứng dụng nào cũng có thể chuyển đổi để Grid có thể xử lý song song. Hơn
nữa, không có một công cụ nào có thể chuyển đổi một ứng dụng bất kỳ sang đang

chạy song song trên Grid. Khả năng xử lý song song của một chương trình trên
mạng lưới phụ thuộc vào người thiết kế và đó không phải là công việc đơn giản.
2.2.3 Sự cộng tác các tài nguyên tổ chức ảo.
Một khả năng khác của Grid computing là tạo nên môi trường cộng tác rộng lớn
đồng nhất. Mỗi môi trường đó được gọi là một tổ chức ảo. Grid computing thậm chí có
khả năng tạo nên một môi trường rộng lớn hơn bằng cách kết hợp các tổ chức ảo, không
đồng nhất với nhau để cùng cộng tác với nhau.
Hình 2: Mạng grid ảo không đồng nhất
Hình trên mô tả môi trường đồng nhất đó. Mỗi người sử dụng mạng lưới được
phân bổ vào một tổ chức ảo nào đó. Các tổ chức ảo này có thể chia sẻ tài nguyên với
nhau như một mạng lưới lớn. Chia sẻ tài nguyên bắt đầu với dữ liệu dạng tệp hay cơ sở
dữ liệu. Lưới dữ liệu có thể mở rộng dữ liệu theo nhiều cách khác nhau. Đầu tiên, tệp hay

cơ sở dữ liệu có thể được trải rộng trên nhiều hệ thống tạo nên dung lượng lớn hơn rất
nhiều so với hệ thống đơn. Cách trải dữ liệu này có thể tăng tốc độ truyền dữ liệu với
công nghệ striping.
Dữ liệu thường xuyên được sao lưu phục vụ cho việc khôi phục dữ liệu. Ngoài
việc chia sẻ tài nguyên là các tệp và cơ sở dữ liệu, ta có thể chia sẻ nhiều tài nguyên khác,
như các thiết bị chuyên dụng, phần mềm, dịch vụ, Những tài nguyên này được “ảo hóa”
để giữ chúng đồng bộ trong một hệ thống mạng luới không đồng nhất. Các tài nguyên đó
được gọi là tài nguyên ảo.
Những người tham gia hay sử dụng grid là một thành viên trong một tổ chức nào
đó. Grid có thể yêu cầu người dùng đó tuân thủ các luật lệ, quyền hạn sử dụng, từ đó có
thể giải quyết được các vấn đề về ưu tiên , bảo mật …
2.2.4 Sự truy cập của các tài nguyên khác.

Ngoài CPU và tài nguyên lưu trữ, Grid còn có thể truy nhập đến những tài nguyên
khác. Các tài nguyên này có thể được cung cấp dưới dạng số lượng hoặc khả năng lưu
trữ, băng thông. Ví dụ, nếu một người muốn tăng băng thông truy nhập Internet để thực
hiện việc khai thác dữ liệu tìm kiếm, công việc này có thể phân chia giữa các máy trong
mạng grid có đường truyền Internet không phụ thuộc nhau. Trong trường hợp này, khả
năng tìm kiếm được nhân lên, khi mỗi máy có đường truyền riêng biệt. Nếu các máy chia
sẻ đường kết nối Internet, thì nó sẽ không tăng băng thông. Trong một mạng lưới, một số
máy tính có thể được cài đặt những phần mềm đắt tiền, có bản quyền mà một máy khác
không có. Người sử dụng máy tính không cài đặt phần mềm đó có thể sử dụng phần mềm
này bằng cách gửi công việc đến máy tính được cài phần mềm để yêu cầu xử lý. Đó là
khả năng tận dụng phần mềm của Grid.
Một vài máy tính có thể có những thiết bị đặc biệt, chẳng hạn như máy in. Hầu hết

các máy in được sử dụng từ xa. Grid có thể chia sẻ được những thiết bị đặc biệt này.
Thậm chí Grid có thể chia sẻ những thiết bị, tài nguyên phức tạp như máy chuẩn đoán
bệnh hay robot hỗ trợ phẫu thuật.
2.2.5 Cân bằng tài nguyên.
Grid liên kết các tài nguyên từ nhiều máy khác nhau tạo thành một hệ thống duy
nhất. Grid có thể thực hiện cân bằng tài nguyên trong các chương trình bằng cách lập lịch
làm việc cho các công việc. Chức năng này có ý nghĩa rất lớn trong việc xử lý các trượng
hợp quá tải về xử lý, tính toán trong một tổ chức. Chức năng cân bằng có thể được thực
hiện theo 2 cách sau.
Những điểm quá tải được đưa đến những máy rỗi trên mạng lưới. Nếu toàn mạng
grid đã bận, những công việc có độ ưu tiên thấp được tạm thời ngừng lại nhường chỗ cho
những công việc khác có độ ưu tiên cao. Đôi khi có những công việc đột ngột được tăng

độ ưu tiên do cần hoàn thành gấp. Grid không thể xử lý được những công việc cần hoàn
thành quá gấp. Tuy nhiên grid có thể phân chia nó thành nhiều công việc nhỏ và huy
động một lượng lớn tài nguyên để xử lý nó một cách nhanh nhất
Hình 3: Chia sẻ công việc trong mạng
Một lợi ích khác khi dùng grid là cân bằng tải. Khi một công việc liên lạc với một
công việc khác, với Internet, hoặc các tài nguyên khác, Grid có thể lập lịch cho chúng để
có thể giảm thiểu tối đa lưu lượng đường truyền cũng như khoảng cách truyền. Điều này
giúp Grid có thể giảm thiểu tắc nghẽn mạng. Cuối cùng, Grid có khả năng thương mại tài
nguyên. Các trạng thái của tất cả các tài nguyên trong mạng được Grid quản lý. Các tổ
chức trên Grid có thể tạo tài khoản và trả tiền để sử dụng các tài nguyên này khi cần thiết.
Điều này tạo nên các tài chính mạng lưới.
2.2.6 Độ tin cậy.

Những hệ thống tính toán mạnh sử dụng phần cứng đắt tiền để tăng độ tin cậy.
Chúng sử dụng bộ xử lý kép để khi hỏng hóc có thể thay thế bộ xử lý thứ hai mà không
cần tắt hệ thống. Các nguồn và hệ thống làm mát cũng đều được nhân bản. Hệ thống còn
sử dụng một nguồn đặc biệt có thể phát điện khi nguồn điện bị mất. Tất cả chúng tạo nên
một hệ thống tin cậy, tuy nhiên, giá thành cho hệ thống này rất cao. Trong tương lại, một
mạng lưới có thể có khả năng thay thế một hệ thống đáng tin cậy như thế. Grid mới chỉ
bắt đầu công nghệ này. Mô hình máy chủ đáng tin cậy sử dụng Grid có thể được mô tả
như một mạng lưới gồm nhiều máy tính được phân bố khắp nơi. Do đó, khi có một sự cố
tại một nốt mạng nào đó trên mạng lưới, các điểm khác sẽ không bị ảnh hưởng. Khi một
máy tính bị hỏng hóc, phần mềm quản lý trong Grid có thể tự động chuyển công việc xử
lý từ máy này đến một máy nào đó trong mạng. Trong trường hợp quan trọng, nhiều bản
sao của công việc được tạo ra và được chuyển đến nhiều máy khác nhau trên mạng luới

như hình 4 dưới đây.
Hình 4: Các bản sao của công việc
Những hệ thống grid như thế sẽ tạo nên khả năng tính toán tự động. Nó là một
dạng phần mềm có khả năng tự sửa lỗi trên grid, trước khi thông báo cho bộ xử lý hay
ngưởi quản lý biết. Về nguyên tắc, hầu hết những hệ thông tin cậy đắt tiền ngày nay dựa
vào phần cứng hoàn toàn cũng có thể dùng phần mềm để tạo nên sự tin cậy.
2.2.7 Khả năng quản lý.
Việc ảo hóa tài nguyên và nhiều hệ thống hỗn hợp được tạo ra trên Grid sẽ tạo nên
quy mô rộng hơn, các thiết bị được phân phối nhiều hơn. Nó làm cho các nhà doanh
nghiệp dễ dàng quản lý chi phí và tài nguyên tính toán trên phạm vi lớn. Grid quản lý độ
ưu tiên giữa các dự án. Trước đây, mỗi dự án quản lý riêng tài nguyên và chi phí của nó.
Có thể những tài nguyên đang rỗi trong khi các dự án khác gặp sự cố, cần thêm những tài

nguyên khác. Với tầm nhìn bao quát, grid có thể giải quyết dễ dàng các tình huống này,
nhà quản lý có thể thay đổi các quyền hạn với các tài nguyên để các tổ chức khác có thể
chia sẻ hay sử dụng.
Hình 5: Các nhà quản trị có thể điều chỉnh chính sách thích hợp với tài nguyên
2.2.8 Khả năng thương mại hóa của Grid computing.
Các nhà cung cấp giải pháp điện toán hàng đầu thế giới như Oracle, IBM, HP,
Dell, Microsoft và Sun đều đã và đang có sách lược đầu tư lớn vào việc phát triển các sản
phẩm và dịch vụ điện toán mạng lưới.
Thiết lập một hệ thống điện toán mạng lưới không đơn thuần chỉ là có một mạng
máy tính tốc độ cao. Yếu tố quan trọng nhất chính là một nền phần mềm điều phối sức
mạnh của các máy tính tham gia đóng góp sức mạnh nhiều dạng khác nhau trong lưới.
Trên thị trường đã xuất hiện những nền phần mềm thương mại hoặc dịch vụ phục

vụ cho việc này. Ví dụ, Oracle đã tung ra thị trường Application Server 10g, được coi là
phần mềm trung gian đầu tiên giúp đơn giản hóa việc quản lý các ứng dụng chạy trên môi
trường điện toán mạng lưới. Đây là một bộ sản phẩm gồm khoảng 600 cải tiến trong ứng
dụng tích hợp và cơ sở hạ tầng các dịch vụ Web.
Hình 6: Ứng dụng của Grid computing trong thương mại
Oracle Application Server 10 được xây dựng dựa trên các chuẩn mở, tạo ra một
nền tảng thống nhất cho các khả năng hỗ trợ yêu cầu đa dạng của một doanh nghiệp
thương mại điện tử, bao gồm các chức năng hỗ trợ như phần mềm cổng dành cho doanh
nghiệp, lưu trữ tốc độ cao, tình báo doanh nghiệp, quản lý đồng nhất, phát triển ứng dụng
nhanh, kết nối không dây và các dịch vụ Web. Oracle Application Server 10g cũng là sản
phẩm trung gian duy nhất trong ngành giải pháp điện toán doanh nghiệp được trang bị
các công nghệ tích hợp và điện toán mạng lưới lắp sẵn.

Với việc đưa thêm khả năng điện toán mạng lưới, phần mềm Application Server
10g giúp khách hàng giảm thời gian, sức lao động và chi phí cho việc quản lý CNTT
bằng cách kết hợp các hệ thống máy chủ, hệ thống lưu trữ và các phần mềm cần thiết.
Kết quả là các doanh nghiệp có thể sử dụng sức mạnh của toàn bộ hệ thống hay lưới cho
tất cả các ứng dụng dành cho doanh nghiệp chứ không phải mua thêm tính năng cho các
ứng dụng riêng biệt. Oracle Application Server 10g được cung cấp với ba phiên bản: Java
Edition (giá 5.000 USD tính trên một bộ vi xử lý hoặc 100 USD/một người sử dụng),
Standard Edition (10.000 USD/bộ vi xử lý hoặc 200 USD/người sử dụng) và Enterprise
Edition (20.000 USD/bộ vi xử lý hoặc 400 USD/một người sử dụng).
Trong khi đó, Sun Microsystems gần đây tung ra một mô hình dịch vụ với cách
tiếp cận khác. Họ gọi đây là cơ chế thu tiền tính theo người sử dụng đầu tiên áp dụng đối
với kiến trúc điện toán mạng lưới. Với chi phí khởi điểm là 1 USD/bộ xử lý/giờ, dịch vụ

tính toán theo lưới này của Sun được cung cấp theo từng gói tính bằng tiếng đồng hồ. Sun
khẳng định mô hình này có thể cho phép khách hàng khai thác sức mạnh tính toán giống
như sử dụng các tiện ích thông thường như điện thoại, điện gia dụng hay nước…từ hạ
tầng của nhà cung cấp dịch vụ.
2.3 Các thành phần của Grid.
2.3.1 Thành phần quản lý.
Bất kì một lưới nào cũng cần có một thành phần quản lý. Trước hết, thành phần
này theo dõi các tài nguyên đang sẵn dùng và thành viên nào đang có mặt trong hệ thống.
Các thông tin này rất quan trọng trong việc gán công việc cho máy nào trong lưới. Tiếp
đó là thành phần đo lường xác định dung lượng của từng nút mạng và tỉ lệ tài nguyên
được sử dụng tại một thời điểm bất kì. Điều này là cơ sở cho việc lập lịch cho các tiến
trình lưới. Nó cũng cho thấy tình trạng của lưới, cảnh báo tới người sử dụng về khả năng

có thể xảy ra thất bại do thiếu tài nguyên, đụng độ hay các nguyên nhân khác. Một thủ
tục khác cũng cần đến các thông tin này là các thống kê về sử dụng hệ thống, việc chi trả
cho hệ thống khi chạy các phần mềm trên lưới.
2.3.2 Thành phần donor.
Mỗi máy tính thành viên đóng góp tài nguyên vào hệ thống đều cần có quá trình
đăng nhập trước khi được xem như một thành viên chính thức. Thường thì sẽ có các thủ
tục định danh và thẩm quyền để thực hiện, các thủ tục này sẽ giúp tạo lập một tài khoản
cho máy thành viên cũng như người chủ của máy đó.
Một số hệ thống lưới tự động đăng nhập trong khi một số khác sử dụng ngay việc
đăng nhập vào hệ điều hành trên máy địa phương. Trong kiểu thứ hai, hệ thống đối chiếu
định danh người dùng sẽ quyết định quyền của người sử dụng đối với các máy khác nhau
trong hệ thống lưới. Những quyền hạn này thường được quyết định bởi người quản trị hệ

thống. Anh ta sẽ lập ra CSDL về người dùng và cả vào nơi được bảo vệ cẩn mật.
Trong một số hệ thống lưới, người ta không có một cơ chế định danh hay thẩm
quyền nào, và người dùng nào cũng có thể đệ trình công việc để thực hiện trên lưới. Các
hệ thống như vậy có ưu điểm là dễ cài đặt, các phần mềm không phức tạp. Tuy vậy, khi
quy mô của hệ thống được mở rộng thì điều này là cực kì nguy hiểm bởi nó sẽ dễ dàng bị
hacker tấn công và hậu quả thật khó lường trước.
Hệ thống lưới có khả năng thông báo tới tất cả các máy thành viên rằng có một tài
nguyên mới được kết nối vào hệ thống. Máy đệ trình phải tiến hành một số các hoạt động
theo dõi, đo lường tỉ lệ tài nguyên được sử dụng trên một máy, máy nào ở trạng thái nghỉ,
…Các thông tin này được truyền đến hệ thống quản lý lưới phục vụ cho công việc lập
lịch sau này.
Vấn đề quan trọng nhất vẫn là khả năng tiếp nhận công việc và thực hiện công

việc của một phần mềm được cài đặt trên một máy nào đó khi được gán nhiệm vụ. Quá
trình được mô tả như sau: tại một trạm nào đó trên lưới, người sử dụng đệ trình một công
việc và yêu cầu thực hiện trên lưới. Phần mềm quản lý phải có khả năng chọn ra máy
thực hiện, liên lạc với máy đó để gửi công việc cần thực hiện. Phần mềm đệ trình phải có
khả năng nhận được file chạy hoặc chọn bản copy trên máy sẵn, tiếp đó file chạy được
thực hiện trên máy đệ trình và kết quả được trả về cho người yêu cầu. Hệ thống tiên tiến
còn cho phép điều chỉnh động ưu tiên cho các công việc, dừng chúng lại khi cần thiết và
sau đó có thể khởi động tiếp tục quá trình trên một máy khác. Các hoạt động này thường
căn cứ vào tải hiện thời của hệ thống, các ưu tiên thay đổi trên lưới.
2.3.3 Phần mềm đệ trình.
Thông thường người ta có thể dùng bất cứ máy thành phần nào trong lưới để tiến
hành đệ trình một công việc nào đó. Tuy vậy, trong một số hệ thống, việc đệ trình các

công việc được thực hiện bởi một số thành phần cài đặt trên một số máy gọi là nút đệ
trình hay máy khách đệ trình. Khi lưới được xây dựng dựa trên các tài nguyên chuyên
dụng hơn tài nguyên thường thì các thành phần đệ trình thường được cài đặt trên máy của
người dùng hay các trạm làm việc.
2.3.4 Quản lý phân tán.
Các lưới được cài đặt trên phạm vi rộng lớn thường có cấu trúc hình cây hay các
dạng thù hình khác phù hợp với dạng kết nối. Theo đó, các máy tính được kết nối thông
qua mạng LAN tạo thành các cluster. Các lưới có thể được tạo nên từ các cluster của các
cluster này. Vì thế đòi hỏi phải có các thủ tục quản lý các lưới phân tán sao cho đạt hiệu
quả tính toán cao nhất. Các thao tác trên lưới cũng như các thủ tục chia sẻ dữ liệu và lập
lịch phải phù hợp với cấu hình của lưới.
Ví dụ: bộ lập lịch trung tâm sẽ không gán trực tiếp công việc cho một máy cụ thể

mà gán cho một cluster ở dưới nó, sau đó bộ lập lịch của cluster này mới thực hiện gán
công việc cho một máy cụ thể trong cluster đó. Tương tự như thế khi một máy đệ trình
một công việc nào đó: công việc này sẽ được chuyển tới bộ quản lí của cluster chứa máy
thành phần, sau đó được tiếp tục chuyển lên bộ quản lí cao hơn để từ đó thực hiện lập lịch
cho công việc này.
2.3.5 Bộ lập lịch.
Phần lớn các lưới tính toán đều có các phần mềm lập lịch, các phần mềm này có
nhiệm vụ chọn ra các máy thành phần để thực thi các công việc được đệ trình tại một
máy nào đó. Cơ chế lập lịch đơn giản nhất là cơ chế round-robin, tức là hệ thống sẽ chọn
máy tiếp theo có các tài nguyên đáp ứng nhu cầu của công việc để thực thi. Tuy vậy trong
các hệ thống tiên tiến thì các cơ chế lập lịch phức tạp và hiệu quả hơn sẽ được áp dụng.
Một số bộ lập lịch thực hiện gán ưu tiên cho từng công việc. Điều này được thực

hiện bằng cách duy trì các hàng đợi công việc, mỗi hàng đợi chứa một tập các công việc
với cùng mức ưu tiên. Khi một máy đã thực hiện xong công việc của mình, nó sẽ chọn
tiếp một công việc ở hàng đợi có mức độ ưu tiên cao nhất. Cơ chế này sẽ được kết hợp
với một số quy định khác dựa trên cơ sở là các tài nguyên người sử dụng Ví dụ như
một tài nguyên trong tổ chức có thể bị hạn chế sử dụng trong khoảng thời gian nào đó
trong ngày.
Bộ lập lịch phải dựa vào các thông tin như tải của lưới, các thông tin được đo
lường như tỉ lệ tài nguyên được sử dụng để có thể quyết định xem máy thành phần có bận
không trước khi đệ trình một công việc. Cũng như tổ chức của mạng, bộ lập lịch cũng có
thể được tổ chức theo cấu trúc cây. Ví dụ: bộ siêu lập lịch (meta-scheduler) sẽ đệ trình
một công việc tới một bộ lập lịch ở mức dưới chứ không phải là một máy thành phần cụ
thể.

Các bộ lập lịch tiên tiến hơn còn có các chức năng theo dõi quá trình thực hiện của
các công việc trong lưới, từ đó có thể quản lí được luồng công việc của toàn bộ hệ thống.
Nếu một công việc bị ngừng do thiếu tài nguyên hệ thống, bộ lập lịch tốt phải có nhiệm
vụ đệ trình lại công việc tại một nơi khác trong hệ thống. Tương tự như vậy: khi tiến trình
rơi vào trạng thái lặp vô hạn và đạt tới thời gian giới hạn thì công việc đó sẽ không được
thực hiện lại nữa. Thường thì mỗi công việc sẽ có một mã trả về khi kết thúc. Điều này sẽ
giúp thực hiện các hoạt động sau này (ví dụ có phải thực hiện lại hay không).
Việc đặt trước các tài nguyên để phục vụ cho việc thực hiện các công việc sau này
được thực hiện bởi các hệ thống đặt trước chuyên dụng. Đây thực chất không phải bộ lập
lịch thông thường, mà trước hết nó như bộ lịch công tác quy định các công việc cụ thể
trong một khoảng thời gian nhất định và bảo vệ các tài nguyên được sử dụng khỏi sự
chiếm dụng của các tiến trình khác. Nó còn có khả năng dừng các công việc đang thực

hiện khi tới thời gian được đặt từ trước.
2.3.6 Các thành phần truyền thông.
Hệ thống lưới có thể có các phần mềm giúp các tiến trình có thể liên lạc với nhau.
Ví dụ: trong trường hợp một công việc được chia thành nhiều công việc nhỏ khác nhau,
các công việc này được thực hiện riêng lẻ trên lưới. Tuy vậy, có thể các công việc này
phải sử dụng kết quả của công việc khác. Điều này dẫn đến việc các công việc phải có
khả năng liên kết với nhau. Các phần mềm truyền thông sẽ giúp một tiến trình có khả
năng liên lạc với các tiến trình khác, gửi và nhận các dữ liệu cần thiết. Trong hệ thống có
thể sử dụng chuẩn giao diện MPI (Message Passing Interface) và một số chuẩn khác để
thực hiện các liên kết này.
2.3.7 Các thành phần quản lý, theo dõi , đo lường.
Như ta đã đề cập ở trên các hoạt động lập lịch đòi hỏi phải có các thông tin về hệ

thống hiện tại như các máy nào sẵn dùng, tỉ lệ tài nguyên được sử dụng, tải của các nút
lưới Thông thường các phần mềm donor sử dụng một số công cụ của hệ điều hành hoặc
trực tiếp đo các thông số này. Các phần mềm này đôi khi còn được gọi là “sensor tải”.
Các thông tin này không những có giá trị với việc lập lịch mà nó còn đo lường được khả
năng sử dụng lưới. Các thông số này có thể dự báo cho người quản trị thấy được xu
hướng của lưới và các thiết bị có thể cần thiết phải thêm vào hệ thống. Các thông tin đo
lường có thể tiết kiệm cho mục đích kế toán, là cơ sở cho thủ tục môi giới tài nguyên,
quản lý ưu tiên dễ dàng hơn. Người ta có thể thể hiện các thông tin đo lường dưới các
dạng biểu diễn khác nhau sao cho trực quan đối với người sử dụng nhất.
2.4 Kiến trúc điện toán đám mây.
2.4.1. Mô hình kiến trúc tổng quát.
Phần lớn hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của những

dịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu (data center) được
xây dựng trên những máy chủ với những cấp độ khác nhau của các công nghệ ảo hóa.
Những dịch vụ này có thể được truy cập từ bất kỳ đâu trên thếgiới, trong đó Đám mây là
một điểm truy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng.
Các dịch vụ thương mại cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách
hàng và thông thường đều đưa ra các mức thỏa thuận dịch vụ (Service level agreement).
Các tiêu chuẩn mở (Open standard) và phần mềm mã nguồn mở (open source software)
cũng góp phần phát triển điện toán đám mây.
2.4.2. Các thành phần của điện toán đám mây.
Điện toán đám mây có thể chuyển đổi các chương trình ứng dụng diện rộng theo
kiến trúc và phân phối các dịch vụ. Trong nhiều thập kỷ qua, các hãng CNTT đã dành
nhiều công sức, thời gian và các tài nguyên để xây dựng cơ sở hạ. Phần lớn các trường

hợp theo cách tiếp cận đó dẫn đến kết quả:
- Cơ sở hạ tầng (Infrastructure)
- Lưu trữ đám mây (Cloud Storage)
- Nền tảng đám mây (Cloud Platform)
- Ứng dụng (Application)
- Dịch vụ (Services)
- Khách hàng (Client)
Theo kiến trúc do Sun đề xuất, điện toán đám mây cung cấp các dịch vụ ở tất cả
các tầng, từ phần cứng tới các phần mềm như trong hình sau.
Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc:
- Các máy chủ thưc̣ (Physical Servers)
- Các máy chủ ảo (Virtual Servers)

- Hệ điều hành (Operating System)
- Phần mềm trung gian (Middleware)
- Các chương trình ứng dụng (Applications)
- Các dịch vụ (Servers)
Các dịch vụ có thể chia thành 3 lớp chính: Phần mềm dịch vụ (software as a
service), nền dịch vụ (platform as a service), và cơ sở hạ tầng dịch vụ (infrastructure as a
service). Các lớp này có thể tập hợp thành các tầng kiến trúc khác nhau, có thể chồng
chéo, gối nhau.
2.5. Một số mô hình điện toán đám mây
2.5.1. Mô hình kiến trúc điện toán đám mây của IBM
Máy chủ của IBM sử dụng bộ xử lý Intel thế hệ mới và Phần mềm mới cho Trung
tâm Dữ liệu (Data Center – System x). Với năng lực mở rộng có khả năng hỗ trợ tới 96

lõi xử lý và 1 TB bộ nhớ, các máy chủ System x của IBM sẽ bổ sung cho dòng sản phẩm
VMware vSphere thế hệ mới IBM sắp phát hành. Chúng là một lựa chọn tuyệt vời dành
cho các khách hàng đang triển khai những môi trường điện toán đám mây.
2.5.2. Mô hình kiến trúc điện toán đám mây Window Azure của Microsoft
Azure, hệ điều hành “đám mây” được Microsoft giới thiệu vào cuối tháng 10 tại
hội nghị PDC 2008. Internet sẽ là phương thức chính để người dùng truy xuất dữ liệu
trong những nền tảng điện toán đám mây.
2.5.2.1 Windows Azure.
Windows Azure, tên mã Red Dog, là nền tảng cho việc phát triển những ứng dụng
hoạt động trong “đám mây”. Nói cách khác, Windows Azure là cơ sở cho nền tảng các
dịch vụ Azure (Azure Services Platform), được Microsoft phát triển nhằm mang đến
cho cộng đồng các nhà phát triển ứng dụng cơ hội được xây dựng và cung cấp các

dịch vụ trực tuyến trên nền tảng cơ sở hạ tầng Windows. Windows Azure tách biệt
hoàn toàn các ứng dụng chạy trên các lớp hệ điều hành ứng dụng công nghệ ảo hóa
của Microsoft. Điều này cho phép các nhà quản trị không cần phải nâng cấp từng PC
độc lập khi ứng dụng được chỉnh sửa.
2.5.2.2 Nền tảng dịch vụ (Azure Services Platform).
Nền tảng dịch vụ là một giải pháp hoàn thiện cho các doanh nghiệp. Microsoft sẽ
lưu trữ các ứng dụng được xây dựng từ các hãng thứ ba cũng như những dịch vụ Web
của chính Microsoft như là Office Live, Windows Live, Exchange Online, CRM
Online, … Kết hợp chặt chẽ .NET Services (cho lập trình viên), SQL Services (cho cơ
sở dữ liệu và báo biểu), Live Services (cho việc tương tác với các thiết bị người dùng)
vào trong các dịch vụ SharePoint và CRM (cho nội dung doanh nghiệp). Điểm khác
biệt giữa Azure và Azure Services Platform: Windows Azure là một hệ điều hành còn

Azure Services Platform là một sự kết hợp của Azure, lớp các dịch vụ cơ sở hạ tầng
và lớp ứng dụng trực tuyến.
2.5.2.3 Fabric Controller.
Fabric Controller là “gia vị” chủ chốt của Windows Azure, đảm nhiệm chức năng
quản lý “vòng đời” của tất cả dịch vụ trực tuyến được triển khai. Công cụ này giúp tổ
chức và tập trung quản lý tại trung tâm dữ liệu theo mô hình chia sẻ nguồn tài nguyên
phần cứng. Điều này cho phép Azure tự động cập nhật ứng dụng chứ không cần phải
cập nhật trực tiếp trên từng PC độc lập.
2.5.2.4 Windows Azure với người sử dụng và lập trình viên.
Lập trình viên có thể xây dựng các ứng dụng mới hoặc hiệu chỉnh các ứng dụng
hiện tại cho WindowsvAzure bằng những công cụ hiện có như Visual Studio,
ASP.Net, .NET Framework và cập nhật thêm một vàivcông nghệ mới mà Microsoft sẽ

phổ biến trong thời gian sắp tới. .NET Services và SQL Services sẽ cung cấp những
khả năng “hướng đám mây” mới và Azure Tool cho Visual Studio, cung cấp các mẫu
(template) làm nền tảng xây dựng (Azure SDK). Ngoài ra, công cụ “Oslo” mới từ
Microsoft sẽ trợ giúp với các ứng dụng phân phối kiểu mẫu bao gồm một ngôn ngữ
lập trình mới với tên gọi “M.”. Azure cũng sẽ hỗ trợ các công cụ và ngôn ngữ thứ ba
như Eclipse, Ruby, PHP và Python cũng như các tiêu chuẩn và cổng như SOAP,
REST hay XML.

CHƯƠNG 3. MÔ HÌNH HƯỚNG DỊCH VỤ(SOA)
3.1. Khái niệm
Mô hình hướng dịch vụ (Service Oriented Architechture –SOA) là một khái niệm
về kiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ,

hoặc là những quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động
trên môi trường mạng có khả năng chia sẻ và sử dụng lạị.
Dịch vụ ở đây được hiểu là những mô-đun nghiệp vụ hoặc chức năng ứng dụng
với giao diện được thiết kế theo quy định và được tương tác bằng cách gửi nhận thông
điệp.
3.2. Kiến trúc mô hình hướng dịch vụ
Kiến trúc hướng dịch vụ (SOA) là một hướng tiếp cận với việc thiết kế và tích hợp
các phần mềm, chức năng, hệ thống theo dạng module, trong đó mỗi module đóng vai trò
là một “dịch vụ có tính loose coupling”, và có khả năng truy cập thông qua môi trường
mạng. Hiểu một cách đơn giản thì một hệ thống SOA là một tập hợp các dịch vụ được
chuẩn hóa trên mạng trao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ.
Trong SOA có ba đối tượng chính

Hình 7. Sơ đồ cộng tác trong SOA
Nhà cung cấp dịch vụ (service provider) cần cung cấp thông tin về dịch vụ của
mình cho một dịch vụ lưu trữ thông tin (service registry). Người sử dụng (service
consumer ) thông qua service registry sẽ tìm kiếm thông tin mô tả về dịch vụ cần tìm và
sau đó là xây dựng kênh giao tiếp với phía nhà cung cấp .
SOA cung cấp giải pháp để giải quyết các vấn đề tồn tại của các hệ thống hiện
nay như : sư ̣ phức tạp, không linh hoạt và không ổn định . Một hệ thống triển khai theo
mô hình SOA có khả năng mở rộng , liên kết tốt. Đây chính là cơ sở và nền tảng cho việc
tích hợp , tái sử dụng lại những tài nguyên hiện có của hê ̣thống .
3.3. Các tính chất của một hệ thống hướng dịch vụ
3.3.1. Liên kết lỏng (Loose coupling).
Mọi kiến trúc phần mềm đều hướng đến liên kết lỏng giữa các module. Mức độ

kết dính của mỗi hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa và mở rộng của
chính nó. Kết dính càng chặt bao nhiều thì càng có nhiều thay đổi liên quan cần chỉnh sửa
ở phía sử dụng dịch vụ mỗi khi có sự thay đổi nào đó xảy ra. SOA hỗ trợ liên kết lỏng
thông qua việc sử dụng hợp đồng và liên kết (contract and binding). Một người sử dụng
truy vấn đến nơi lưu trữ và cung cấp thông tin dịch vụ (registry) để lấy thông tin về loại
dịch vụ cần sử dụng. Registry sẽ trả về tất cả các dịch vụ thỏa tiêu chuẩn tìm kiếm. Người
dùng chỉ cần chọn dịch vụ mà mình cần, và thực thi phương thức trên đó theo mô tả dịch
vụ nhận được từ registry. Bên sử dụng dịch vụ không cần phụ thuộc trực tiếp vào cài đặt
của dịch vụ mà chỉ dựa trên hợp đồng mà dịch vụ đó hỗ trợ.
3.3.2. Sử dụng lại dịch vụ
Bởi vì các dịch vụ được cung cấp trên mạng và được đăng ký ở một nơi nhất định
nên chúng dễ dàng được tìm thấy và tái sử dụng. Nếu một dịch vụ không có khả năng tái

sử dụng, nó cũng không cần đến interface mô tả. Các dịch vụ có thể được tái sử dụng lại
bằng cách kết hợp lại với nhau theo nhiều mục đích khác nhau. Tái sử dụng lại các dịch
vụ còn giúp loại bỏ những thành phần trung lắp và tăng độ vững chắc

×