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

Xây dựng giải pháp bảo mật cho hệ thống điện toán đám mây tại trường đại học phạm văn đồng

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 (4.19 MB, 78 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN HỒNG ANH

XÂY DỰNG GIẢI PHÁP BẢO MẬT CHO
HỆ THỐNG ĐIỆN TOÁN ĐÁM MÂY
TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG

LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH

Đà Nẵng, năm 2018


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN HỒNG ANH

XÂY DỰNG GIẢI PHÁP BẢO MẬT CHO
HỆ THỐNG ĐIỆN TOÁN ĐÁM MÂY
TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG
Chuyên ngành:

KHOA HỌC MÁY TÍNH

Mã số:

60480101


LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. PGS.TS. Nguyễn Tấn Khôi

Đà Nẵng, năm 2018


i
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu
trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào
khác.
Tác giả luận văn

Nguyễn Hồng Anh


ii
MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................... i
MỤC LỤC ..................................................................................................................... ii
TÓM TẮT LUẬN VĂN .............................................................................................. iv
DANH MỤC TỪ VIẾT TẮT ....................................................................................... v
DANH MỤC CÁC BẢNG........................................................................................... vi
DANH MỤC CÁC HÌNH ........................................................................................... vi
MỞ ĐẦU ........................................................................................................................ 1
1. Tính cấp thiết và lý do chọn đề tài ......................................................................1
2. Mục tiêu và nội dung nghiên cứu .......................................................................2
3. Đối tượng và phạm vi nghiên cứu ......................................................................2

4. Phương pháp nghiên cứu ....................................................................................2
5. Ý nghĩa khoa học và thực tiễn ............................................................................2
6. Bố cục của luận văn ............................................................................................3
CHƯƠNG 1. TỔNG QUAN VỀ MÁY CHỦ ẢO VÀ ĐÁM MÂY .......................... 4
1.1. Tổng quan về ảo hóa...............................................................................................4
1.1.1. Giới thiệu ......................................................................................................4
1.1.2. Công nghệ ảo hóa .........................................................................................6
1.1.3. Máy chủ ảo....................................................................................................7
1.2. Tổng quan về điện toán đám mây .........................................................................8
1.2.1. Đặc điểm và lợi ích của điện toán đám mây ...............................................10
1.2.2. Các loại hình dịch vụ ..................................................................................11
1.2.3. Các mô hình triển khai ................................................................................13
1.2.4. Hướng tiếp cận điện toán đám mây sử dụng công cụ mã nguồn mở .........15
KẾT CHƯƠNG 1 ........................................................................................................18
CHƯƠNG 2. AN TOÀN VÀ BẢO MẬT TRÊN ĐIỆN TOÁN ĐÁM MÂY ......... 19
2.1. An toàn và bảo mật trên điện toán đám mây.....................................................19
2.2. Máy chủ Web và các thành phần chính .............................................................19
2.2.1. Apache ........................................................................................................20
2.2.2. Dịch vụ IIS ..................................................................................................21
2.2.3. Giao thức HTTP trong ứng dụng web ........................................................22
2.2.4. Phát hiện tấn công dựa vào log file ............................................................22
2.3. Kỹ thuật tấn công trên web .................................................................................23
2.3.1. Tấn công chèn câu truy vấn SQL (SQL Injection) .....................................23
2.3.2. Tấn công XSS (Cross-Site Scripting) .........................................................25


iii
2.3.3. Chiếm hữu phiên làm việc (Session Management) ....................................27
2.3.4. Tấn công từ chối dịch vụ (DoS)..................................................................27
2.3.5. Một số kỹ thuật tấn công khác ....................................................................28

2.4. Phát hiện tấn công SQL Injection và XSS bằng biểu thức chính quy .............29
2.4.1. Giới thiệu về biểu thức chính quy ..............................................................29
2.4.2. Biểu thức chính quy trong PHP ..................................................................29
2.4.4. Phát hiện tấn công XSS bằng biểu thức chính quy.....................................32
KẾT CHƯƠNG 2 ........................................................................................................33
CHƯƠNG 3. THIẾT KẾ XÂY DỰNG MÔ HÌNH TRIỂN KHAI........................ 34
3.1. Đặt vấn đề ..............................................................................................................34
3.1.1. Bài toán .......................................................................................................34
3.1.2. Mô tả hoạt động hệ thống ...........................................................................34
3.2. Phân tích và thiết kế .............................................................................................36
3.2.1. Cơ sở dữ liệu ...............................................................................................36
3.2.2. Phân tích và thiết kế ....................................................................................36
3.3. Kết quả triển khai .................................................................................................40
3.3.1. Cài đặt môi trường hệ thống .......................................................................40
3.3.2. Nhập dữ liệu vào cơ sở dữ liệu ...................................................................41
3.3.3. Các chức năng thống kê, phân tích và tìm kiếm .........................................41
KẾT CHƯƠNG 3 ........................................................................................................47
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................ 48
TÀI LIỆU THAM KHẢO
PHỤ LỤC

QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)


iv

TÓM TẮT LUẬN VĂN
XÂY DỰNG GIẢI PHÁP BẢO MẬT CHO HỆ THỐNG ĐIỆN TOÁN
ĐÁM MÂY TẠI TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG


Học viên: Nguyễn Hồng Anh
Mã số: 60480101 Khóa: K33

Chuyên ngành: Khoa học máy tính
Trường Đại học Bách khoa – Đại học Đà Nẵng

Tóm tắt – Điện toán đám mây và các dịch vụ trên nền điện toán đám mây ngày càng
phát triển mạnh mẽ, giúp tiết kiệm chi phí về con người, bảo trì, thuận tiện trong quản lý, điều
khiển hệ thống. Tuy nhiên, bảo mật trên điện toán đám mây sao cho hiệu quả là điều khiến
các nhà quản trị mạng phải luôn quan tâm nghiên cứu. Trong luận văn này, tôi tiến hành
nghiên cứu cơ sở lý thuyết về ảo hóa, các công nghệ ảo hóa, lý thuyết về điện toán đám mây,
xu hướng sử dụng mã nguồn mở trên điện toán đám mây, lựa chọn OpenStack làm môi
trường triển khai. Trên cơ sở này, luận văn tiếp tục nghiên cứu giải pháp an toàn và bảo mật
thông tin trên điện toán đám mây, chọn giải pháp phân tích tập tin nhật ký máy chủ nhằm phát
hiện các tấn công SQL Injection và XSS để xây dựng mô hình, triển khai thực nghiệm, xây
dựng biểu đồ thống kê kết quả. Kết quả của luận văn được sử dụng như một đề xuất để thực
hiện tại trường Đại học Phạm Văn Đồng trong thời gian tới.
Từ khóa – Điện toán đám mây, tập tin nhật ký máy chủ, SQL Jnjection, XSS, biểu
thức chính quy
Abstract – Cloud computing and cloud computing-based services are increasingly
evolving, helping to save on human costs, maintenance, and convenience in management and
control of the system. However, efficiency in the security of cloud computing is what
administrators always have to focus on researching. In this thesis, I have reseached about
vitualization’s theory, vitualization technologies, cloud computing’s theory, open-source trend
in cloud computing, chosen OpenStack to be a development enviroment. Based on this, the
thesis is continued to research about information security and confidentiality solutions in
cloud computing, selected the server log file analysis was the solution for detection of SQL
Injection and XSS attack to built model, experiment, and statistical charts. The result of this
thesis will be used as a proposal for practical implementation at Pham Van Dong University
in the next time.

