Tải bản đầy đủ (.pdf) (104 trang)

Ứng dụng kiến trúc hướng dịch vụ trong điện toán đám mây để xây dựng dịch vụ quản lý tệp phân tán DFM

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.44 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-----------------------------------

TÔ ĐÌNH HIẾU

“Ứng dụng kiến trúc hướng dịch vụ trong
tính toán đám mây
để xây dựng dịch vụ Quản lý Tệp Phân tán
DFM”
Chuyên ngành: công nghệ thông tin

NGƯỜI HƯỚNG DẪN KHOA HỌC :

TS. Vũ Thị Hương Giang

Hà Nội - 2010


1

LỜI CAM ĐOAN

Tôi – Tô Đình Hiếu, học viên lớp Cao học Xử lý Thông tin và Truyền thông
Khóa 2008 Trường Đại học Bách Khoa Hà Nội – cam kết Luận văn tốt nghiệp là
công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS. Vũ Thị Hương
Giang, Viện CNTT-TT, Trường Đại học Bách Khoa Hà Nội.
Các kết quả nêu trong Luận văn tốt nghiệp là trung thực, không sao chép
toàn văn của bất kỳ công trình nào khác.


Hà Nội, ngày 28 tháng 03 năm 2011
Học viên:

Tô Đình Hiếu

Lớp:

Cao Học XLTT-TT 2008


2

LỜI CẢM ƠN

Tôi xin bày tỏ lòng biết ơn sâu sắc tới giảng viên, TS. Vũ Thị Hương Giang,
Viện Công Nghệ Thông Tin và Truyền Thông, trường Đại học Bách Khoa Hà Nội,
đã hướng dẫn rất tận tình cho tôi trong suốt quá trình thực hiện luận văn. Nhờ sự
quan tâm chỉ bảo và những ý kiến đóng góp quý báu của cô, tôi mới có thể hoàn
thành luận văn này.
Tôi xin chân thành cảm ơn tập thể các thầy, cô giáo trường Đại học Bách
Khoa Hà Nội nói chung và Viện Công Nghệ Thông Tin và Truyền Thông nói riêng
đã tận tình giảng dạy truyền đạt cho tôi những kiến thức, kinh nghiệm quý báu trong
suốt những năm học vừa qua.
Cuối cùng, tôi xin chân thành cảm ơn gia đình, người thân đã hết lòng giúp
đỡ hỗ trợ về vật chất lẫn tinh thần giúp tôi yên tâm học tập và nghiên cứu trong suốt
quá trình học tập và thực hiện luận văn.


3


Mục lục
LỜI CAM ĐOAN ................................................................................................. 1
LỜI CẢM ƠN ....................................................................................................... 2
DANH MỤC NHỮNG TỪ VIẾT TẮT .............................................................. 7
DANH MỤC BẢNG ............................................................................................. 8
DANH MỤC HÌNH .............................................................................................. 9
MỞ ĐẦU ............................................................................................................. 10

CHƯƠNG 1. TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ ĐIỆN
TOÁN ĐÁM MÂY ............................................................................................. 13
1.1. Kiến trúc hướng dịch vụ (SOA) .............................................................. 13
1.1.1. Dịch vụ.................................................................................................. 13
1.1.1.1. Định nghĩa ....................................................................................... 13
1.1.1.2. Các đặc điểm chính của dịch vụ ..................................................... 15
1.1.2. Các thành phần tham gia trong kiến trúc hướng dịch vụ ................. 15
1.2. Điện toán đám mây (Cloud Computing) ................................................ 17
1.2.1. Định nghĩa............................................................................................ 18
1.2.2. Mô hình tổng quan .............................................................................. 19
1.2.3. Các tính năng chính của Điện toán Đám mây ................................... 21
1.2.4. Các thành phần hợp thành đám mây.................................................. 23
1.2.5. Các nhóm dịch vụ điện toán đám mây ................................................ 25
1.2.5.1. Dịch vụ hạ tầng (Infrastructure-as-a-Service -IaaS) ...................... 25
1.2.5.2. Dịch vụ nền tảng (Platform-as-a-Service - PaaS) .......................... 26
1.2.5.3. Dịch vụ phần mềm (Software-as-a-Service - SaaS) ........................ 28
1.2.6. Các kiểu triển khai đám mây .............................................................. 30
1.2.6.1. Đám mây công cộng (Public cloud) ................................................ 33
1.2.6.2. Đám mây cộng đồng (Community cloud)........................................ 33
1.2.6.3. Đám mây lai (Hybrid cloud) ........................................................... 34
1.2.6.4. Đám mây riêng (Private cloud)....................................................... 35



4

