1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM XUÂN CHINH
ỨNG DỤNG TÍNH TOÁN ĐÁM MÂY
TRONG VIỆC CUNG CẤP DỊCH VỤ CƠ SỞ
DỮ LIỆU
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: TS NGUYỄN NGỌC HOÁ
HÀ NỘI - 2011
4
MỤC LỤC
MỤC LỤC 4
DANH MỤC HÌNH VẼ 6
CÁC KÝ HIỆU VIẾT TẮT 8
MỞ ĐẦU 9
CHƢƠNG 1: LÝ THUYẾT LIÊN QUAN 11
1. Tính toán đám mây 11
1.1 Khái niệm 11
1.2 Thực trạng hiện nay 12
1.3 Thuộc tính của tính toán đám mây 13
2. Các dị ch vụ trên đám mây 15
2.1 Dị ch vụ phần mềm (Software as a Service – SaaS) 15
2.2 Dị ch vụ nền tảng (Platform as a Service – PaaS) 16
2.3 Dị ch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS) 18
3. Một số mô hình triển khai CC 19
3.1 Đám mây công cộng 19
3.2 Đám mây riêng 20
3.3 Đám mây lai 21
4. Kiến trúc hƣớng dị ch vụ 22
4.1 Các tính chất 23
4.2 Dị ch vụ Web 25
4.3 Mối tƣơng quan giữa tính toán đám mây và kiến trúc SOA 25
5. Công nghệ ảo hóa 25
6. Các vấn đề và thách thức 27
7. Tổng kết 28
CHƢƠNG 2: DỊ CH VỤ CƠ SỞ DỮ LIỆU 29
1. Giới thiệu 29
1.1 Tổng quan 29
1.2 Yêu cầu 31
2. Phân hoạch dữ liệu 32
3. Vị trí và di chuyển dữ liệu 33
4. Bảo mật dữ liệu 33
4
MỤC LỤC
MỤC LỤC 4
DANH MỤC HÌNH VẼ 6
CÁC KÝ HIỆU VIẾT TẮT 8
MỞ ĐẦU 9
CHƢƠNG 1: LÝ THUYẾT LIÊN QUAN 11
1. Tính toán đám mây 11
1.1 Khái niệm 11
1.2 Thực trạng hiện nay 12
1.3 Thuộc tính của tính toán đám mây 13
2. Các dị ch vụ trên đám mây 15
2.1 Dị ch vụ phần mềm (Software as a Service – SaaS) 15
2.2 Dị ch vụ nền tảng (Platform as a Service – PaaS) 16
2.3 Dị ch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS) 18
3. Một số mô hình triển khai CC 19
3.1 Đám mây công cộng 19
3.2 Đám mây riêng 20
3.3 Đám mây lai 21
4. Kiến trúc hƣớng dị ch vụ 22
4.1 Các tính chất 23
4.2 Dị ch vụ Web 25
4.3 Mối tƣơng quan giữa tính toán đám mây và kiến trúc SOA 25
5. Công nghệ ảo hóa 25
6. Các vấn đề và thách thức 27
7. Tổng kết 28
CHƢƠNG 2: DỊ CH VỤ CƠ SỞ DỮ LIỆU 29
1. Giới thiệu 29
1.1 Tổng quan 29
1.2 Yêu cầu 31
2. Phân hoạch dữ liệu 32
3. Vị trí và di chuyển dữ liệu 33
4. Bảo mật dữ liệu 33
5
5. Tổng kết 36
CHƢƠNG 3: Thực nghiệm 37
1. Giới thiệu 37
2. Thiết kế hệ thống thử nghiệm 38
3. Môi trƣờng thực nghiệm 39
3.1 CloudStack 39
3.1.1 Mô hình kiến trúc 40
3.1.2 Các tính năng chính 42
3.1.3 Yêu cầu môi trƣờng triển khai CloudStack 44
3.2 Citrix XenServer 46
4. Kết quả thực nghiệm 47
4.1 Máy chủ XenServer 47
4.2 Máy chủ XenCenter 49
4.3 Máy chủ quản lý CloudStack 49
4.4 Khai thác dị ch vụ CSDL 54
5. Đánh giá kết quả 57
6. Tổng kết 58
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 59
Đóng góp chính 59
Hƣớng phát triển 59
TÀI LIỆU THAM KHẢO 60
6
DANH MỤC HÌNH VẼ
Hình 1.1. Mô hình tính toán đám mây tổng quát 11
Hình 1.2. Mô hình đa kênh thuê trong cùng CSDL 14
Hình 1.3. Các mô hình dị ch vụ tính toán đám mây 15
Hình 1.4. Mô hình dị ch vụ phần mềm cùng CSDL 16
Hình 1.5. Mô hình dị ch vụ nền tảng 17
Hình 1.6. Mô hình dị ch vụ cơ sở hạ tầng 19
Hình 1.7. Mô hình đám mây công cộng 20
Hình 1.8. Mô hình đám mây riêng của Amazon 21
Hình 1.9. Mô hình đám mây lai 22
Hình 1.10. Mô hình SOA 23
Hình 1.11. Một server vật lý và nhiều server ảo 26
Hình 1.12. Các thành phần ảo hóa 27
Hình 2.1. Mô hình DBaaS tổng quát 30
Hình 2.2. Mô hình bảo mật dữ liệu tổng quát 32
Hình 2.3. Hệ thống kiểm soát truy nhập 34
Hình 3.1. Mô hình DBaaS tổng quát 37
Hình 3.2. Mô hình hệ thống thử nghiệm 38
Hình 3.3. Mô hình CloudStack tổng quát 41
Hình 3.4. Hỗ trợ nhiều Hypervisor 42
Hình 3.5. Hỗ trợ giao diện web mạnh 43
Hình 3.6. Truy nhập console máy ảo 44
Hình 3.7. XenServer 47
Hình 3.8 Trạng thái máy chủ XenServer 48
Hình 3.9. Giao diện mạng của máy chủ XenServer 48
Hình 3.10. Các máy ảo đang hoạt động 49
Hình 3.11. Giao diện của máy chủ XenCenter 49
Hình 3.12 Màn hình đăng nhập CloudStack 50
Hình 3.13. Màn hình chính CloudStack 50
Hình 3.14. Màn hình thông tin dị ch vụ 51
Hình 3.15. Màn hình hệ thống 51
Hình 3.16. Màn hình máy chủ XenServer trên CloudStack 52
Hình 3.17. Màn hình máy ảo hệ thống quản lý lƣu trữ ngoài 52
Hình 3.18. Màn hình quản lý lƣu trữ chính 53
7
Hình 3.19. Màn hình quản lý template 53
Hình 3.20. Màn hình máy ảo trên CloudStack 54
Hình 3.21. Console vào máy ảo từ CloudStack 54
Hình 3.22. Tạo mới cơ sở dữ liệu 55
Hình 3.23. Tạo mới và chèn dữ liệu vào bảng 55
Hình 3.24. Đăng nhập từ xa vào máy chủ CSDL 56
Hình 3.25. Chèn dữ liệu vào bảng 56
Hình 3.26. Cập nhật dữ liệu 57
8
CÁC KÝ HIỆU VIẾT TẮT
CC
Tính toán đám mây
DbaaS
Dịch vụ cơ sở dữ liệu
SOA
Kiến trúc hƣớng dịch vụ
WS
Dịch vụ web
SOAP
Giao thức truy nhập đối tƣợng đơn giản
CSDL
Cơ sở dữ liệu
Hypervisor
Một chƣơng trình hệ thống cung cấp môi trƣờng máy ảo
VM
Máy ảo (Virtual machine)
SSL
Secure Sockets Layer - là giao thức an ninh thông tin mạng
nhằm mã hóa và cung cấp một kênh an toàn giữa các máy
tính trên Internet hoặc mạng nội bộ. SSL thƣờng đƣợc sử
dụng khi một trình duyệt web cần kết nối bảo mật đến một
máy chủ web
Csdl
Cơ sở dữ liệu
GD
Giao dịch
9
MỞ ĐẦU
Tính toán đám mây là mô hình tính toán mới ra đời và đang dần trở
thành mô hình tính toán nổi bật hiện nay. Với mô hình tính toán đám mây,
mọi tiện ích liên quan tới công nghệ đều đƣợc cung cấp dƣới dạng dịch vụ.
Điều này cho phép ngƣời sử dụng truy cập sử dụng các dịch vụ công nghệ mà
không cần quan tâm tới các dịch vụ đó đƣợc cài đặt ở đâu, cơ sở hạ tầng cài
đặt dịch vụ đó ra sao. Ngƣời sử dụng chỉ cần trả tiền để sử dụng dịch vụ và chỉ
phải trả cho những gì sử dụng, những việc còn lại nhà cung cấp dịch vụ sẽ
chịu trách nhiệm quản lý.
Ngày nay, đối với các doanh nghiệp, việc quản lý hiệu quả dữ liệu của
riêng doanh nghiệp cũng nhƣ dữ liệu liên quan tới khách hàng và đối tác là
một trong những bài toán đƣợc ƣu tiên hàng đầu. Bài toán này đang không
ngừng gây khó khăn cho doanh nghiệp khi lƣợng thông tin cần quản lý lớn.
Để 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ì. Ngoài ra doanh nghiệp còn
phải tính toán khả năng mở rộng, nâng cấp thiết bị, nâng cấp phần cứng và
phần mềm, 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.
Đó là một bài toán đặt ra cho các doanh nghiệp. Để giải quyết đƣợc bài
toán này, cần xây dựng một nơi tin cậy giúp các doanh nghiệp quản lý các
nguồn dữ liệu đó. Các doanh nghiệp sẽ không cần quan tâm đến cơ sở hạ tầng,
công nghệ mà chỉ tập trung vào công việc kinh doanh thì sẽ mang lại cho
doanh nghiệp sự hiệu quả trong kinh doanh, góp phần tăng doanh thu và lợi
nhuận cho doanh nghiệp.
Trong luận văn này, tác giả tập trung nghiên cứu lý thuyết tổng quan về
tính toán đám mây, các mô hình triển khai dịch vụ tính toán đám mây và ứng
dụng tính toán đám mây trong việc xây dựng dịch vụ cơ sở dữ liệu. Miền ứng
dụng của tính toán đám mây rất rộng, tuy nhiên trong phạm vi đề tài này, tác
giả đi vào nghiên cứu khai thác các dịch vụ quản trị cơ sở dữ liệu trong
nghành ngân hàng theo định hƣớng tính toán đám mây. Từ đó xây dựng mô
hình cung cấp dịch vụ cơ sở dữ liệu thử nghiệm với hệ thống CloudStack.
10
Nhằm đạt đƣợc các mục tiêu đó, tác giả đã thực hiện đề tài luận văn
“Ứng dụng tính toán đám mây trong việc cung cấp dịch vụ cơ sở dữ liệu”.
Luận văn đƣợc tổ chức thành 3 chƣơng nhƣ sau:
- Chƣơng 1. Lý thuyết liên quan: Trong chƣơng này tác giả trình bày
phần lý thuyết cơ bản, gồm các phần:
o Tổng quan về tính toán đám mây.
o Các mô hình dịch vụ tính toán đám mây.
o Các mô hình triển khai tính toán đám mây.
- Chƣơng 2. Dịch vụ cơ sở dữ liệu: Chƣơng này tác giả tổ chức thành
các phần:
o Phân hoạch dữ liệu.
o Vị trí và di chuyển dữ liệu.
o Bảo mật dữ liệu.
- Chƣơng 3. Thực nghiệm: Chƣơng này tác giả tiến hành thử nghiệm mô
hình đề xuất trên CloudStack. Cuối cùng tiến hành đánh giá kết quả thực
nghiệm.
Kết luận: Phần này nêu ra kết luận, các đóng góp chính mà luận văn đã
đạt đƣợc. Đồng thời nêu ra hƣớng phát triển tiếp theo của đề tài.
11
CHƢƠNG 1: LÝ THUYẾT LIÊN QUAN
1. Tính toán đám mây
1.1 Khái niệm
Tính toán đám mây, còn gọi là tính toán máy chủ ảo, là mô hình tính
toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.
Thuật ngữ "đám mây" ở đây chỉ mạng Internet (dựa vào cách đƣợc bố trí của
nó trong sơ đồ mạng máy tính). Ở mô hình tính toán này, mọi khả năng liên
quan đến công nghệ thông tin đều đƣợc cung cấp dƣới dạng các "dịch vụ",
cho phép ngƣời sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp
nào đó trong "đám mây" mà không cần phải có các kiến thức, kinh nghiệm về
công nghệ đó, cũng nhƣ không cần quan tâm đến các cơ sở hạ tầng phục vụ
công nghệ đó.
Trong mô hình tính toán đám mây, thông tin đƣợc lƣu trữ thƣờng trực
tại các máy chủ trên Internet và chỉ đƣợc lƣu trữ tạm thời tại các máy khách
bao gồm máy tính cá nhân, điện thoại có chức năng truy cập Internet. [2]
Hình 1.1. Mô hình tính toán đám vmây tổng quát [2].
12
1.2 Thực trạng hiện nay
Tính toán đám mây mang lại lợi ích to lớn cho doanh nghiệp cung cấp
dịch vụ cũng nhƣ lợi ích cho khách hàng sử dụng dịch vụ. Tính toán đám mây
giúp doanh nghiệp cung cấp dịch vụ khai thác tối đa đƣợc tài nguyên hệ thống
tính toán. Tại nhà cung cấp dịch vụ, các chuyên gia cùng hệ thống tốt nhất
luôn sẵn sàng đáp ứng nhu cầu ngƣời sử dụng. Theo mô hình tính toán đám
mây, hạ tầng công nghệ thông tin sẽ đƣợc các nhà cung cấp dịch vụ cho các
doanh nghiệp thuê lại. Việc quản lý hạ tầng công nghệ thông tin đó sẽ đƣợc
nhà cung cấp dịch vụ thực hiện.
Về phía doanh nghiệp sử dụng dịch vụ, tính toán đám mây sẽ cho phép
doanh nghiệp không cần tập trung quá nhiều cho cơ sở hạ tầng hoặc nâng cấp
ứng dụng, không đòi hỏi nguồn nhân lực lớn và có thể dễ dàng thay đổi quy
mô khi cần. Khi thành phần chiếm nhiều nguồn lực về con ngƣời và chi phí
trong cơ cấu vận hành của doanh nghiệp đƣợc gỡ đi, doanh nghiệp sẽ có nhiều
thời gian vào những hoạt động kinh doanh cốt lõi.
Qua thời gian, các cơ quan chính phủ lƣu trữ một lƣợng thông tin đồ sộ.
Các thông tin đó có thể để xử lý trực tuyến nhƣ kiểu dùng trong khai báo hải
quan hay để lƣu trữ cho mục đích khai thác báo cáo. Các ngân hàng cũng là
một cơ quan điển hình cho việc sử dụng, quản trị và lƣu trữ dữ liệu. Khi giao
dịch liên quan tới tài khoản ngân hàng, số liệu phải đƣợc cập nhật tức thời vào
cơ sở dữ liệu. Khi khách hàng vấn tin tài khoản tại ATM, gần nhƣ ngay lập
tức khách hàng nhận đƣợc số dƣ trong tài khoản hiện có. Ngoài ra, khi khách
hàng vấn tin lịch sử giao dịch, khách hàng sẽ xem đƣợc các giao dịch đƣợc
thực hiện liên quan tới thẻ của khách hàng trong khoảng thời gian. Điều gì hỗ
trợ ngân hàng có thể đƣa ra đƣợc chất lƣợng dịch vụ tốt nhƣ vậy, đem đến sự
hài lòng cho khách hàng. Một điều không thể thiếu đóng góp vào thành công
của hệ thống ngân hàng đó là cơ sở hạ tầng công nghệ thông tin nói chung và
cơ sở dữ liệu nói riêng.
Khi có yêu cầu xử lý của khách hàng, hệ thống công nghệ thông tin ứng
dụng tính toán đám mây sẽ tự động phân tích yêu cầu, tìm ra tài nguyên tính
toán tốt nhất trong môi trƣờng đám mây để xử lý yêu cầu và trả về kết quả cho
khách hàng. Dữ liệu đƣợc đƣa lên các đám mây, các chuyên gia cùng với hạ
tầng công nghệ thông tin có sức mạnh tính toán khổng lồ của các nhà cung
cấp dịch vụ sẽ đảm bảo hệ thống cơ sở dữ liệu đƣợc tổ chức khoa học, hiệu
quả tính toán và khả năng sẵn sàng, tính bảo mật đƣợc đƣa lên cao nhất.
13
Mô hình tính toán đám mây ngày càng trở lên phổ biến. Các công ty
lớn nhƣ Citrix, Amazon, Microsoft, Oracle, IBM đã chú trọng phát triển dịch
vụ hƣớng mô hình tính toán đám mây. Các công ty này đều có các sản phẩm
tính toán đám mây đang đƣợc sử dụng nhƣ Citrix có CloudStack, Amazon có
EC2, Microsoft có Windows Azura và SQL Azura.
1.3 Thuộc tính của tính toán đám mây
Tính toán đám mây đƣợc xem nhƣ là dịch vụ và giải pháp kinh doanh
đƣợc sử dụng và phân phối qua internet theo nhu cầu của ngƣời sử dụng. Nhu
cầu và các nghiệp vụ đa dạng của ngƣời sử dụng về kiến trúc, ứng dụng và tài
nguyên đƣợc nhà cung cấp dịch vụ đám mây đáp ứng với giá thành thấp nhất.
Tính toán đám mây giúp điều chỉnh phù hợp các mục đích kinh doanh, giảm
giá thành sở hữu và quản trị ứng dụng công nghệ thông tin, và tăng độ linh
động cho các nghiệp vụ của doanh nghiệp. Tính toán đám mây có một số
thuộc tính quan trọng nhƣ sau:
- Đa kênh thuê: Mô hình tính toán đám mây sử dụng sức mạnh của các
tài nguyên đƣợc chia sẻ. Một ứng dụng đƣợc sử dụng để nhân bản ra
thành nhiều thể hiện có dữ liệu và cấu hình khác nhau cho nhiều đối
tƣợng khách hàng sử dụng. Nhiều khách hàng sẽ chia sẻ cùng ứng dụng,
chạy trên cùng nền tảng phần cứng, sử dụng cùng hệ điều hành. Kỹ thuật
này làm giảm giá thành liên quan tới kiến trúc nền tảng. Trong khai phá
dữ liệu và tập hợp dữ liệu, tất cả dữ liệu của các khách hàng đều đƣợc
lƣu vào một lƣợc đồ CSDL. Do đó, các ứng dụng và dịch vụ dễ dàng
đƣợc truy nhập sử dụng.
14
Hình 1.2. Mô hình đa kênh thuê trong cùng CSDL [4].
- Khả năng mở rộng: Tính toán đám mây có khả năng mở rộng tới hàng
ngàn hệ thống, mạng và không gian lƣu trữ. Đặc tính này đảm bảo mô
hình tính toán đám mây có thể đƣợc đáp ứng đƣợc các yêu cầu ngày càng
tăng của ngƣời sử dụng về sức mạnh xử lý, không gian lƣu trữ cũng nhƣ
sự ổn định của dữ liệu.
- Hiệu quả về kinh tế: Ngƣời sử dụng chỉ phải trả phí cho những gì họ sử
dụng mà không phải đầu tƣ về cơ sở hạ tầng, thiết bị và kinh phí duy trì
đội ngũ nhân viên bảo trì và quản trị.
- Sự tin cậy: Mô hình tính toán đám mây có độ tin cậy rất cao về sự ổn
định cũng nhƣ sẵn sàng của hệ thống. Mô hình tính toán đám mây có sự
sao lƣu hệ thống thƣờng xuyên, do vậy nghiệp vụ của khách hàng sẽ luôn
đảm bảo đƣợc duy trì hoạt động ổn định.
- Nhanh chóng đáp ứng nhu cầu ngƣời sử dụng: Các yêu cầu từ phía
ngƣời dùng sẽ đƣợc gửi tới trung tâm dữ liệu của nhà cung cấp dịch vụ.
Tại trung tâm dữ liệu, các tài nguyên tính toán lớn đƣợc các chƣơng
trình máy tính thông minh điều khiển sẽ đón nhận yêu cầu từ ngƣời
dùng, thực hiện xử lý và trả kết quả về ngƣời dùng nhanh nhất.
- Độc lập vị trí và thiết bị: Ngƣời dùng truy nhập vào hệ thống qua trình
duyệt web mà không cần biết vị trí hoặc thiết bị nào đang sử dụng.
15
Ngƣời dùng có thể kết nối tới thiết bị thông qua bất cứ thiết bị nào hỗ
trợ duyệt web.
2. Các dịch vụ trên đám mây
Tính toán đám mây đƣa ra cho khách hàng ba loại dịch vụ. Các loại dịch
vụ này phụ thuộc vào thành phần công nghệ thông tin đƣợc cung cấp
dƣới dạng dịch vụ cho ngƣời dùng. Các tiện ích công nghệ thông tin nhƣ
nền tảng, hệ điều hành, tƣờng lửa, bộ định tuyến, thiết bị lƣu trữ, cơ sở
dữ liệu đƣợc triển khai trên “đám mây” đƣợc đƣa ra là dịch vụ công nghệ
thông tin dựa theo yêu cầu của ngƣời dùng. Các dịch vụ đám mây chia
làm ba loại dịch vụ gồm dịch vụ phần mềm (Software as a Service –
SaaS), dịch vụ nền tảng (Platform as a Service – PaaS) và dịch vụ hạ
tầng (Infrastructure as a Service – IaaS)
Hình 1.3. Các mô hình dịch vụ tính toán trên đám mây [5].
2.1 Dịch vụ phần mềm (Software as a Service – SaaS)
SaaS là mô hình một - nhiều để cung cấp các ứng dụng cho ngƣời dùng
cuối. Về cơ bản, phần mềm đƣợc cài đặt trên phần cứng của nhà cung
cấp dịch vụ và nhà cung cấp dịch vụ sẽ cấp quyền truy cập cho ngƣời
dùng cuối. Ngƣời dùng cuối sẽ thông qua trình duyệt web để truy nhập
tới ứng dụng.
16
Trong mô hình SaaS, một ứng dụng đƣợc tùy biến dữ liệu và cấu hình
cho phù hợp với từng đối tƣợng khách hàng. Do vậy, một ứng dụng sẽ
đƣợc sử dụng cho nhiều đối tƣợng khách hàng khác nhau.
SaaS trở thành mô hình phân phối phổ biến cho hầu hết các ứng dụng
cho doanh nghiệp, bao gồm: kế toán, quản lý hợp tác, quản lý quan hệ
khách hàng (CRM), lập kế hoạch nguồn lực doanh nghiệp (ERP), quản
lý hóa đơn, quản lý nguồn lực (HRM), quản lý nội dung (CM).
Hình 1.4. Mô hình dịch vụ phần mềm cùng CSDL [6].
Mô hình có nhiều ƣu điểm nhƣ phần mềm có thể sử dụng lại, phần mềm
chạy trên nền tảng công nghệ tốt của nhà cung cấp dịch vụ, khả năng sẵn
sàng cao của ứng dụng.
Tuy nhiên, cũng có nhiều thách thức khi ứng dụng mô hình này nhƣ vấn
đề bảo mật dữ liệu phụ thuộc rất lớn vào nhà cung cấp dịch vụ phần
mềm bởi vì toàn bộ ứng dụng đƣợc lƣu trữ và sử dụng trên môi trƣờng
của nhà cung cấp dịch vụ. Do sử dụng đƣờng truyền internet để sử dụng
dịch vụ từ xa nên sẽ có một độ trễ nhất định so với môi trƣờng thực.
Một trong những SaaS nổi tiếng là GoogleDocs. Với GoogleDocs, ngƣời
dùng chi cần tạo tài khoản Google là có thể tạo những tài liệu cá nhân
thông qua trình duyệt web. Các tài liệu này đƣợc bảo mật thông qua xác
thực tài khoản Gmail của Google.
2.2 Dịch vụ nền tảng (Platform as a Service – PaaS)
Trong mô hình này, nền tảng tính toán đƣợc cung cấp bởi nhà cung cấp
dịch vụ. Nền tảng tạo ra môi trƣờng cho phép ngƣời dùng phát triển,
triển khai và quản lý toàn bộ vòng đời của ứng dụng từ khi khởi tạo tới
khi ứng dụng không còn đƣợc sử dụng.
17
PaaS đƣa ra các tiện ích hỗ trợ triển khai ứng dụng mà không cần quan
tâm tới giá thành và sự phức tạp của việc mua sắm và quản trị các thành
phần gồm cả phần cứng và phần mềm cấu thành lên nền tảng tính toán.
Nền tảng tính toán bao gồm sự kết hợp giữa một số kiến trúc phần cứng
và nền tảng phần mềm, bao gồm cả nền tảng ứng dụng. Sự kết hợp này
cho phép phần mềm đƣợc thực thi trên nền tảng. Một nền tảng tính toán
cơ bản bao gồm kiến trúc của máy tính, hệ điều hành, ngôn ngữ lập trình
và các giao diện tƣơng tác với ngƣời dùng.
Hình 1.5. Mô hình dịch vụ nền tảng [7].
Có một số hình thức của PaaS bao gồm PaaS hỗ trợ môi trƣờng phát
triển độc lập, PaaS hỗ trợ môi trƣờng chỉ phân phối ứng dụng và nền
tảng mở [8].
PaaS hỗ trợ môi trƣờng phát triển độc lập không bao gồm các kỹ thuật,
cấp phép hoặc phụ thuộc tài chính vào các ứng dụng SaaS cụ thể hoặc
các dịch vụ web, và đƣợc dành để cung cấp một môi trƣờng phát triển
tổng quát.
18
PaaS hỗ trợ môi trƣờng phân phối ứng dụng. Dịch vụ nền tảng này thiếu
khả năng phát triển, gỡ lỗi và thử nghiệm, và chỉ cung cấp các dịch vụ
mà một môi trƣờng lƣu trữ có thể hỗ trợ nhƣ an ninh dữ liệu và khả năng
mở rộng theo yêu cầu.
Nền tảng mở: Cho phép ngƣời phát triển sử dụng nhiều ngôn ngữ lập
trình, nhiều cơ sở dữ liệu, hệ điều hành và máy chủ khác nhau.
2.3 Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS)
Tính toán đám mây cũng cung cấp cơ sở hạ tầng nhƣ một dịch vụ cho
các tổ chức trả tiền cho phần cứng trên cơ sở trả tiền cho mỗi lần sử
dụng. Cơ sở hạ tầng cung cấp cho ngƣời dùng cuối có thể đƣợc chia sẻ
hoặc chuyên dụng.
IaaS cung cấp lƣu trữ và khả năng tính toán qua mạng bằng cách sử dụng
khái niệm của ảo hóa. IaaS có thể xử lý khối lƣợng công việc khác nhau,
từ các ứng dụng thông thƣờng tới các ứng dụng hiệu năng cao. Trong mô
hình tính toán đám mây, nguồn lực và cơ sở hạ tầng đƣợc thuê ngoài bởi
các tổ chức sử dụng dịch vụ hoặc các nhà cung cấp thứ ba. Các nhà cung
cấp dịch vụ sở hữu cơ sở hạ tầng chịu trách nhiệm bảo trì, nâng cấp. Các
nguồn tài nguyên nhƣ các máy chủ, hệ thống lƣu trữ, thiết bị chuyển
mạch, định tuyến, v.v đƣợc chia sẻ qua mạng
Điểm mạnh của mô hình IaaS là khả năng mở rộng, có thể mở rộng khả
năng lƣu trữ, khả năng tính toán theo nhu cầu.
Doanh nghiệp thay vì phải mua sắm đầy đủ các máy chủ, phần mềm,
trung tâm dữ liệu và các thiết bị mạng, doanh nghiệp chỉ cần thuê lại từ
nhà cung cấp. Nhà cung cấp dịch vụ tính phí sử dụng theo các tính toán
cơ bản nhƣ tỷ lệ sử dụng RAM, CPU, lƣu lƣợng vào ra (I/O) dữ liệu, thời
gian sử dụng tài nguyên.
Doanh nghiệp sẽ chỉ phải trả phí cho những gì doanh nghiệp sử dụng.
Việc bảo trì, nâng cấp hệ thống nhà cung cấp dịch vụ sẽ thực hiện.
Doanh nghiệp nhờ đó sẽ có nhiều thuận lợi hơn để tập trung vào nghiệp
vụ.
19
Hình 1.6. Mô hình dịch vụ cơ sở hạ tầng [17].
3. Một số mô hình triển khai CC
Dựa trên mối quan hệ giữa nhà cung cấp dịch vụ và doanh nghiệp sử
dụng dịch vụ có thể triển khai tính toán đám mây theo ba mô hình là đám
mây công khai, đám mây riêng tƣ và đám mây lai. Doanh nghiệp dựa vào
những yêu cầu nghiệp vụ riêng để lựa chọn triển khai một trong ba mô
hình.
3.1 Đám mây công cộng
Đây là mô hình triển khai cơ bản nhất của tính toán đám mây trong các
mô hình dịch vụ. Nhà cung cấp dịch vụ tính phí ngƣời sử dụng theo việc
sử dụng các tài nguyên thuê. Vì không có hạn chế ngƣời sử dụng có thể
đăng ký dịch vụ đám mây này nên đƣợc gọi là đám mây công cộng. Các
dịch vụ đƣợc cung cấp bởi tính toán đám mây công cộng có thể đƣợc
miễn phí hoặc tính phí tùy thuộc vào dịch vụ đƣợc cung cấp. Ví dụ, ứng
dụng mail của Google, Yahoo,v.v… đƣợc truy cập bởi những ngƣời sử
dụng miễn phí, trong khi thuê cơ sở hạ tầng, cơ sở dữ liệu và nền tảng thì
sẽ bị tính phí.
Việc di chuyển các ứng dụng và dữ liệu quan trọng trong đám mây công
cộng là một vấn đề cần đƣợc quan tâm. Trong mô hình kiến trúc đám
20
mây công cộng, sự kiểm soát các dữ liệu và ứng dụng không phải là
trong tay của ngƣời sử dụng mà ở trong tay các nhà cung cấp thứ ba cung
cấp dịch vụ. Do vậy, chính sách bảo mật dữ liệu và các vấn đề bảo mật
khác cần đƣợc ngƣời sử dụng quan tâm đánh giá khi sử dụng dịch vụ.
Các cá nhân cũng có thể đăng ký cho dịch vụ này vì nó cung cấp một nền
tảng mở để phát triển, triển khai và quản lý các ứng dụng mà không cần
quan tâm về môi trƣờng lƣu trữ.
Hình 1.7. Mô hình đám mây công cộng [9].
3.2 Đám mây riêng
Đám mây riêng phổ biến đƣợc biết đến nhƣ một đám mây nội bộ. Mô
hình triển khai đám mây riêng có dữ liệu lƣu trữ, máy chủ và cơ sở hạ
tầng nằm trong phạm vi ranh giới vật lý của trung tâm dữ liệu của doanh
nghiệp.
Nhƣ vậy, mối quan tâm về an ninh và việc duy trì sự riêng tƣ dữ liệu sẽ
không bị ảnh hƣởng. Mô hình kiến trúc này phổ biến và rất hữu dụng
trong các doanh nghiệp và tổ chức đòi hỏi mức độ bảo mật cao của dữ
liệu nhƣ nghành ngân hàng.
21
Mối quan tâm duy nhất khi triển khai đám mây riêng là việc bảo mật dữ
liệu đạt tƣơng ứng với tổng chi phí phát sinh trong đầu tƣ khi thiết lập
đám mây nội bộ.
Hình 1.8. Mô hình đám mây riêng của Amazon [10].
3.3 Đám mây lai
Các tổ chức, doanh nghiệp không có vốn để đầu tƣ vào cơ sở hạ tầng rất
lớn nhƣng muốn tận dụng tiềm năng của điện toán đám mây để mang lại
lợi ích cho tổ chức có thể sử dụng mô hình lai.
Mô hình lai có sự phân biệt giữa dữ liệu quan trọng của doanh nghiệp và
lƣu trữ ứng dụng. Trong khi doanh nghiệp xây dựng trung tâm dữ liệu và
cài đặt cơ sở dữ liệu cho riêng mình thì doanh nghiệp vẫn có thể đi thuê
các cơ sở hạ tầng và ứng dụng khác từ đám mây công cộng để giảm chi
phí đầu tƣ ban đầu.
22
Hình 1.9. Mô hình đám mây lai [11].
4. Kiến trúc hƣớng dịch vụ
Kiến trúc hƣớng dịch vụ (SOA) là tập các nguyên lý thiết kế đƣợc sử
dụng trong pha phát triển và tích hợp hệ thống. Một hệ thống dựa trên một
SOA sẽ đóng gói các tính năng thành một tập các dịch vụ đa tƣơng tác có thể
đƣợc sử dụng bên trong các hệ thống liên kết hoặc các hệ thống riêng biệt đáp
ứng các yêu cầu nghiệp vụ khác nhau.
23
Hình 1.10. Mô hình SOA [13].
Nhà cung cấp dịch vụ đƣa ra những thông tin về dịch vụ của mình cho
một bên trung gian. Bên trung gian này sẽ lƣu trữ toàn bộ thông tin về dịch vụ
của nhà cung cấp. Từ đó, ngƣời sử dụng dịch vụ có thể tìm kiếm dịch vụ mình
cần từ bên trung gian này. Sau đó ngƣời dùng dịch vụ xây dựng kênh giao tiếp
với bên cung cấp dịch vụ.
SOA cung cấp giải pháp giải quyết các vấn đề còn tồn tại của hệ thống
hiện nay nhƣ tính 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 và liên kết với các hệ
thống khác. Đây chính là nền tảng và cơ sở cho việc tích hợp, tái sử dụng các
tài nguyên sẵn có.
4.1 Các tính chất
- Tính kết nối:
Vấn đề kết nối liên quan tới sự ràng buộc giữa các module với nhau. Mô
hình SOA đƣa ra hai mức độ kết nối là kết nối lỏng và kết nối chặt. Các
module có kết nối lỏng với nhau có một số ràng buộc đƣợc mô tả chi tiết trong
khi các module có kết nối chặt thì mối quan hệ giữa các module không rõ
ràng. Hầu hết các kiến trúc phần mềm đều hƣớng tới kết nối lỏng giữa các
module. Khả năng kết nối giữa các module ảnh hƣởng tới khả năng chỉnh sửa,
24
nâng cấp của hệ thống đó. Nếu tính chất kết nối giữa các module càng chặt thì
công việc chỉnh sửa theo nhu cầu thay đổi từ phía ngƣời dùng càng nhiều do
phải sửa nhiều module.
SOA hỗ trợ tính kết nối 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 dịch vụ truy vấn đến nơi lƣu
trữ và cung cấp thông tin dịch vụ (Nơi đăng kí dịch vụ - Registry) để lấy
thông tin về loại dịch vụ cần sử dụng. Nơi đăng kí dịch vụ sẽ trả về tất cả
những dịch vụ thoả tiêu chuẩn tìm kiếm. Từ bây giờ ngƣời dùng chỉ việc 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ừ nơi đăng kí dịch vụ.
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ợ. Tính kết nối lỏng giúp gỡ
bỏ những ràng buộc điều khiển giữa những hệ thống đầu cuối. Mỗi hệ thống
có thể tự quản lý độc lập nhằm tăng hiệu suất, khả năng mở rộng và khả năng
đáp ứng cao. Những thay đổi cài đặt cũng đƣợc che giấu đi. Kết nối lỏng đem
đến sự độc lập giữa bên cung cấp và bên sử dụng nhƣng nó đòi hỏi các giao
diện (interface) phải theo chuẩn và cần một thành phần trung gian quản lý,
trung chuyển yêu cầu giữa các hệ thống đầu cuối.
- Tái sử dụng:
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 trùng lắp và tăng độ vững chắc trong cài đặt, nó còn giúp
đơn giản hoá việc quản trị. Thực ra tái sử dụng dịch vụ lại dễ dàng hơn tái sử
dụng thành phần hay lớp. Những dịch vụ đƣợc dùng chung bởi tất cả các ứng
dụng của một hệ thống SOA gọi là những dịch vụ chia sẻ cơ sở hạ tầng
(shared infrastructure service).
- Tính giao tiếp:
Các dịch vụ trong SOA có khả năng giao tiếp với nhau. Nếu nhà cung
cấp và ngƣời dùng dịch vụ có nền tảng khác nhau mà kết nối với nhau thì các
giao thức giao tiếp dùng để hỗ trợ cho các tƣơng tác dịch vụ cần phải tƣơng
thích giữa các nền tảng đó. Do có các yêu cầu giao tiếp, SOA sử dụng các
công nghệ giao tiếp chuẩn mở nhƣ XML và Web Service.
25
4.2 Dịch vụ Web
Dịch vụ web có thể cài đặt một kiến trúc hƣớng dịch vụ. Dịch vụ web
tạo ra các khối chức năng có thể đƣợc truy nhập thông qua các giao thức
internet chuẩn không phụ thuộc nền tảng hoặc ngôn ngữ lập trình. Từng khối
SOA có thể đóng một trong hai vai trò là nhà cung cấp dịch vụ hoặc ngƣời sử
dụng dịch vụ.
4.3 Mối tƣơng quan giữa tính toán đám mây và kiến trúc SOA
Cả mô hình toán đám mây và hƣớng dịch vụ đều chia sẻ khái niệm
hƣớng dịch vụ. Đó là có nhiều kiểu dịch vụ đƣợc chia sẻ trên mạng chung và
ngƣời sử dụng có thể tiếp cận các dịch vụ đó. Mô hình tính toán đám mây
chuyển các khía cạnh của công nghệ thông tin ra cộng đồng dƣới dạng dịch
vụ, các dịch vụ này đƣợc các nhà cung cấp dịch vụ dựa trên đám mây đƣa ra.
Ngƣời sử dụng có nhu cầu mua lại dịch vụ từ nhà cung cấp dịch vụ. Trong khi
mô hình SOA đề cập nhiều hơn tới khía cạnh thành phần phần mềm và vấn đề
kết dính giữa các thành phần đó. [13]
5. Công nghệ ảo hóa
Ảo hóa là công nghệ ra đời nhằm khai thác tối đa khả năng làm việc
của các phần cứng trong hệ thống máy tính. Ảo hóa hoạt động nhƣ một tầng
trung gian giữa phần cứng máy tính và phần mềm chạy trên nó. Ý tƣởng của
công nghệ ảo hóa là từ một tài nguyên máy tính đơn lẻ có thể tạo thành nhiều
máy ảo độc lập. Ảo hóa phép tạo nhiều máy ảo trên một máy chủ vật lý, mỗi
một máy ảo cũng đƣợc cấp phát tài nguyên phần cứng nhƣ máy thật gồm có
bộ xử lý (CPU), bộ nhớ trong (RAM), card mạng (NIC), ổ cứng (HDD) cùng
các tài nguyên khác và có hệ điều hành riêng. Khi thực thi ứng dụng, ngƣời
sử dụng sẽ không nhận biết đƣợc ứng dụng đó chạy trên lớp phần cứng ảo
26
Virtual File
Server
Virtual Web
Server
Virtual Application
Server
Virtual Mail
Server
Virtual Certification
Server
Virtual Database
Server
(Physical)
Hình 1.11.Một server vật lý và nhiều server ảo.
Các bộ xử lý của các hệ thống máy tính lớn hiện nay đều đƣợc thiết kế
để hỗ trợ công nghệ ảo hoá. Tuy nhiên không phải tất cả bộ xử lý đều hỗ trợ
ảo hóa. Các bộ xử lý cũ trên máy để bàn không hỗ trợ chức năng này. Ngày
nay hai nhà sản xuất bộ xử lý lớn trên thế giới là Intel và AMD đều tích hợp
công nghệ ảo hóa vào trong các sản phẩm của họ. Với Intel, các bộ xử lý đều
đƣợc cài đặt công nghệ Intel VT(Virtual Technology) cho phép ảo hóa, và với
AMD là công nghệ AMD Pacifica.
Một hệ thống ảo hóa bao gồm các thành phần sau:
- Tài nguyên vật lý máy chủ hay tài nguyên vật lý - (host machine,
physical machine): Gồm các tài nguyên cơ bản nhƣ bộ nhớ trong (RAM),
bộ xử lý (CPU), ổ đĩa cứng (HDD), card mạng (NIC)
- Phần mềm ảo hóa (virtualization software): Cung cấp và quản lý môi
trƣờng làm việc của các máy ảo. Lớp phần mềm ảo hóa cung cấp truy
cập cho mỗi máy ảo đến tài nguyên hệ thống. Phần mềm ảo hóa cũng
chịu trách nhiệm lập kế hoạch và phân chia tài nguyên vật lý cho các
máy ảo. Phần mềm ảo hóa là nền tảng của một môi trƣờng ảo hóa. Nó
cho phép tạo ra các máy ảo cho ngƣời sử dụng, quản lý các tài nguyên và
cung cấp các tài nguyên này đến các máy ảo. Kế hoạch quản lý sử dụng
tài nguyên khi có sự tranh chấp một tài nguyên đặc biệt của các máy ảo,
điều này dẫn tới sự hiệu quả làm việc của các máy ảo. Ngoài ra phần
mềm ảo hóa còn cung cấp giao diện quản lý và cấu hình cho các máy ảo.