Key words – Cloud computing, log file server, SQL Injection, XSS, regular expression


v
DANH MỤC TỪ VIẾT TẮT

Từ viết tắt
CNTT
CSDL
HĐH
IaaS
IP
HTTP
NIST
PaaS
SaaS
VM
VMM
VPS

Nội dung
Công nghệ thông tin
Cơ sở dữ liệu
Hệ điều hành
Infrastructure as a Service
Internet Protocol
Hypertext Transfer Protocol
National Institute of Standards
and Technology
Platform as a Service

Software as a Service
Virtual Machine
Virtual Machine Monitor
Virtual Private Server

Giải thích

Dịch vụ hạ tầng

Viện tiêu chuẩn và Kỹ thuật
Quốc gia Hoa Kỳ
Dịch vụ nền tảng
Dịch vụ phần mềm
Máy ảo


vi
DANH MỤC CÁC BẢNG
Số hiệu
bảng
1.1.
2.1.
2.2.
2.3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.

3.7.
3.8.
3.9.
3.10.
3.11.
3.12.
3.13.
3.14.
3.15.

Tên bảng
Các dịch vụ trong OpenStack
Cấu trúc và thông tin tập tin nhật ký APACHE dạng
combined
Cấu trúc và thông tin tập tin nhật ký IIS
Ý nghĩa của ký tự đặc biệt trong biểu thức chính quy
Các thành phần định dạng trong tập tin nhật ký
Các chức năng của hệ thống
Các trường trong cơ sở dữ liệu
Use-Case import tập tin nhật ký vào cơ sở dữ liệu
User-Case thống kê top IP có nhiều request nhất
Use-Case thống kê IP mà request có mã trạng thái 302
Use-Case thống kê IP mà request có mã trạng thái 403
Use-Case thống kê IP mà request có mã trạng thái 200
Use-Case thống kê IP mà request có mã trạng thái 500
Use-Case thống kê theo phương thức
Thống kê theo thời gian 5 ngày gần nhất
Thống kê 5 ngày có nhiều request nhất
Use-Case phát hiện tấn công SQL injection
Phát hiện tấn công XSS

Use-Case tìm kiếm của hệ thống

Trang
16
20
21
29
35
35
36
38
38
38
38
38
39
39
39
39
39
40
40


vii
DANH MỤC CÁC HÌNH
Số hiệu
hình
1.1.
1.2.

3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10.
3.11.
3.12.
3.13.
3.14.
3.15.
3.16.
3.17.

Tên hình
Tổng quan về điện toán đám mây
Tổng quan về OpenStack
Mô tả hoạt động hệ thống
User-case đăng nhập
User-case hệ thống
Tạo máy ảo trên OpenStack
Tạo network trên OpenStack
Import tập tin nhật ký vào cơ sở dữ liệu
Thống kê theo số lượng request
Thống kê theo phương thức
Thống kê theo thời gian có nhiều request nhất

Thống kê theo 5 ngày gần nhất
Thống kê top 5 IP có nhiều request trả về mã 200
Thống kê Top 5 IP có nhiều request trả về mã 500
Thống kê Top IP có nhiều request trả về mã 302
Thống kê Top IP có nhiều request trả về mã 403
Thống kê Top IP có dấu hiệu tấn công SQL Injection
Thống kê Top IP có dấu hiệu tấm công XSS
Chức năng Tìm kiếm

Trang
9
16
34
36
37
40
41
41
42
42
43
43
44
44
45
45
46
47
47



1

MỞ ĐẦU
1. Tính cấp thiết và lý do chọn đề tài
Công nghệ thông tin trên toàn thế giới đang phát triển với một tốc độ nhanh
chóng. Các công nghệ cũ đang dần dần bộc lộ nhiều hạn chế và không còn khả năng
đáp ứng được nhu cầu hiện tại của các doanh nghiệp, tổ chức. Với tình hình phát triển
hiện nay, các đơn vị cần một hoặc nhiều máy chủ để chạy các ứng dụng cho toàn đơn
vị mà máy tính thông thường không làm được. Những máy chủ có chức năng riêng và
những yêu cầu đặc biệt không chạy trên cùng một hệ điều hành, hoặc việc chạy trên
nhiều server nhưng không tận dụng được tối đa tài nguyên, kéo theo chi phí lớn khi
đầu tư máy chủ vật lý.
Cũng trên cơ sở đó, việc quản lý tốt và hiệu quả dữ liệu của riêng công ty, doanh
nghiệp, đơn vị sự nghiệp cũng như dữ liệu khách hàng, đối tác, nhân viên là một trong
những bài toán được ưu tiên hàng đầu và còn nhiều khó khăn. Để có thể quản lý được
nguồn dữ liệu đó, thông thường các đơn vị phải cân nhắc đầu tư, tính toán rất nhiều
loại chi phí: phần cứng, phần mềm, mạng, quản trị viên, bảo trì, sửa chữa, mở rộng,
nâng cấp thiết bị, kiểm soát việc bảo mật, tính sẵn sàng cao và sự khổng lồ của dữ
liệu… Từ một bài toán điển hình như vậy, thuật ngữ “điện toán đám mây” ra đời với ý
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.
Các máy chủ ảo sẽ cung cấp các dịch vụ giúp cho đơn vị có thể quản lý dữ liệu dễ
dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải
đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ. Điều duy nhất
khiến các tổ chức, đơn vị e dè khi muốn chuyển đổi sang môi trường đám mây là độ
tin cậy, tính bảo mật, khả năng sẵn sàng của dịch vụ, hiệu suất hoạt động. Trong đó,
bảo mật trên đám mây là điều mà nhiều người quan tâm nhất.
Ứng dụng điện toán đám mây vào giáo dục, đặc biệt là ở các cơ sở giáo dục đại
học nói chung, và Đại học Phạm Văn Đồng nói riêng, là một xu hướng mới đang được
quan tâm. Nhiều hãng dịch vụ lớn liên quan đã và đang tích cực đưa các ứng dụng liên

quan đến điện toán đám mây vào nhà trường nhằm tạo sự quen thuộc cho sinh viên,
cán bộ giảng viên, nhằm phát triển số lượng người dùng về sau. Tuy nhiên những ứng
dụng này thường giới hạn về số người sử dụng, dung lượng sử dụng, hoặc tốn phí cao
cho việc bảo mật, chưa thật sự đáp ứng hết các nhu cầu của đơn vị.
Từ những lý do trên, tôi lựa chọn thực hiện luận văn “Xây dựng giải pháp bảo
mật cho hệ thống điện toán đám mây tại Trường đại học Phạm Văn Đồng” để tìm
hiểu rõ về quản lý máy chủ ảo, đám mây và giải quyết những vấn đề còn tồn tại trên.