1.3. Khả năng ứng dụng Kiến trúc Hướng Dịch vụ trong Điện toán Đám mây
........................................................................................................................... 36
1.3.1. Lợi ích khi sử dụng kiến trúc hướng dịch vụ ..................................... 37
1.3.2. Những đặc điểm ở đám mây mà kiến trúc hướng dịch vụ chưa có .. 38
1.3.3. Những đặc điểm của kiến trúc hướng dịch vụ nên được phát triển ở
điện toán đám mây ......................................................................................... 38
1.3.4. Những giá trị mà điện toán đám mây đem lại .................................... 40
1.3.5. Nhận dạng ứng dụng có thể phát triển thành ứng dụng đám mây ... 41
1.3.6. Nhận dạng ứng dụng không thích hợp phát triển trên đám mây ...... 42
1.4. Tính khả thi của việc phát triển dịch vụ Quản lý Tệp Phân tán DFM 43
1.5. Kết luận ..................................................................................................... 44
CHƯƠNG 2. PHÁC THẢO QUY TRÌNH XÂY DỰNG ỨNG DỤNG ĐIỆN
TOÁN ĐÁM MÂY ............................................................................................. 45
2.1. Phân tích yêu cầu cụ thể .......................................................................... 45
2.1.1. Bài toán ................................................................................................ 45
2.1.2. Yêu cầu ................................................................................................. 45
2.2. Hướng tiếp cận .......................................................................................... 47
2.3. Quy trình xây dựng phần mềm DFM ............................................. 48
2.3.1. Lựa chọn dịch vụ ................................................................................. 49
2.3.2. Biểu đồ phân cấp.................................................................................. 50
2.3.3. Giao diện .............................................................................................. 51
2.3.4. Cơ sở dữ liệu quản trị .......................................................................... 53
2.3.5. Các chức năng xây dựng trên cơ sở các chức năng có sẵn của DFS 53
2.3.5.1. Add Root .......................................................................................... 53
2.3.5.2. Remove Root .................................................................................... 56
2.3.5.3. Add Link .......................................................................................... 57
2.3.5.4. Remove Link Target ........................................................................ 57

2.3.5.5. Delete Link ...................................................................................... 58
2.3.5.6. Enable Link target ........................................................................... 59


5

2.3.5.7. Disable Link target .......................................................................... 60
2.3.6. Các chức năng nâng cao của DFM .................................................... 60
2.3.6.1. Shutdown Server .............................................................................. 60
2.3.6.2. Start DFS ......................................................................................... 61
2.3.6.3. Stop DFS ......................................................................................... 61
2.3.6.4. Server Session ................................................................................. 62
2.3.6.5. View Root ........................................................................................ 63
2.3.6.6. View Link ......................................................................................... 65
2.3.6.7. View Link Target ............................................................................. 66
2.3.6.8. Giải thuật điều khiển thông minh .................................................... 68
2.4. Kết luận ..................................................................................................... 72
CHƯƠNG 3. TRIỂN KHAI THỰC TẾ DỊCH VỤ DFM TRONG MẠNG NỘI
BỘ ĐÀI PT-TH HÀ NỘI ................................................................................... 73
3.1. Hiện trạng hệ thống mạng HANOITV ................................................... 73
3.1.1. Cơ sở hạ tầng ....................................................................................... 73
3.1.2. Cấu trúc DFS ....................................................................................... 74
3.2. Triển khai dịch vụ DFM trên mạng nội bộ HANOITV ........................ 75
3.2.1. Cài đặt ................................................................................................... 75
3.2.2. Địa chỉ truy cập .................................................................................... 76
3.2.3. Giao diện .............................................................................................. 77
3.2.4. Thử nghiệm .......................................................................................... 78
3.2.4.1. Bài toán thử nghiệm ........................................................................ 78
3.2.4.2. Thực hiện ......................................................................................... 78
3.2.5. Nhận xét ............................................................................................... 80

3.2.5.1. Nhược điểm còn tồn tại ................................................................... 80
3.2.5.2. Phương án giải quyết ...................................................................... 80
3.2.6. Kết luận ................................................................................................ 81
KẾT LUẬN VÀ KIẾN NGHỊ ........................................................................... 82
TÀI LIỆU THAM KHẢO ................................................................................. 84


6

PHỤ LỤC 1. HỆ THỐNG TỆP PHÂN TÁN (DFS) ....................................... 85
DFS root ......................................................................................................... 85
DFS link ......................................................................................................... 86
PHỤ LỤC 2. MÃ NGUỒN CHƯƠNG TRÌNH ............................................... 88
Mã nguồn của cmd.php ................................................................................... 88
Mã nguồn của executer.php............................................................................ 92
Mã nguồn của index.php ................................................................................. 97
Mã nguồn file modlink.exe............................................................................ 100


7

DANH MỤC NHỮNG TỪ VIẾT TẮT

CNTT

Công nghệ thông tin

SOA

Kiến trúc hướng dịch vụ


Cloud Computing

Điện toán đám mây

DFS

Distributed File System

DFM

Distributed File Management


8

DANH MỤC BẢNG
Bảng 2-1 Bảng Users chứa tài khoản quản trị trong DFM ............................53
Bảng 3-1 Tổng số máy chủ cần dùng trong mạng HANOITV ......................76


9