2
2. Mục tiêu và nội dung nghiên cứu
2.1. Mục tiêu
Xây dựng giải pháp bảo mật trên Đám mây một cách tự động hóa bằng việc phân
tích nhật ký tập tin máy chủ (log server), đề xuất phương án để áp dụng cho Trường
Đại học Phạm Văn Đồng.
2.2. Nội dung nghiên cứu
- Tìm hiểu lý thuyết về ảo hóa và cấp phát tài nguyên.
- Tìm hiểu lý thuyết về đám mây và một số giải pháp bảo mật.
- Giải pháp tạo máy chủ ảo, giải pháp bảo mật trên đám mây một cách tự động
hóa.
- Xây dựng các công cụ hỗ trợ quản lý và bảo mật máy chủ ảo.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- OpenStack.
- Các giải pháp bảo mật trên đám mây.
- Tập tin nhật ký máy chủ.
3.2. Phạm vi nghiên cứu
- Giải pháp nguồn mở OpenStack trong việc xây dựng điện toán đám mây.
- Quản lý máy chủ chủ ảo và bảo mật trên đám mây một cách tự động hóa.
4. Phương pháp nghiên cứu

4.1. Phương pháp lý thuyết
- Cơ sở lý thuyết về về ảo hóa và cấp phát tài nguyên.
- Cơ sở lý thuyết về đám mây và bảo mật đám mây trên OpenStack.
- Cơ sở lý thyết về Openstack và các giải pháp mã nguồn mở trong Openstack.
- Các thuật toán tạo máy chủ ảo.
4.2. Phương pháp thực nghiệm
- Xây dựng giải pháp tạo máy chủ ảo và các giải pháp bảo mật trên đám mây
(phân tích tập tin nhật ký máy chủ) một cách tự động hóa.
- Xây dựng chương trình thử nghiệm.
5. Ý nghĩa khoa học và thực tiễn
5.1. Ý nghĩa khoa học
- Áp dụng lý thuyết ảo hóa và phân bổ tài nguyên.
- Áp dụng các lý thuyết bảo mật trên đám mây.
5.2. Ý nghĩa thực tiễn
- Phân tích đánh giá giải pháp tạo máy chủ ảo và đề xuất giải pháp xây dựng máy
chủ ảo trong nền Openstack.
- Đề xuất được hướng bảo mật hiệu quả trên đám mây.


3
6. Bố cục của luận văn
Luận văn được trình bày bao gồm 3 chương chính như sau :
Chương 1: Trình bày những vấn đề tổng quan về ảo hóa, các công nghệ ảo hóa
làm nền tảng, giới thiệu về máy chủ ảo, đồng thời trình bày về khái niệm đám mây,
các loại hình dịch vụ, mô hình triển khai, giới thiệu hướng tiếp cận mã nguồn mở trên
điện toán đám mây dựa trên OpenStack.
Chương 2: Trình bày về an toàn và bảo mật trên điện toán đám mây, các kỹ
thuật tấn công web, phát hiện và phòng chống tấn công SQL Injection, XSS, giải pháp
phân tích tập tin nhật ký áp dụng xây dựng bảo mật trên đám mây.
Chương 3: Tiến hành thiết kế, xây dựng, triển khai và đánh giá giải pháp ứng

dụng.
Kết luận và hướng phát triển đề tài: Đánh giá kết quả đạt được, xác định
những ưu nhược điểm và hướng phát triển trong tương lai.


4

CHƯƠNG 1
TỔNG QUAN VỀ MÁY CHỦ ẢO VÀ ĐÁM MÂY
Chương 1 trình bày những vấn đề tổng quan về ảo hóa, các công nghệ ảo hóa
làm nền tảng, giới thiệu về máy chủ ảo, đồng thời trình bày về khái niệm đám mây, 3
loại hình dịch vụ, 4 mô hình triển khai cũng như giới thiệu hướng tiếp cận mã nguồn
mở trên điện toán đám mây qua OpenStack.
1.1. Tổng quan về ảo hóa
1.1.1. Giới thiệu
a. Một số khái niệm
 Virtual Machine: là một máy chạy bởi chính nó, nó được “lừa” rằng đang chạy
trên phần cứng thật, trong khi thật sự máy này chỉ đang chạy trên phần mềm hoặc hệ
điều hành nằm trên một lớp trừu tượng giữa máy ảo và phần cứng.
 Virtual Machine Monitor: là lớp trừu tượng nằm giữa VM và phần cứng. Tất
cả các loại ảo hóa được quản lý bởi Virtual Machine Monitor (VMM). VMM về bản
chất cũng được chia làm 2 loại là:
- VMM đóng vai trò như một phần mềm trung gian chạy trên HĐH để chia sẻ tài
nguyên với HĐH. Ví dụ: VMware workstation, Virtual PC, KVM.
- VMM đóng vai trò là một hypervisor chạy trên phần cứng. Ví dụ: VMware
ESXi, Hyper-V, Xen.
 Hypervisor
Hypervisor tương tự như VMM, là một phần mềm nằm ngay trên phần phần
cứng hoặc bên dưới hệ điều hành nhằm mục đích cung cấp các môi trường tách biệt
gọi là các phân vùng (partition). Mỗi phân vùng ứng với mỗi VM có thể chạy các hệ

điều hành độc lập. Hiện nay có 2 hướng tiếp cận hypervisor khác nhau (loại 2 –
hypervisor VMM): Monolithic và Micro hypervisor.
- Monolithic hypervisor: hypervisor có driver riêng biệt để truy cập tài nguyên
phần cứng bên dưới. Các VMs truy cập tài nguyên hệ thống thông qua drivers của
hypervisor. Điều này mang lại hiệu suất cao, tuy nhiên khi driver trên hypervisor bị sự
cố thì cả hệ thống ngưng hoạt động, hoặc phải đối mặt với vấn đề an ninh khi drivers
có thể bị giả dạng bởi malware, một rủi ro trong môi trường ảo hóa.
- Micro-kernelized hypervisor: loại hypervisor này không có driver bên trong
hypervisor mà chạy trực tiếp trên mỗi partition. Một VM sẽ đóng vai trò partition cha
quản lý và khởi tạo các partition con (VM con). VM cha cũng bao gồm nhiều tính
năng khác như quản lý memory, lưu trữ drivers, … Điều này mang lại sự an toàn và tin
cậy. Tuy nhiên nó cũng gặp phải vấn đề về độ sẵn sàng (availability) khi partition cha


5
gặp sự cố, hệ thống cũng bị ngưng trệ.
 Kernel mode và User mode
Thông thường một hệ điều hành khi được cài đặt sẽ có 2 modes hoạt động chính:
- Kernel mode: là không gian được bảo vệ nơi mà “lõi” của HĐH xử lý và tương
tác trực tiếp với phần cứng. Ví dụ điển hình cho Kernel mode là các drivers của thiết
bị. Khi có sự cố thì hệ thống ngưng hoạt động và thông báo lỗi như ở windows sẽ hiển
thị màn hình xanh khi có lỗi giao tiếp phần cứng.
- User mode: là không gian cho phép chạy các ứng dụng, ví dụ như Office,
MySQL, Exchangeserver. Khi có sự cố ở các ứng dụng thì chỉ có các ứng dụng ngưng
hoạt động mà không ảnh hưởng gì đến server.
Khi một ứng dụng cần truy cập vào tài nguyên phần cứng, ứng dụng này cần giao
tiếp với driver thích hợp chạy trong kernel mode. Sự chuyển đổi qua lại giữa User
mode và Kernel mode cũng là những tiến trình và cũng chiếm dụng tài nguyên hệ
thống (CPU, RAM, …).
b. Ảo hóa