DANH MỤC HÌNH
Hình 1-1 Mô hình chi tiết của Kiến trúc hướng Dịch vụ ...............................14
Hình 1-2 Các thành phần tham gia Kiến trúc hướng Dịch vụ ......................16
Hình 1-3 Mọi thứ đều tập trung vào đám mây...............................................19
Hình 1-4 Mô hình tổng quan của điện toán đám mây....................................20
Hình 1-5 Minh họa về các tầng trong đám mây.............................................23
Hình 1-6 Giải phẫu đám mây .........................................................................25

Hình 1-7 Một số nhà cung cấp dịch vụ điện toán đám mây ..........................31
Hình 1-8 Xu hướng phát triển trong điện toán ...............................................32
Hình 1-9 Các kiểu đám mây ..........................................................................32
Hình 1-10 Kiến trúc hướng Dịch vụ và Điện toán đám mây tạo ra một giá trị
lớn khi chúng làm việc cùng nhau ................................................37
Hình 2-1 Các thành phần trong DFM ............................................................48
Hình 2-2 Quy trình phát triển dịch vụ đám mây ............................................49
Hình 2-3 Biểu đồ phân cấp DFM ...................................................................51
Hình 2-4 Giao diện đăng nhập của DFM .......................................................51
Hình 2-5 Giao diện quản trị của DFM ...........................................................52
Hình 3-1 Cấu trúc DFS trong mạng HANOITV ............................................74
Hình 3-2 Giao diện đăng nhập DFM .............................................................77
Hình 3-3 Giao diện quản trị DFM ..................................................................77
Hình 3-4 Giao diện DFM khi tạo root ...........................................................79
Hình 3-5 Giao diện DFM khi tạo Link ..........................................................79
Hình PL1-1 Mô tả cấu trúc DFS ....................................................................85


10

MỞ ĐẦU
Ngày nay, xu hướng phát triển các phần mềm điện toán đám mây đang là
một xu hướng nổi trội và tất yếu trong việc phát triển CNTT trên thế giới cũng như
ở Việt Nam. Thực sự điện toán đám mây đã đem lại nhiều lợi ích cho các doanh
nghiệp như về chi phí, khả năng mở rộng, tính tiện lợi… mặc dù đi cùng đó là một
vài khó khăn nhất định.
Điện toán đám mây được xây dựng như những dịch vụ mà doanh nghiệp có
thể sử dụng chúng như là cơ sở hạ tầng và ứng dụng. Kiến trúc hướng dịch vụ
(SOA), một kiến trúc mà Điện toán đám mây hay sử dụng nhất, đã đóng một vai trò
để cho phép điện toán đám mây trở thành những gì như hôm nay và nó cũng đang

đóng một vai trò quan trọng trong sự tiến triển của điện toán đám mây. Điện toán
đám mây có thể được xem như một phần mở rộng trong ứng dụng và cơ sở hạ tầng
vật lý của các ứng dụng Kiến trúc hướng Dịch vụ trước đây.
Có một vấn đề ở các doanh nghiệp, mà ở đây thực tế đối với tác giả là trong
Đài PT-TH Hà Nội, đó là vẫn chưa thể quyết định có nên sử dụng các dịch vụ đám
mây hay không và tận dụng như thế nào cho các ứng dụng đang có. Làm thế nào để
chúng tôi chuyển đổi các chức năng và các phần mềm hiện có lên các đám mây điện
toán là một bài toán cần có lời giải. Phần mềm của Đài PT-TH Hà Nội phải được
xây dựng như thế nào, chúng phải có kiến trúc gì thì mới nên tiến hành chuyển đổi
chúng lên các đám mây, hay là dùng hẳn một ứng dụng điện toán đám mây khác để
phục vụ cho cùng mục đích.
Hiện trong mạng nội bộ của Đài PT-TH Hà Nội, trong số các dịch vụ mà
chúng tôi hay sử dụng nhất, có dịch vụ chia sẽ tệp tin, chúng tôi xây dựng hệ thống
chia sẻ tệp tin phân tán dựa trên dịch vụ DFS (Distributed File System), dịch vụ này
đang hoạt động rất tốt khi đem lại khả năng sẵn sàng cao, khả năng đồng bộ dữ liệu,
khả năng phục hồi liên tục, địa chỉ truy cập là duy nhất, có khả năng cân bằng tải.
Tuy nhiên qua quá trình sử dụng vẫn còn những hạn chế nhất định khiến chúng tôi
băn khoăn trong việc có nên phát triển nâng cấp nó hay xây dựng hẳn mới một dịch


11

vụ khác để giải quyết các hạn chế này. Những hạn chế này như là không có giao
diện web nên không tích hợp được vào trang web nội bộ, không nâng cấp được
dung lượng thư mục lưu trữ, không tính toán tối ưu dựa trên lượng truy cập, cần đến
khả năng quản trị IT để vận hành khắc phục sự cố cũng như theo dõi quá trình hoạt
động của dịch vụ…
Như vậy việc nghiên cứu về điện toán đám mây, về kiến trúc của nó dựa trên
kiến trúc nào trước đây, về các đặc điểm của điện toán đám mây, để từ đó đưa ra
các nhận định nhằm giúp doanh nghiệp xác định các ứng dụng của họ có thích hợp