Ảo hoá là một kỹ thuật phần mềm đã được phát triển gần nửa thế kỷ nay, cho
phép tạo ra một hoặc nhiều máy ảo tồn tại bên trong một máy tính. Nó được phát triển
lần đầu tiên để sử dụng tốt hơn các phần cứng có sẵn. Ảo hóa là công nghệ nổi bật,
phát triển nhất trong một loạt cuộc cách mạng công nghệ nhằm giúp hiệu suất làm việc
của máy tính tăng lên một cách đáng kể chưa từng có trước đó.
Ảo hóa hệ thống tức là tiến hành phân chia một máy chủ thành nhiều máy chủ ảo
hoặc kết hợp nhiều máy chủ vật lý thành một máy chủ logic. Người dùng nhận biết và
sử dụng các máy chủ ảo giống như một máy vật lý độc lập. Hệ thống máy chủ ảo này
có đủ tài nguyên cần thiết (CPU, bộ nhớ, mạng..) được gán từ máy chủ vật lý, hoạt
động giống hệt một máy chủ độc lập, trong khi thực tế máy chủ ảo không hề có những
tài nguyên này.
Công nghệ ảo hóa là công nghệ quan trọng nhất ứng dụng trong điện toán đám
mây. Đây là công nghệ cho phép tạo ra các thực thể ảo có tính năng tương đương các
thực thể vật lý, ví dụ như thiết bị lưu trữ, bộ vi xử lý… Ảo hóa phần cứng (hardware
vitualization) tham chiếu tới việc tạo ra các máy ảo (virtual machine) mà hoạt động
với hệ điều hành được cài đặt như một máy tính vật lý thực. Ví dụ một máy ảo chạy hệ
điều hành Ubuntu có thể được tạo ra trên một máy tính thực cài hệ điều hành
Windows.
Ảo hóa phần cứng cho phép chia nhỏ tài nguyên vật lý để tối ưu hóa hiệu năng sử
dụng. Điều này được thể hiện qua việc có thể khởi tạo nhiều máy ảo với năng lực tính
toán và năng lực lưu trữ bé hơn trên duy nhất một máy chủ vật lý. Máy chủ vật lý được
gọi là host machine, còn máy ảo được gọi là máy khách – guest machine. Khái niệm


6
host và guest được sử dụng để phân biệt phần mềm chạy trên máy tính vật lý hay phần
mềm chạy trên máy ảo. Phầm mềm firmware tạo máy ảo được gọi là hypervisor hay
virtual machine manager.
Thông thường, các đơn vị phải đầu tư một trung tâm công nghệ thông tin để giải
quyết các nhu cầu công việc của cơ quan mình, điều này rất tốn kém. Chi phí mua các

máy chủ cấu hình mạnh và các phần mềm bản quyền là rất đắt. Các đơn vị, đặc biệt là
doanh nghiệp luôn muốn hạn chế tối đa các chi phí không cần thiết trong khi vẫn đáp
ứng được năng suất và tính ổn định của hệ thống. Do đó, việc ứng dụng ảo hóa trở
thành nhu cầu cần thiết của bất kỳ doanh nghiệp nào dù lớn hay nhỏ. Thay vì mua 10
máy chủ cho 10 ứng dụng thì chỉ cần mua hoặc thuê 1 hoặc 2 máy chủ có hỗ trợ ảo
hóa cũng vẫn có thể chạy tốt 10 ứng dụng này. Bên cạnh đó, việc ứng dụng ảo hóa còn
giúp các đơn vị giảm thiểu các chi phí, nhân công liên quan đến việc quản lý, bảo
dưỡng, triển khai hệ thống, phục hồi hệ thống…
1.1.2. Công nghệ ảo hóa
Ảo hóa đã được đề cập đến trong một khoảng một thời gian khá dài, nhưng sự
phổ biến của nó chỉ mới được với những cải tiến sâu rộng đã xuất hiện trong vài năm
gần đây. Trong những ngày đầu ảo hóa, người dùng phải mua phần cứng đắt tiền; bây
giờ, do khả năng sử dụng máy chủ PC để ảo hóa, người dùng có thể tải xuống phần
mềm ảo hóa miễn phí để sử dụng. Hiện nay có nhiều công nghệ ảo hóa khác nhau: Ảo
hóa toàn phần, Ảo hóa cục bộ, Ảo hóa hệ điều hành. Tùy thuộc vào tình huống, nhu
cầu sử dụng, người dùng có thể tận dụng một hoặc nhiều loại ảo hóa. Mỗi loại có các
thuộc tính riêng, mang lại những lợi ích cụ thể, cũng như những ưu khuyết điểm riêng.
a. Ảo hóa toàn phần
Đây là công nghệ ảo hóa cho phép hệ điều hành và các kernel của nó chạy trên
VM mà không bị biến đổi gì. Công nghệ này cung cấp một loại hình máy ảo dưới dạng
mô phỏng của một máy chủ thật với đầy đủ tất cả các tính năng, bao gồm input/output
operations, interrupts, memory access,… Mỗi trình điều khiển thiết bị và quá trình
trong hệ điều hành khách tin rằng nó đang chạy trên phần cứng thực tế, mặc dù phần
cứng cơ bản thực sự là một chương trình phần mềm.
Một trong những ưu điểm công nghệ ảo hóa này là có thể chạy bất kỳ hệ điều
hành nào trên đó, không phụ thuộc vào việc hiểu được phần cứng máy chủ cơ bản hay
không. Do đó, các hệ điều hành cũ và hệ điều hành đặc biệt có thể chạy trong môi
trường này, tạo nên tính linh hoạt của hệ thống. Tuy nhiên, mô hình ảo hóa này không
thể khai thác tốt hiệu năng khi phải thông qua một trình quản lý máy ảo (VMM hay
Hypervisor) để tương tác đến hệ thống (mode switching), do đó nó sẽ bị hạn chế bớt

một số tính năng khi cần thực hiện trực tiếp từ CPU. Xen, VMWare workstation,
Virtual Box, Qemu/KVM, và Microsoft Virtual Server hỗ trợ loại ảo hóa này [10,11]