để phát triển lên đám mây hay không và khi phát triển như vậy họ sẽ có được những
lợi ích gì. Việc nghiên cứu này ngoài ra còn giúp cho các nhà phát triển dịch vụ
định hướng phát triển ứng dụng của họ để tận dụng những ưu thế của điện toán đám
mây.
Trong đề tài này tác giả sẽ thử xây dựng nâng cấp dịch vụ chia sẻ tệp tin
(DFS) hiện có thành một phần mềm ứng dụng theo hướng đám mây, gọi là phần
mềm quản lý tệp tin phân tán (DFM - Distributed File Management), phần mềm
này có được ngoài những khả năng của dịch vụ DFS, còn có thể khắc phục được các
hạn chế nêu trên và đồng thời có thêm những ưu điểm khác nữa càng tốt. DFM sẽ
được phát triển theo hướng dịch vụ đám mây và có kiến trúc hướng dịch vụ.
Như vậy việc làm rõ Kiến trúc hướng Dịch vụ và Điện toán Đám mây, việc
nhận dạng ứng dụng và chỉ ra kiến trúc tốt nhất mà ứng dụng nên phát triển theo là
có ý nghĩa thực tiễn và cần thiết, đó là tiền đề cho việc chuyển đổi nâng cấp đúng
hướng cho các ứng dụng hướng đến đám mây. Đó chính là lý do tôi chọn đề tài
“Ứng dụng kiến trúc hướng dịch vụ trong tính toán đám mây để xây dựng dịch
vụ Quản lý Tệp Phân tán”. Mục tiêu của đề tài này là:
1) Tìm hiểu về Kiến trúc hướng Dịch vụ, điện toán đám mây.
2) Phân tích, đánh giá và tìm ra những điểm tương đồng của Kiến trúc hướng
Dịch vụ và điện toán đám mây trong việc cung cấp các ứng dụng cho người
dùng


12

3) Nhận dạng các ứng dụng có thể phát triển lên thành ứng dụng đám mây, và
nhận dạng các ứng dụng không phát triển được lên các đám mây.
4) Đề xuất mô hình phát triển các ứng dụng đám mây dưới dạng các dịch vụ tích
phối xây dựng theo cách tiếp cận Kiến trúc hướng Dịch vụ dựa trên việc phát
triển phần mềm Quản lý Tệp Phân tán (DFM)
5) Xây dựng thử nghiệm phần mềm Quản lý Tệp Phân tán trong mạng nội bộ

của Đài PT-TH Hà Nội.
Nội dung luận văn gồm 3 chương :
Chương 1 giới thiệu tổng quát về Kiến trúc hướng dịch vụ và Điện toán đám
mây. Tiếp theo, chương này đưa ra phân tích của tác giả về những điểm tương
đồng, những ưu điểm của Kiến trúc hướng dịch vụ và Điện toán đám mây trong
việc phát triển ứng dụng. Cuối chương sẽ trình bày những hiểu biết của tác giả về
việc nhận định ứng dụng nào nên theo hướng điện toán đám mây, ứng dụng nào
không.
Chương 2 tác giả đề xuất mô hình phát triển ứng dụng đám mây dưới dạng
dịch vụ theo Kiến trúc hướng dịch vụ bằng việc chi tiết hóa bài toán xây dựng phần
mềm Quản lý tệp tin phân tán (DFM). Đánh giá tính thực tế của phần mềm, liệu có
khả thi khi triển khai DFM trong mô hình dịch vụ đám mây khi mà phần mềm này
dựa trên dịch vụ DFS của Windows Server. Thiết kế các chức năng của DFM, khả
năng mà nó khắc phục được trước những nhược điểm còn tồn tại của DFS.
Chương 3 tác giả trình bày quá trình triển khai thực tế phần mềm DFM
trong mạng nội bộ của Đài PT-TH Hà Nội. Đánh giá lại các tác động mà phần
mềm đem lại cho công tác quản lý lưu trữ tệp tin.
Phần kết luận của luận văn, tác giả nêu lên những đóng góp của mình trong
luận văn. Nêu lên kết quả của quá trình xây dựng phần mềm DFM cũng như nêu lên
những lợi ích và hạn chế khi phát triển các phần mềm kiến trúc dịch vụ theo hướng
„đám mây‟. Đánh giá lại phần mềm DFM và hướng phát triển của nó.


13

Chương 1. TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ ĐIỆN
TOÁN ĐÁM MÂY
Chương này sẽ trình bày về kiến trúc hướng dịch vụ (Service-oriented
architecture) và về một thuật ngữ mà ngày nay người ta đang sôi nổi bàn tán đến:
điện toán đám mây (Cloud Computing). Tìm ra những điểm tương đồng của chúng

khi phát triển, cung cấp các ứng dụng đám mây. Cuối chương sẽ chỉ ra những tính
chất mà một phần mềm cần có để mở rộng được nó thành phần mềm „đám mây‟.
1.1. Kiến trúc hướng dịch vụ (SOA)
Kiến trúc hướng Dịch vụ mô tả một kiến trúc cơ sở hạ tầng cho phép các chức
năng được tách thành dịch vụ có thể giao tiếp với nhau và có thể truy cập qua mạng.
1.1.1. Dịch vụ
1.1.1.1. Định nghĩa
Về mặt định nghĩa (1), dịch vụ là một hệ thống có khả năng nhận một hay
nhiều yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả.
Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các giao diện đã
được định nghĩa trước đó. Thông thường việc giao tiếp này được thực hiện trên các
giao diện đã được chuẩn hóa và sử dụng rộng rãi.
Một ví dụ đơn giản của “dịch vụ” mà hầu hết mọi người biết sử dụng máy tính
hiện nay đều thực hiện hàng ngày, đó là thao tác kiểm tra thư điện tử mới. Khi ta
muốn kiểm tra thư điện tử mới trong hòm thư của mình, đầu tiên là đăng nhập vào
tài khoản thư điện tử đó. Sau đó nhấn nút “Kiểm tra thư mới của tôi” (hoặc một nút
hay ho nào đó với chức năng tương tự trong hoàn cảnh có quá nhiều giao diện kiểm
tra thư như ngày nay), với việc nhấn nút “Kiểm tra thư mới của tôi” này là ta đang
tiến hành gởi yêu cầu cho dịch vụ “kiểm tra thư”. Khi máy chủ chứa thư điện tử
nhận được yêu cầu “kiểm tra thư mới” của tôi, chúng sẽ kiểm tra trong cơ sở dữ liệu
của nó, nếu không có thư nào được gửi đến hòm thư của tôi mà tôi chưa được báo
lần nào hoặc không có thư nào tôi đánh dấu là chưa đọc, thì máy chủ sẽ báo lại cho
tôi một thông điệp “Bạn không có thư mới”. Trong trường hợp có thư mới gửi cho


14

tôi mà tôi chưa đọc, máy chủ sẽ báo lại cho tôi một thông điệp khác “Bán có thư
mới” và máy chủ sẽ thực hiện việc truyền thông tin về các thư mới đó đến trình
duyệt web (hoặc phần mềm duyệt thư) của tôi. Ở đây, yêu cầu chính là các thông tin

về thư mới của tôi, được truyền đạt khi tôi ấn nút “Kiểm tra thư mới”, còn kết quả
trả về của dịch vụ thư điện tử là thông điệp của nó “Bạn không có thư mới” hoặc
thông điệp “Bạn có thư mới” kèm thêm thông tin về các thư mới đó.
Một hệ thống được thiết kế theo kiểu hướng dịch vụ (service oriented) là một
hệ thống trong đó các chức năng của hệ thống được xây dựng dựa trên các dịch vụ
có độ kết dính thấp. Các dịch vụ trong hệ thống giao tiếp với nhau thông qua việc
gửi nhận các thông điệp (message).

Hình 1-1 Mô hình chi tiết của Kiến trúc hướng Dịch vụ

Hình 1-1 mô tả mô hình chi tiết của Kiến trúc hướng Dịch vụ cung cấp một
cách hay để hiểu làm sao Kiến trúc hướng Dịch vụ tận dụng một lớp tiến trình để
thay đổi các tiếng trình công việc chính mà không phải thay đổi các hệ thống. Đây
là kiến trúc kết nối lỏng lẻo.


15

1.1.1.2. Các đặc điểm chính của dịch vụ
- Có ranh giới rõ ràng (Explicit Boundaries)
Mỗi dịch vụ được xây dựng dựa trên các giao diện chuẩn hóa đã được sử
dụng rộng rãi.
Chi tiết hiện thực của mỗi dịch vụ sẽ không được thể hiện ra bên ngoài. Mỗi
dịch vụ chỉ công bố một số các giao diện của nó cho người sử dụng có thể dùng để
gửi các yêu cầu và nhận kết quả trả về.
- Tính tự trị (Autonomous)
Về mặt lý thuyết, mỗi dịch vụ có tính độc lập cao, có thể được xây dựng và
đưa vào sử dụng mà không phụ thuộc vào các dịch vụ khác.
- Chia sẻ Lược đồ và Giao ước, chứ không chia sẻ Lớp (Share Schema and
Contract, not Layer)

Về mặt trao đổi dữ liệu, các dịch vụ không truyền các lớp và định dạng. Thay
vào đó, các lớp và định dạng sẽ được đặc tả hình thức (dữ liệu được đặc tả trong
lược đồ, hành vi được đặc tả thành các giao ước )
- Sự tương thích giữa các dịch vụ được căn cứ vào các chính sách
Tương thích về mặt cấu trúc dựa trên các đặc tả hình thức bao gồm giao ước
(dựa trên Web Service Description Language (WSDL) hoặc Business Process
Execution Language for Web Services (BPEL4WS)) và lược đồ (XSD)
Sự tương thích dựa trên chính sách cung cấp khả năng phân tích cũng như
đảm bảo sự tương thích giữa các dịch vụ.
1.1.2. Các thành phần tham gia trong kiến trúc hướng dịch vụ
Kiến trúc hướng dịch vụ (SOA) cung cấp cơ chế cho phép các hệ thống hoạt
động trên các nền tảng phần mềm phần cứng khác nhau vẫn có thể giao tiếp với
nhau.