7
b. Ảo hóa cục bộ
Ảo hóa cục bộ hay còn gọi là ảo hóa “một phần”, là kỹ thuật ảo hóa được hỗ trợ
và điều khiển bởi 1 hypervisor nhưng các hệ điều hành của guest thực thi các lệnh
không phải thông qua hypervisor (hay bất kỳ 1 trình quản lý máy ảo nào) nên không bị
hạn chế về quyền hạn. Tuy nhiên nhược điểm của loại ảo hóa này là các hệ điều hành
biết đang chạy trên một nền tảng phần cứng ảo và khó cấu hình cài đặt. Ảo hóa cục bộ
được hỗ trợ bởi Xen, VMware, Hyper-V, và UML [10,11].
c. Ảo hóa hệ điều hành
Ảo hóa hệ điều hành là phương pháp ảo hóa mới cho phép nhân của hệ điều
hành hỗ trợ nhiều instances được cách ly dựa trên một hệ điều hành có sẵn cho nhiều
users khác nhau, hay nói cách khác là tạo và chạy được nhiều máy ảo cách ly và an
toàn (secure) dùng chung 1 hệ điều hành. Ưu điểm của ảo hóa này là bảo trì nhanh
chóng nên được ứng dụng rộng rãi trong các lĩnh vực hosting. OpenVZ, Virtuozzo,
Linux-VServer, Solaris Zones, và FreeBSD Jails hỗ trợ loại ảo hóa này [10]. Một lưu ý
là loại ảo hóa này chỉ tồn tại trên HĐH Linux.
Ảo hóa là công nghệ nền tảng của điện toán đám mây. Việc triển khai điện toán
đám mây trong thực tế dựa vào 2 giải pháp cơ bản sau: sử dụng các sản phẩm thương
mại cho điện toán đám mây như của VMware, Microsoft (Hyper-V), hoặc các sản
phẩm nguồn mở như Eucalyptus và OpenStack [11].
1.1.3. Máy chủ ảo
Virtual Private Server (VPS) là dạng máy chủ ảo được tạo ra bằng phương pháp
phân chia một máy chủ vật lý thành nhiều máy chủ khác nhau có tính năng tương tự
như máy chủ riêng (dedicated server), chạy dưới dạng chia sẻ tài nguyên từ máy chủ
vật lý ban đầu. Mỗi VPS là một hệ thống hoàn toàn riêng biệt, có một phần CPU riêng,
dung lượng RAM riêng, dung lượng HDD riêng, địa chỉ IP riêng và hệ điều hành

riêng, người dùng có toàn quyền quản lý root và có thể restart lại hệ thống bất cứ lúc
nào.
 Ưu điểm của VPS:
- Dễ dàng tùy biến nguồn tài nguyên, miễn là trong mức giới hạn của máy chủ
vật lý cho phép.
- Từ 1 máy chủ vật lý, có thể tạo ra nhiều VPS, tiết kiệm được tiền đầu tư phần
cứng, tiền điện vận hành máy chủ, không gian lắp đặt…
- Do nhiều VPS có thể nằm tập trung trên 1 hệ thống máy chủ. Việc kiểm tra vận
hành sẽ dễ dàng hơn.
 Nhược điểm của VPS:
- Hoạt động của VPS bị ảnh hưởng bởi hoạt động và độ ổn định của máy chủ vật
lý tạo ra VPS.


8
- Việc sử dụng chung máy chủ vật lý khiến VPS bị phụ thuộc.
- Tốn thời gian và chi phí để nâng cấp tài nguyên và cũng không thể mở rộng
nhiều.
- Cách thức vận hành và năng suất hoạt động của VPS không đạt được hiệu quả
như mong muốn.
Cloud server đem lại nhiều lợi ích hơn VPS nhờ vào số lượng server sử dụng
trong một cụm. Những ưu điểm vượt trội của cloud server nếu so sánh với VPS:
VPS được khởi tạo và chạy trên một server vật lý, vì thế khi server vật lý bị lỗi
hoặc vào những giờ cao điểm server vật lý thường bị treo dẫn đến VPS sẽ tạm ngưng
hoạt động. Trong khi đó, ở đám mây, server tất cả các thành phần đều được thiết lập
dự phòng, và tự động thay thế khi bị hư hỏng đảm bảo hoạt động bình thường nên hệ
thống thông tin của người dùng luôn an toàn và sẵn sàng.
Với VPS, người dùng không được đảm bảo lượng tài nguyên phần cứng phải trả
tiền, vì những người khác trong cùng một VPS có thể sử dụng qua tài nguyên này.
Điều này không hề xảy ra với cloud server, người dùng có được nguồn tài nguyên đảm

bảo và luôn sẵn sàng khi cần.
Ở VPS khi cần mở rộng hay thu hẹp tài nguyên, phải tiến hành nâng cấp máy chủ
vật lý tạo ra VPS, rất mất thời gian và chỉ mở rộng một lượng nhất định. Với cloud
server, người dùng còn có thể thoải mái điều chỉnh cấu hình của cloud server bất kỳ
lúc nào.
VPS ảo hóa từ một máy chủ vật lý nên cách thức vận hành và năng suất không
đạt được như mong muốn của người dùng. Cloud server hình thành từ một hạ tầng ảo
hóa được xây dựng từ các công nghệ hàng đầu của Cisco, Netapp, Vmware… đảm bảo
về cách thức vận hành, tốc độ xử lý nhanh và cho năng suất tối đa.
Do đó, bước đầu có thể thấy ảo hóa và điện toán đám mây có liên hệ mật thiết,
chặt chẽ với nhau, mang lại một cuộc cách mạng công nghệ mới với hiệu suất vượt
trội, cải tiến mạnh mẽ tất cả các công việc của nhiều đơn vị, doanh nghiệp.
1.2. Tổng quan về điện toán đám mây
Vào những năm 1950, khi máy chủ tính toán quy mô lớn (large-scale mainframe
computers) được triển khai tại một số cơ sở giáo dục và tập đoàn lớn, khái niệm điện
toán đám mây ra đời. Khái niệm “chia sẻ thời gian” (time-sharing) đồng thời cũng xuất
hiện, cho phép người dùng đồng thời chia sẻ một tài nguyên tính toán chung.
Trong giai đoạn 1960-1990, xu hướng tổ chức các máy tính hay tài nguyên công
nghệ thông tin thành hạ tầng dịch vụ công cộng xuất hiện. Điện toán đám mây cung
cấp tài nguyên dưới dạng dịch vụ. Người dùng có thể không cần quan tâm tài nguyên
đến từ đâu, xử lý, phân phối như thế nào, hay việc quản lý, bảo trì hệ thống, họ chỉ
việc sử dụng dịch vụ và trả tiền cho nhà cung cấp theo nhu cầu sử dụng của mình. Khi


9
người sử dụng cần năng lực xử lý lớn hơn họ có thể thuê thêm tài nguyên để sử dụng
ngay, sau khi hoàn thành họ quay lại sử dụng tài nguyên ở mức thấp hơn và chỉ cần
phải trả tiền thêm cho khoảng thời gian sử dụng thêm tài nguyên.
Tính đến hiện tại, có rất nhiều sản phẩm điện toán đám mây nổi tiếng được đưa
vào sử dụng và tạo ra một cuộc cách mạng trong ngành công nghiệp máy tính, thay đổi

cơ bản cách thức sử dụng các nguồn tài nguyên, cơ cấu vận hành cũng như việc lưu
trữ, phân phối và xử lý thông tin. Điển hình như Amazon, Eucalyptus, Google App
Engine, Microsoft Azure, Numbus… Đa số chúng ta đều đã và đang sử dụng một hoặc
nhiều các dịch vụ ứng dụng công nghệ điện toán đám mây trong đời sống hàng ngày
cũng như trong quản lý doanh nghiệp.
Hiện nay có nhiều cách định nghĩa về điện toán đám mây khác nhau, dưới đây là
một số định nghĩa về điện toán đám mây của những công ty, tổ chức uy tín:
Theo Wikipedia: "Điện toán đám mây là mô hình điện 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. 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ệ đó." [20]
NIST đưa ra định nghĩa như sau: “Điện toán đám mây là một mô hình cho phép ở
một vị trí thuận tiện, khách hàng có thể truy cập mạng theo yêu cầu và được chia sẻ tài
nguyên máy tính (mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) nhanh chóng từ nhà
cung cấp. Trong trường hợp xấu nhất thì cũng phải cung cấp dịch vụ hoạt động ở mức
tương tác” [12].

Hình 1.1. Tổng quan về điện toán đám mây


10
Như vậy, có thể thấy điện toán đám mây, còn gọi là điện toán máy chủ ảo, là một
mô hình điện toán sử dụng các công nghệ máy tính và hoạt động phát triển dựa vào
mạng Internet, giải phóng người sử dụng khỏi việc phải đầu tư nhân lực, công nghệ và
hạ tầng để triển khai hệ thống. Trong mô hình này tất cả tài nguyên như máy tính, kho
lưu trữ, phần mềm... được đưa lên máy chủ và cung cấp dưới dạng dịch vụ cho người
dùng, thường là dưới hình thức cơ sở hạ tầng như một dịch vụ (IaaS), nền tảng như
một dịch vụ (PaaS), hoặc phần mềm như một dịch vụ (SaaS). Từ đó, điện toán đám

mây giúp giảm tối đa chi phí và thời gian triển khai, tạo điều kiện cho người dùng nền
tảng điện toán đám mây tập trung được tối đa nguồn lực vào công việc chuyên môn.
Như vậy điện toán đám mây là một mô hình cung cấp các dịch vụ cho người
dùng theo yêu cầu thông qua mạng internet. Nó khả năng mở rộng, thay đổi linh hoạt
gần như tức thời theo yêu cầu và người dùng chỉ cần trả tiền cho những gì mình sử
dụng mà không cần tốn chi phí để đầu tư, vận hành hệ thống.
1.2.1. Đặc điểm và lợi ích của điện toán đám mây
Điện toán đám mây có 5 đặc điểm và lợi ích chính [5]:
- Tự phục vụ theo yêu cầu (On-demand self-service): Khách hàng có thể tự tăng
cường năng lực tính toán (ví dụ như thời gian server, thời gian CPU, không gian lưu
trữ trên mạng, sử dụng phần mềm…) một cách hoàn toàn tự động dựa theo nhu cầu mà
không cần phải thương lượng với nhà cung cấp dịch vụ. Khách hàng có thể tự đăng ký,
cấu hình và triển khai dịch vụ đám mây dựa theo những chuẩn do nhà cung cấp đưa ra.
Đặc tính này thường được biết đến với tên gọi Pay-as-you-go.
- Khả năng truy cập mạng diện rộng (Broad network access): Những tài nguyên
tính toán được cung cấp thông qua mạng và được truy cập thông qua một cơ cấu
chuẩn, được các ứng dụng client khác nhau sử dụng với những nền tảng không đồng
nhất (như máy tính, điện thoại, máy trạm....)
- Quản lý tài nguyên tập trung (Pooling resource management): Tài nguyên tính
toán của nhà cung cấp sẽ được tập trung để phục vụ cho nhiều khách hàng khác nhau
theo mô hình đa người dùng. Những tài nguyên vật lý và tài nguyên ảo này sẽ được
cấp phát, thu hồi động tùy theo những yêu cầu khác nhau của khách hàng. Động lực
của việc xaayd ựng một mô hình tập trung tài nguyên tính toán nằm trong hai yếu tố
quan trọng: tính quy mô và tính chuyên biệt. Kết quả của mô hình tập trung này là
những tài nguyên vật lý trở nên trong suốt với người sử dụng, người sử dụng không
biết được vị trí lưu trữ cơ sở dữ liệu của họ trong đám mây. Tài nguyên bao gồm
không gian lưu trữ, bộ nhớ, băng thông mạng, các máy ảo.
- Tính mềm dẻo (Rapid Elasticity): Đám mây có khả năng cấp phát mềm dẻo,
trong một số trường hợp có thể tự động mở rộng hoặc thu hẹp nhanh đáp ứng gần như
tức thời yêu cầu. Nhìn từ phía khách hàng, khả năng cung cấp dịch vụ có thể xem là vô



11
hạn và có thể cho phép thuê với số lượng bất kỳ tại bất cứ thời điểm nào.
- Khả năng đo lường (Measured Service): Mặc dù tài nguyên được tập trung và
có thể chia sẻ cho nhiều người sử dụng, nhưng hệ thống đám mây có thể tự động quản
lý và tối ưu tài nguyên sử dụng bằng khả năng đo đếm, tính toán trên một số tiêu chí
khác nhau tương ứng với từng loại hình dịch vụ như: dung lượng lưu trữ, khả năng xử
lý, băng thông, số người dùng... Lượng tài nguyên sử dụng sẽ được giám sát, quản lý,
báo cáo đảm bảo sự minh bạch cho cả người cung cấp dịch vụ và khách hàng.
1.2.2. Các loại hình dịch vụ
Điện toán đám mây có ba mô hình cung cấp dịch vụ, tùy theo đối tượng khách
hàng: Infrastucture as a Service (IssA), Platform as a Service (PaaS) và Software as a
Service (SaaS) [4].
Dịch vụ hạ tầng (IaaS)
IaaS là tầng dịch vụ thấp nhất cung cấp tài nguyên phần cứng tới người dùng
trong điện toán đám mây, dịch vụ này cung cấp tài nguyên hạ tầng ảo (máy chủ, máy
tính, mạng, trung tâm dữ liệu...), bao gồm cả hệ điều hành và công nghệ ảo hóa để
quản lý các tài nguyên này.
Khách hàng thuê IaaS có thể triển khai và chạy phần mềm tùy ý, không quản lý
hoặc kiểm soát về mặt vật lý của các tài nguyên này, nhưng có kiểm soát đối với các
hệ điều hành, lưu trữ, ứng dụng triển khai và kiểm soát có hạn chế các thành phần
mạng được cung cấp. Các tài nguyên này có khả năng mở rộng linh hoạt và chi phí
được tính dựa trên lượng tài nguyên sử dụng.
 Những đặc trưng tiêu biểu của IaaS:
- Cung cấp tài nguyên như là dịch vụ: bao gồm cả máy chủ, thiết bị mạng, bộ
nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu.
- Khả năng mở rộng linh hoạt.
- Chi phí thay đổi tùy theo thực tế.
- Nhiều người thuê có thể cùng dùng chung trên một tài nguyên.

- Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên
tính toán tổng hợp.
 Lợi ích của IaaS:
Các tổ chức, cá nhân tiết kiệm được vốn đầu tư vào hệ thống là rất lớn, vì các
doanh nghiệp sẽ không cần phải đầu tư thêm các máy chủ, thường chỉ chạy 70% công
suất hai hoặc ba lần trong năm, thời gian còn lại chỉ chạy 7-10% tải.
Một trong những dịch vụ IaaS phổ biến hiện nay là Amazon's Elastic Compute
Đám mây hay còn gọi là Amazon EC2. Amazon EC2 cung cấp các máy ảo và cho
phép người sử dụng có thể mở rộng thông qua giao diện Web với chi phí tính theo tài
nguyên sử dụng theo giờ. EC2 hiện hỗ trợ 3 hệ điều hành Linux, Windows và Solaris.