16

Một hệ thống được xây dựng theo mô hình Kiến trúc hướng Dịch vụ bao gồm
các dịch vụ thỏa mãn các tính chất của dịch vụ ở mục 0. Mỗi dịch vụ trong hệ thống
có thể được sửa đổi một cách độc lập với các dịch vụ khác nhằm mục đích đáp ứng
một yêu cầu mới từ thực tế.
Hình 1-2 mô tả các thành phần tham gia trong một hệ thống xây dựng theo
Kiến trúc hướng Dịch vụ.
- Nhà cung cấp dịch vụ (Service Provider): Cung cấp dịch vụ mềm dẻo phục
vụ cho một nhu cầu nào đó. Người sử dụng không cần quan tâm đến vị trí thực sự
mà dịch vụ họ cần sử dụng đang hoạt động.
- Người sử dụng dịch vụ (Service Consumer): người sử dụng dịch vụ được
cung cấp bởi Nhà cung cấp dịch vụ
- Cơ sở dữ liệu dịch vụ (Service Registry): Nơi lưu trữ thông tin về các dịch
vụ của các Nhà cung cấp khác nhau, Người sử dụng dịch vụ dựa trên những thông

tin này để tìm kiếm và lựa chọn Nhà cung cấp phù hợp.

Hình 1-2 Các thành phần tham gia Kiến trúc hướng Dịch vụ

Nhà cung cấp dịch vụ sẽ đăng kí thông tin về dịch vụ mà mình có thể cung
cấp (các chức năng có thể cung cấp, khả năng của hệ thống (tài nguyên, hiệu năng),
giá cả dịch vụ, ...) vào Cơ sở dữ liệu Dịch vụ. Người sử dụng dịch vụ khi có nhu cầu
về một dịch vụ nào đó sẽ tìm kiếm thông tin trên Cơ sở dữ liệu Dịch vụ. Ngoài chức
năng hỗ trợ tìm kiếm, Cơ sở dữ liệu Dịch vụ còn có thể xếp hạng các Nhà cung cấp


17

Dịch vụ dựa trên các tiêu chí về chất lượng dịch vụ, bầu chọn từ các khách hàng đã
sử dụng dịch vụ ... Những thông tin này sẽ hỗ trợ thêm cho quá trình tìm kiếm của
Người sử dụng Dịch vụ. Khi đã xác định được Nhà cung cấp Dịch vụ mong muốn,
Người sử dụng Dịch vụ thiết lập kênh giao tiếp trực tiếp với Nhà cung cấp Dịch vụ
nhằm sử dụng dịch vụ hoặc tiến hành thương lượng thêm (về mặt giá cả, tài nguyên
sử dụng, ...)
1.2. Điện toán đám mây (Cloud Computing)
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu
của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán
được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ. Để có thể quản
lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều
loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên,
chi phí bảo trì, sửa chữa, … Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng
cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ
liệu.
Từ một bài toán điển hình như vậy, chúng ta thấy được rằng nếu có một nơi
tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ

không còn phải quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào
công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng
cao hơn.
Thuật ngữ “điện toán đám mây” ra đời bắt nguồn từ một trong những hoàn
cảnh như vậy. Thuật ngữ “điện toán đám mây” còn được bắt nguồn từ ý tưởng đưa
tất cả mọi thứ như dữ liệu, phần mềm, tính toán, … lên trên mạng Internet. Chúng
ta sẽ không còn trông thấy các máy PC, 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 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