12
a. Dịch vụ nền tảng (PaaS)
PaaS cung cấp đến người dùng không chỉ tài nguyên hạ tầng mà còn bao gồm cả
môi trường phát triển, triển khai các ứng dụng của họ bằng việc sử dụng các ngôn ngữ
lập trình, các thư viện, dịch vụ, công cụ được hỗ trợ từ bên thứ ba. Người sử dụng
không cần quan tâm đến việc quản lý hoặc kiểm soát các cơ sở hạ tầng điện toán đám
mây bên dưới như máy chủ ảo, mạng, hệ điều hành, lưu trữ, nhưng có thể cấu hình cho
môi trường chạy ứng dụng của họ. PaaS cung cấp toàn bộ những điều kiện cần thiết
cho quy trình thiết kế ứng dụng, phát triển, kiểm thử, triển khai hoạt động và lưu trữ
ứng dụng. PaaS hỗ trợ các chuẩn dịch vụ web, cơ sở dữ liệu, bảo mật... và thường có
khả năng mở rộng động.
 Những đặc trưng tiêu biểu của PaaS:
- Phục vụ cho việc phát triển, triển khai và vận hành ứng dụng giống như là môi
trường phát triển tích hợp
- Các công cụ khởi tạo với giao diện trên nền web.
- Kiến trúc đồng nhất.
- Tích hợp dịch vụ web và cơ sở dữ liệu.
- Hỗ trợ cộng tác nhóm phát triển.

- Công cụ hỗ trợ tiện tích.
 Những lợi ích của PaaS:
- Dịch vụ nền tảng đang ở thời kì đầu và được ưa chuộng ở những tính năng vốn
được ưa thích bởi dịch vụ phần mềm, bên cạnh đó có tích hợp các yếu tố về nền tảng
hệ thống.
- Ưu điểm trong những dự án tập hợp những công việc nhóm có sự phân tán về
địa lý.
- Khả năng tích hợp nhiều nguồn của dich vụ web.
- Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng,
kiểm soát lỗi…
- Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dịch vụ,
giao diện người dùng và các yếu tố ứng dụng khác.
- Tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho
những người không chỉ trong nhóm lập trình mà có thể kết hợp nhiều nhóm cùng làm
việc
 Những hạn chế của PaaS:
- Ràng buộc bởi nhà cung cấp: một khách hàng phụ thuộc vào một nhà cung cấp
và không thể sử dụng nhà cung cấp khác mà không phải chịu chi phí chuyển đổi đáng
kể.
- Giới hạn phát triển: độ phức tạp khiến nó không phù hợp với yêu cầu phát triển


13
nhanh vì những tính năng phức tạp khi hiện thực trên nền tảng web.
Một số nhà cung cấp PaaS phổ biến hiện nay có thể kể như: Google App Engine,
AppJet, Force.com...
b. Dịch vụ phần mềm (SaaS)
SaaS cho phép khách hàng sử dụng các dịch vụ phần mềm của nhà cung cấp ứng
dụng được triển khai trên hạ tầng điện toán đám mây. Các ứng dụng có thể truy cập từ
các thiết bị khác nhau, người sử dụng chỉ tương tác với phần mềm thông qua giao diện

web hoặc giao diện ứng dụng mà hoàn toàn không cần biết về đến phần cứng, hệ điều
hành, bảo mật, cơ sở dữ liệu... Khách hàng không quản lý, kiểm soát cơ sở hạ tầng
điện toán đám mây nằm bên dưới, với ngoại lệ có thể thiết lập cấu hình ứng dụng hạn
chế người sử dụng cụ thể. Những nhà cung cấp SaaS có thể lưu trữ ứng dụng trên máy
chủ của họ hoặc tải ứng dụng xuống thiết bị khách hàng, vô hiệu hóa nó sau khi kết
thúc thời hạn.
 Những đặc trưng tiêu biểu của SaaS:
- Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng.
- Quản lý các hoạt động từ một vị trí tập trung hơn là tại mỗi nơi của khách hàng,
cho phép khác hàng truy xuất từ xa thông qua web.
- Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến nhiều
hơn là mô hình ánh xạ từ một đến một bao gồm cả các đặc trưng kiến trúc, giá cả và
quản lý.
- Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải các
bản vá lỗi và cập nhật.
- Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng
 Những ưu điểm của SaaS là:
- Không phụ thuộc vị trí, phần mềm luôn sẵn sàng hoạt động thông qua mạng
Internet giúp người dùng có thể sử dụng ở bất kỳ đâu
- Phần mềm luôn được cập nhất mới nhất giúp giảm thiểu lỗi và các vấn đề bảo
mật.
- Không cần tốn chi phí để mua phần cứng hoặc các trung tâm dữ liệu, chi phí
người dùng phải bỏ ra thấp hơn so với việc tự vận hành, bảo trì một hệ thống tương tự.
- Tùy theo nhu cầu mà người sử dụng có thể thuê dịch vụ phần mềm phù hợp và
có khả năng mở rộng thêm khi cần.
Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng cho
doanh nghiệp mà nổi bật nhất là CRM. Các ứng dụng SaaS cho người dùng cuối phổ
biến là các ứng dụng office Online của Microsoft hay Google Docs của Google.
1.2.3. Các mô hình triển khai
a. Mô hình đám mây công cộng (Public Cloud)



14
Đây là mô hình mà hạ tầng điện toán đám mây được một tổ chức sở hữu, quản lý
và cung cấp các dịch vụ hoàn toàn công khai, rộng rãi cho mọi người sử dụng qua
internet hoặc các mạng công cộng diện rộng. Các ứng dụng khác nhau chia sẻ chung
tài nguyên tính toán, mạng và lưu trữ. Do vậy, hạ tầng điện toán đám mây được thiết
kế để đảm bảo cô lập về dữ liệu giữa các khách hàng và tách biệt về truy cập.
Một số đám mây công cộng phổ biến như: Amazon EC2, IBM Smart Cloud,
Microsoft Windows Azure, Google App Engine...
b. Mô hình đám mây riêng (Private Cloud)
Đám mây riêng là đám mây độc quyền được xây dựng với mục đích phục vụ một
tổ chức cụ thể. Tài nguyên đám mây có thể được đặt nội bộ trong tổ chức hoặc bên
ngoài, sở hữu và quản lý bởi chính tổ chức đó hoặc bên thứ ba.
Một tổ chức có thể áp dụng mô hình đám mây này trên cơ sở phần cứng đã có
giúp tiết kiệm chi phí và cải thiện hiệu năng sử dụng nguồn tài nguyên cũng như tự
động hóa việc quản lý nguồn tài nguyên đó. Ngoài ra một tổ chức cũng có thể mở rộng
khả năng về công nghệ thông tin hiện tại của mình bằng cách sử dụng một đám mây
riêng có khả năng truy cập từ xa do một bên thứ ba cung cấp.
Các đám mây riêng có nhiều lợi thế hơn so với đám mây chung. Việc kiểm soát
chi tiết các tài nguyên khác nhau trên đám mây giúp công ty có các lựa chọn cấu hình
phù hợp. Các đám mây riêng sẽ rất lý tưởng khi công việc đang được thực hiện không
cần đến một đám mây chung và sẽ không lo ngại tới vấn đề an ninh, quản lý.
Một số ví dụ về đám mây riêng như: Eucalyptus, Ubuntu Enterprise Cloud,
OpenStack, Amazone VPC, Microsoft ECI data center...
c. Mô hình đám mây lai (Hybrid Cloud)
Đám mây lai là sự kết hợp của các đám mây công cộng và đám mây riêng. Là mô
hình khi có nhiều hơn một mô hình cơ sở hạ tầng đám mây được triển khai trong một
tình huống cụ thể. Tuy vẫn giữ nguyên những đặc tính riêng nhưng có sự liên kết với
nhau giúp khai thác được những ưu điểm riêng của mỗi mô hình.

Các đám mây lai hầu hết thường được sử dụng:
- Là nơi các ứng dụng lưu trú trong đám mây và các ứng dụng quan trọng vẫn
còn trên trang web.
- Là nơi thí nghiệm, nơi đám mây được sử dụng với vùng làm việc tạm thời.
- Khả năng bổ sung hay bùng nổ dịch vụ nơi đám mây được sử dụng cho các
đột biến bất ngờ.
Hạn chế chính với đám mây lai là khó khăn trong việc tạo ra và quản lý chúng.
Giải pháp đặt ra là tiếp nhận và cung cấp các dịch vụ từ các nguồn khác nhau như thể
chúng có nguồn gốc từ một nơi và có thể tương tác giữa các đám mây riêng và chung.
Một số dịch vụ đám mây lai: Microsoft Windows Azure, VmWarevĐám mây...


15
d. Mô hình đám mây cộng đồng (Community Cloud)
Đám mây cộng đồng chia sẻ hạ tầng cơ sở giữa một nhóm tổ chức trong cùng
một cộng đồng có những mối quan tâm chung như: chung mục đích, yêu cầu an ninh,
chính sách.. Chi phí được phân chia cho những thành viên sử dụng, mô hình này gần
giống mô hình lưới do những tổ chức nghiên cứu, giáo dục hợp tác tạo ra phục vụ
nghiên cứu khoa học quy mô lớn.
Mục đích của đám mây cộng đồng là vừa sở hữu những tính năng của đám mây
công cộng như: nhiều người sử dụng (tuy nhiên số lượng người sử dụng ít hơn đám
mây công cộng), trả tiền cho những gì sử dụng,... vừa có thể áp dụng những điều
khoản chính sách về sự riêng tư, bảo mật,... như mô hình đám mây riêng.
Mô hình điện toán đám mây cộng đồng tốn kém hơn những mô hình điện toán
khác như: đám mây công cộng, đám mây riêng, đám mây lai, nhưng nó có thể đápứng
về sự riêng tư, an ninh hoặc tuân thủ các chính sách tốt hơn.
1.2.4. Hướng tiếp cận điện toán đám mây sử dụng công cụ mã nguồn mở
a. Xu hướng sử dụng công cụ mã nguồn mở
Với nhiều lợi ích đáng kể như: tăng sự linh hoạt của hệ thống, sử dụng tài nguyên
theo yêu cầu, tăng khả năng sẵn sàng của hệ thống, tiết kiệm phần cứng, cung cấp các

dịch vụ với độ sẵn sàng gần như 100%, trả phí theo nhu cầu sử dụng thực tế (Payingas-you- go IT), mô hình điện toán đám mây đã khắc phục được hai yếu điểm quan
trọng của mô hình truyền thống về “khả năng mở rộng” (scalability) và “độ linh hoạt”
(flexibility). Các tổ chức cũng như công ty có thể triển khai ứng dụng dịch vụ nhanh
chóng, giảm chi phí, và ít rủi ro. Tuy nhiên, có rất nhiều công nghệ cho điện toán đám
mây với những chi phí và giải pháp khác nhau tùy vào mục đích sử dụng và ưu điểm
của mỗi công nghệ như dễ dàng triển khai, khả năng mở rộng cao, giá rẻ, … Sử dụng
công cụ mã nguồn mở để triển khai điện toán đám mây là một xu hướng đang được
quan tâm nhiều vì đạt được những ưu điểm sau:
- Sự phụ thuộc vào các phần mềm đóng kín và bản quyền (Avoiding vendor
lock- in): các giải pháp thương mại thường là 1 bộ giải pháp với các tiêu chuẩn của
nhà sản xuất, chẳng hạn các APIs đặc trưng, các kiểu định dạng image và lưu trữ
riêng,… sẽ làm cho đám mây không tương thích, hoặc không tận dụng được những cơ
sở hạ tầng sẵn có, hoặc các “cloud vendor lock- in” trong tương lai sẽ đối mặt với vấn
đề di chuyển một số dịch vụ sang những hệ thống đám mây khác, sự khó khăn này là
một hạn chế.
- Công nghệ tốt nhất: các dự án về “open source cloud computing” luôn luôn
được hỗ trợ và giúp đỡ bởi cộng đồng toàn thế giới với hàng ngàn người tham gia phát
triển các chức năng mới và sửa lỗi (fix bugs). Lợi thế này của open source sẽ không
thể có được ở bất kỳ một công ty đơn lẻ nào.


16
- Khả năng mở rộng không hạn chế: chi phí là vấn đề nổi trội trong vấn đề mở
rộng đám mây với giải pháp phần mềm bản quyền. Tuy nhiên với open source clouds,
chẳng hạn mạng đám mây sử dụng Ubuntu, hệ điều hành Ubuntu hỗ trợ điện toán đám
mây hoàn toàn miễn phí nên việc mở rộng rất dễ dàng.
- Điều chỉnh đám mây theo nhu cầu thương mại cụ thể: khi giải pháp thương mại
thiếu một chức năng gì đó, sẽ rất khó để tìm ra phương thức thay thế trừ khi chờ một
phiên bản mới hơn hỗ trợ. Nhưng với kỹ thuật open source có thể thay đổi code để
thêm các chức năng phù hợp cho mục đích kinh doanh của hệ thống.

b. Giải pháp mã nguồn mở OpenStack
Hiện nay, có một số giải pháp mã nguồn mở cho điện toán đám mây nổi tiếng
như Eucalyptus, OpenNebula, Nimbus, Xen Cloud Platform (XCP), OpenStack…
được triển khai. Trong đó, nổi bật nhất là Openstack.

Hình 1.2. Tổng quan về OpenStack
Hiện nay OpenStack đang được đánh giá là phần mềm nguồn mở xây dựng điện
toán đám mây mạnh nhất với sự hỗ trợ của các hãng mãy tính lớn trên thế giới như
HP, Canonical, IBM, Cisco, Microsoft, phù hợp với tất cả các loại đám mây, với nhiều
tính năng phong phú. Các dịch vụ Openstack cung cấp được mô tả ở bảng sau:
Bảng 1.1. Các dịch vụ trong OpenStack
Dịch vụ
Dashboard

Compute

Tên dự án

Mô tả

Cung cấp giao diện dựa trên web để tương tác với các dịch
Horizon vụ OpenStack cơ bản, chẳng hạn như khởi chạy một máy
ảo, gán địa chỉ IP và cấu hình kiểm soát truy cập.
Nova

Quản lý phiên làm việc của máy ảo trong môi trường
Openstack, gồm tạo máy ảo, cấp tài nguyên, hay gỡ bỏ các



×