18

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ỏ
mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu tốt.
Phần tiếp theo sẽ nêu rõ “điện toán đám mây” là gì ? Và làm sao “điện toán
đám mây” có thể giải quyết bài toán trên và có những đặc điểm nổi bật gì?
1.2.1. Định nghĩa
Theo Gartner (2)
“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công
nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử
dụng các công nghệ trên Internet”.
Theo Ian Foster:
“Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn
về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng
(platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được
phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”.
Có một cách diễn giải đúng về điện toán đám mây đó là Điện toán đám mây

(cloud computing) không phải là một công nghệ mà là một mô hình cung cấp và
tiếp thị dịch vụ CNTT đáp ứng các đặc trưng nào đó. Mây là toàn bộ dịch vụ máy
tính, không phải sản phẩm, thể hiện trong Hình 1-3, trong đó:
- Cơ sở hạ tầng được chia sẻ. Nhiều khách hàng chia sẻ một nền tảng công
nghệ chung và thậm chí là chung một ứng dụng đơn lẻ.
- Các dịch vụ đám mây được truy xuất theo yêu cầu tại các đơn vị khác nhau
tùy theo dịch vụ. Các đơn vị có thể là người sử dụng, dung lượng, giao dịch hoặc
bất kỳ sự kết hợp nào từ chúng.
- Các dịch vụ đám mây được mở rộng. Từ quan điểm người dùng thì các dịch
vụ đám mây thật sự linh hoạt; không có giới hạn cho sự phát triển.
- Mô hình giá cả dựa trên mức độ sử dụng. Thay vì thanh toán các chi phí cố
định của một dịch vụ có quy mô để sử dụng tối đa, bạn chỉ phải trả một cái giá tham


19

chiếu trên một đơn vị tiêu dùng (người sử dụng, các giao dịch, dung lượng…) được
đo trong những khoảng thời gian có thể khác nhau, chẳng hạn theo giờ hoặc tháng.

Hình 1-3 Mọi thứ đều tập trung vào đám mây

- Khả năng truy cập dịch vụ không giới hạn. Dịch vụ có thể được truy xuất từ
bất cứ nơi nào trên thế giới bởi nhiều thiết bị.
1.2.2. Mô hình tổng quan
Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ ...
sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình
và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.3
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của điện toán đám mây theo
nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác
nhau. Do đó, việc tích hợp các “đám mây” để giải quyết một bài toán lớn của khách

hàng vẫn còn là một vấn đề khó khăn. Chính vì vậy, các nhà cung cấp dịch vụ
đang có xu hướng tích hợp các đám mây lại với nhau thành “sky computing”, đưa
ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng.


20

Hình 1-4 thể hiện các đám mây của các nhà cung cấp dịch vụ như Google,
Amazon, Microsoft … được kết hợp thành “sky computing” để phục vụ người
dùng.

Hình 1-4 Mô hình tổng quan của điện toán đám mây

Điện toán đám mây ra đời để giải quyết các vấn đề sau:
- Vấn đề về lưu trữ dữ liệu:
Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ. Các công ty
lớn như Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp
nơi trên thế giới. Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh
nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm.
- Vấn đề về sức mạnh tính toán: Có 2 giải pháp chính:
o Sử dụng các siêu máy tính (super-computer) để xử lý tính toán.
o Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới
(grid computing).


21

- Vấn đề về cung cấp tài nguyên, phần mềm:
Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS (platform
as a service), SaaS (software as a service). Phần sau ta sẽ đi sâu hơn về các dịch vụ

này.
1.2.3. Các tính năng chính của Điện toán Đám mây
Tính linh động (Agility) cải thiện khả năng linh động của người dùng để tái
cung cấp một cách nhanh chóng và không tốn kém nguồn tài nguyên hạ tầng công
nghệ.
Giao diện lập trình ứng dụng (Application Programming Interface
(API)) có khả năng truy cập các phần mềm mà cho phép các máy tính giao tiếp với
phần mềm đám mây theo cách giống như giao diện người dùng tương tác giữa
người và máy.
Chi phí (Cost) Chi phí đầu tư được chuyển đổi sang chi phí hoạt động. Bề
ngoài của việc này là làm giảm các rào cản chi phí ban đầu, như cơ sở hạ tầng
thường được cung cấp bởi một bên thứ ba và không cần phải mua quyền sử dụng
cho những tác vụ một lần hoặc những tác vụ không thường xuyên. Việc định giá
dựa trên cơ sở tính toán theo nhu cầu thì tốt hơn so với những tùy chọn dựa trên
những yếu tố khác. Các kỹ năng CNTT được đòi hỏi tối thiểu (hay không phải đòi
hỏi) cho việc thực hiện.
Thiết bị và vị trí truy cập độc lập (Device and location independence) cho
phép người sử dụng truy cập các hệ thống bằng một trình duyệt web mà không quan
tâm đến vị trí của họ hay thiết bị nào mà họ đang dùng, PC hay mobile. Khi mà nền
tảng là không cố định vị trí và có thể truy cập được qua Internet, người sử dụng có
thể kết nối từ mọi nơi.
Khả năng chia sẻ sử dụng (Multi-tenancy) cho phép chia sẻ các tài nguyên
và vốn qua một dải lớn nhiều người sử dụng từ đó cho phép:


22

#Tập trung cơ sở hạ tầng trong các vùng với chi phí thấp nhất (chẳng hạn như
bất động sản, điện, v.v.)
#Tăng khả năng chịu tải

#Cải thiện khả năng sử dụng và hiệu quả cho các hệ thống mà thường chỉ dùng
đến 10-20%.
Tính tin cậy (Reliability) được cải thiện thông qua việc sử dụng nhiều trung
tâm có nhiều dư thừa, điều đó làm cho đám mây thiết kế phù hợp cho việc phục hồi
và duy trì kinh doanh. Tuy nhiên, phần lớn các dịch vụ của điện toán đám mây có
những lúc thiếu hụt và người giám đốc kinh doanh, IT phải làm cho nó ít đi.
Khả năng mở rộng (Scalability) thông qua việc cung cấp động (theo yêu
cầu) các tài nguyên thật hiệu quả, tự thực hiện gần như là trong thời gian thực, mà
không cần người dùng phải có kỹ năng CNTT cho những việc ít sử dụng. Hiệu suất
được theo dõi, kiến trúc phù hợp và liên kết lỏng lẻo được xây dựng bằng cách sử
dụng các dịch vụ web như giao diện của hệ thống. Một trong những phương pháp
mới quan trọng nhất để khắc phục hiệu suất bị thắt cổ chai cho một lớp lớn các ứng
dụng là lập trình song song dữ liệu trên một lưới dữ liệu phân tán,
Bảo mật (Security) có thể được cải thiện do dữ liệu nằm tập trung, dễ cho
việc tăng nguồn lực tập trung vào bảo mật, .v.v., nhưng mối quan tâm còn tồn tại là
mất kiểm soát ở một số dữ liệu nhạy cảm, và sự thiếu an toàn cho các nhân hệ thống
được lưu trữ. Bảo mật thường tốt bằng hoặc tốt hơn so với các hệ thống truyền
thống, một phần vì các nhà cung cấp có thể dành nguồn lực để giải quyết các vấn đề
an nình mà nhiều khách hàng không thể có được. Nhà cung cấp thường ghi lại nhật
ký truy cập, việc truy cập các nhật ký kiểm soát có thể khó khăn hoặc bất khả thi.
Hơn nữa, sự phức tạp về bảo mật sẽ tăng lên rất nhiều khi dữ liệu được phân bố trên
một diện tích rộng hơn và/ hoặc nhiều thiết bị hơn.
Bảo trì (Maintenance) các ứng dụng điện toán đám mây sẽ dễ dàng hơn khi
thực hiện, vì chúng không phải cài đặt trên mỗi máy tính của người dùng. Chúng dễ
dàng hơn để hỗ trợ và để cải thiện khi mà những thay đổi sẽ tác động ngay lập tức


23

đến người dùng. (backup thời gian thực cung cấp cho người dùng một thời gian

hoạt động được cao nhất. Đó là một lợi thế lớn trong web hosting.)
Đo lường (Metering) khả năng sử dụng tài nguyên điện toán đám mây phải
thực hiện được và đo được cho từng người dùng và từng ứng dụng hàng ngày, hàng
tuần, hàng tháng, và hàng năm. Điều đó cho phép những người dùng trong việc lựa
chọn nhà cung cấp đám mây dựa trên chi phí và độ tin cậy (QoS).
1.2.4. Các thành phần hợp thành đám mây

Hình 1-5 Minh họa về các tầng trong đám mây

Phần tiếp sau đây, tác giả sẽ liệt kê các thành phần hợp thành một đám mây,
phân chia chúng thành các tầng khác nhau như Hình 1-5 mô tả. Mặc dù được phân
chia như vậy nhưng khi đã kết nối được thì các tầng này đều có thể cung cấp các
dịch vụ trực tiếp đến nó.
MÁY TRẠM (CLIENT)
Một máy trạm cloud bao gồm phần cứng và (hoặc) phần mềm của máy tính
dựa vào điện toán đám mây để phân phối ứng dụng, hoặc được thiết kế riêng biệt
cho việc phân phối các dịch vụ đám mây, mà nếu đặt vào vị trí khác sẽ là vô dụng.


24

Những ví dụ như là một số máy tính, điện thoại và các thiết bị khác, các hệ điều
hành và các trình duyệt.
ỨNG DỤNG (APPLICATION)
Các dịch vụ ứng dụng đám mây hay "Software as a Service (SaaS)" phân phối
phần mềm như là một dịch vụ qua Internet, loại bỏ việc bắt buộc cài đặt và chạy
ứng dụng trên máy tính cá nhân của khác hàng và đơn giản hóa việc bảo trì và hỗ
trợ. Các đặc điểm chính như là:
- Truy cập , và quản lý qua mạng phần mềm thương mại
- Các hoạt động được quản lý từ địa điểm trung tâm hơn là tại mỗi trang web

của khách hàng, cho phép khách hàng truy cập từ xa đến các ứng dụng qua nền
Web
- Ứng dụng cung cấp mà điển hình là gần hơn với một mô hình một-nhiều
(một ví dụ, kiến trúc nhiều người thuê) hơn là một mô hình một-một, bao gồm các
đặc điểm kiến trúc, giá cả, đối tác, và quản lý
- Cập nhật tính năng một cách tập trung, sẽ phòng ngừa được sự cần thiết phải
tải về các bản vá lỗi và nâng cấp.
NỀN TẢNG (PLATFORM)
Các dịch vụ nền tảng (platform) đám mây hay "Platform as a Service (PaaS)"
phân phối một nền tảng điện toán và (hoặc) phân chia giải pháp như một dịch vụ,
mà thường tiêu thụ cơ sở hạ tầng đám mây và duy trì các ứng dụng đám mây. Điều
đó tạo điều kiện triển khai các ứng dụng mà không cần chi phí và độ phức tạp của
việc mua và quản lý các lớp phần cứng và phần mềm cơ bản.
CƠ SỞ HẠ TẦNG (INFRASTRUCTURE)
Các dịch vụ cơ sở hạ tầng (infrastructure) đám mây hay "Infrastructure as a
Service (IaaS)" cung cấp hạ tầng máy tính, thông thường là một môi trường ảo hóa
nền tảng như một dịch vụ. Thay vì phải mua các server, phần mềm, khu trung tâm
dữ liệu hay các thiết bị mạng, các máy trạm thì chỉ mua các tài nguyên này như một


×