i
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
*****
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
NGHIÊN CỨU MÔ HÌNH XỬ LÝ DỮ LIỆU
ĐÃ MÃ HÓA BẢO MẬT DỮ LIỆU TRONG
ĐIỆN TOÁN ĐÁM MÂY
Giáo viên hướng dẫn : ThS. Phạm Duy Trung
Sinh viên thực hiện : Đặng Long Hải
Lớp : AT6A
HÀ NỘI, 6/2014
i
MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC CHỮ VIẾT TẮT iv
DANH MỤC HÌNH ẢNH v
LỜI MỞ ĐẦU vii
CHƯƠNG 1. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ
VẤN ĐỀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM
MÂY. 1
1.1. Khái niệm. 1
1.2. Mô hình kiến trúc điện toán đám mây 2
1.2.1. Kiến trúc phân lớp dịch vụ 2
1.2.1.1. Dịch vụ ứng dụng (Software as a Service – SaaS) 6
1.2.1.2. Dịch vụ nền tảng hệ thống (Platform as a Service – PaaS) 9
1.2.1.3. Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS) 11
1.2.2. Mô hình triển khai 12
1.2.2.1. Đám mây riêng 12
1.2.2.2. Đám mây công cộng 14
1.2.2.3. Đám mây lai 15
1.2.2.4. Đám mây cộng đồng 17
1.3. Vấn đề bảo mật trong điện toán đám mây 17
1.3.1. An toàn liên quan đến kiến trúc của điện toán đám mây 17
1.3.1.1. An ninh ở mức hạ tầng 18
1.3.1.2. An ninh ở mức dịch vụ nền tảng 19
1.3.1.3. An ninh ở mức dịch vụ phần mềm 19
1.3.2. Vấn đề quản lí an toàn hệ thống 20
CHƯƠNG 2. MÔ HÌNH XỬ LÝ DỮ LIỆU ĐÃ MÃ HÓA BẢO
MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY. 22
ii
2.1. Dịch vụ cơ sở dữ liệu (Database as a service – DBaaS) 22
2.1.1. Định nghĩa 22
2.1.2. Một số lợi ích DBaaS đem lại so với các hệ cơ sở dữ liệu thông
thường. 24
2.1.3. Vấn đề bảo mật dữ liệu 25
2.2. CryptDB và Mô hình xử lý dữ liệu đã mã hóa 26
2.2.1. Giới thiệu về CryptDB và mô hình 26
2.2.2. Mối đe dọa DBMS bị thỏa hiệp 28
2.2.3. Truy vấn trên dữ liệu mã hóa 30
2.2.3.1. Mã hóa trong CryptDB 31
2.2.3.2. Mã hóa lớp 34
2.2.3.3. Hàm người dùng định nghĩa - UDF: User-Defined Function 37
2.2.3.4. Điều chỉnh mã hóa dựa theo truy vấn 38
2.2.3.5. Cấu trúc dữ liệu trong CryptDB 41
2.2.3.6. Thực thi truy vấn trên dữ liệu mã hóa 42
2.2.3.7. Tính toán liên kết giữa các cột 51
2.3. Áp dụng mô hình bảo mật dữ liệu trong điện toán đám mây 53
2.3.1. Thách thức và yêu cầu 54
2.3.2. Thiết kế hệ thống 57
2.3.3. Phân tích an ninh 60
CHƯƠNG 3. TRIỂN KHAI CÀI ĐẶT, THỬ NGHIỆM VÀ
ĐÁNH GIÁ MÔ HÌNH. 61
3.1. Mô hình triển khai 61
3.1.1. Mô hình triển khai hệ thống. 61
3.1.2. Mô hình hoạt động hệ thống. 62
3.2. Triển khai cài đặt và thử nghiêm 68
3.2.1. Triển khai cài đặt. 68
3.2.2. Thử nghiệm mô hình. 70
iii
3.3. Đánh giá mô hình 75
3.3.1. Đánh giá về chức năng 75
3.3.2. Đánh giá về độ bảo mật dữ liệu 75
3.3.3. Đánh giá về hoạt động 76
KẾT LUẬN 78
TÀI LIỆU THAM KHẢO 80
iv
DANH MỤC CÁC CHỮ VIẾT TẮT
Ký hiệu
Thuật ngữ
Ý nghĩa
IT
Information Technology
Công nghệ thông tin
NIST
National Institute of Standards and
Technology
Viện Tiêu chuẩn và Công
nghệ Quốc gia Hoa Kỳ
MIT
Massachusetts Institute of
Technology
Viện Công nghệ
Massachusetts
SLA
Service Level Agreement
Hợp đồng thỏa thuận dịch vụ
QoS
Quality of Service
Chất lượng dịch vụ
IaaS
Infrastructure-as-a-Service
Cơ sở hạ tầng như một dịch vụ
PaaS
Platform-as-a-Service
Nền tảng như một dịch vụ
SaaS
Software-as-a-Service
Phần mềm như một dịch vụ
DBaaS
Database-as-a-Service
Cơ sở dữ liệu như một dịch vụ
VM
Virtual Machine
Máy ảo
CRM
Customer Relationship
Management
Quản lý quan hệ khách hàng
ERP
Enterprise Resource Planning
hoạch định nguồn lực doanh
nghiệp
SQL
Structured Query Language
Ngôn ngữ truy vấn cấu trúc
DBMS
Database Management System
Hệ quản trị cơ sở dữ liệu
UDF
User-Defined Function
Hàm người dùng định nghĩa
DBA
Database Administrator
Quản trị viên cơ sở dữ liệu
MK
Master Key
Khóa chính
PRP
Pseudo-Random Permutation
Hoán vị giả ngẫu nhiên
PRF
Pseudo-Random Function
Hàm giả ngẫu nhiên
v
DANH MỤC HÌNH ẢNH
Hình 1.1 Điện toán đám mây 2
Hình 1.2 Mô hình kiến trúc dịch vụ điện toán đám mây của SOMF 2
Hình 1.3 Mô hình SPI 3
Hình 1.4 Mô hình SPI với các ứng dụng trong thực tế 4
Hình 1.5 Mức độ kiểm soát/trách nhiệm giữa khách hàng và nhà cung cấp
dịch vụ 6
Hình 1.6 SaaS cung cấp dịch vụ cho khách hàng 7
Hình 1.7 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ SaaS 8
Hình 1.8 PaaS cho phép khách hàng truy cập vào một nền tảng trên điện
toán đám mây 9
Hình 1.9 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ PaaS 11
Hình 1.10 IaaS cho phép nhà cung cấp dịch vụ thuê những tài nguyên
phần cứng 11
Hình 1.11 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ IaaS 12
Hình 1.12 Mô hình triển khai điện toán đám mây 12
Hình 1.13 Các thành phần trong đám mây riêng 13
Hình 1.14 So sánh giữa đám mây riêng và đám mây công cộng 14
Hình 1.15 Đám mây công cộng 15
Hình 1.16 Mô hình đám mây lai 17
Hình 1.17 Kiến trúc phân tầng dịch vụ trong điện toán đám mây. 18
Hình 2.1 Kiến trúc của CryptDB. 26
Hình 2.2 Mối đe dọa các DBA đánh cắp dữ liệu. 28
Hình 2.3 EQ Onion. 35
Hình 2.4 ORD Onion. 36
Hình 2.5 SEARCH và ADD Onion. 37
Hình 2.6 Bảng Square. 38
Hình 2.7 Kết quả. 38
Hình 2.8 Các lớp mã hóa Onion và các lớp tính toán được phép. 39
Hình 2.9 Bảng dữ liệu gốc. 41
Hình 2.10 Bảng được tạo ra bởi Proxy Server. 41
Hình 2.11 Bảng Students sau khi được tạo. 43
Hình 2.12 Bảng mã hóa được tạo trên Proxy Server. 44
vi
Hình 2.13 Kết quả của truy vấn 44
Hình 2.14 Kết quả được trả về từ phía Proxy Server. 44
Hình 2.15 Lược đồ cơ sở dữ liệu ví dụ. 45
Hình 2.16 Các lớp mã hóa của các cột. 45
Hình 2.17 Lược đồ cơ sở dữ liệu sau bước 1. 46
Hình 2.18 Lớp mã hóa của các cột sau bước 1. 46
Hình 2.19 Lược đồ cơ sở dữ liệu sau bước 2. 47
Hình 2.20 Bảng được cập nhật với các giá trị Grade được thêm. 49
Hình 2.21 Bảng được cập nhật được mã hóa bên Proxy Server. 49
Hình 2.22 Kiến trúc Relational Cloud. 59
Hình 3.1 Mô hình hệ thống. 61
Hình 3.2 Lưu đồ hoạt động. 62
Hình 3.3 Giao diện ứng dụng thử nghiệm. 63
Hình 3.4 Cập nhật Ubuntu. 68
Hình 3.5 Tải CryptDB về máy. 69
Hình 3.6 Chạy kịch bản cài đặt CryptDB. 69
Hình 3.7 Cài đặt CryptDB thành công. 70
Hình 3.8 Chạy proxy trên Web server. 71
Hình 3.9 Truy cập ứng dụng web. 72
Hình 3.10 Đăng nhập vào mysql bằng tài khoản root. 72
Hình 3.11 Tạo cơ sở dữ liệu trên ứng dụng. 73
Hình 3.12 Hoạt động của CryptDB khi tạo cơ sở dữ liệu 73
Hình 3.13 Cơ sở dữ liệu được lưu trên Database server. 73
Hình 3.14 Sử dụng một vài chức năng của ứng dụng web. 74
Hình 3.15 Hoạt động tại CryptDB 74
Hình 3.16 Dữ liệu trên Database server được mã hóa hoàn toàn. 75
Hình 3.17 So sánh thông lượng của phpBB 77
Hình 3.18 Thời gian xử lý 5 loại request 77
vii
LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển vũ bão của công nghệ thông tin, hệ thống
phần mềm ứng dụng, hệ thống máy chủ của các tổ chức doanh nghiệp ngày
càng tăng nhanh. Điều đó dẫn tới chi phí đầu tư cho hạ tầng công nghệ thông
tin ngày càng lớn, chi phí cho việc quản lý hệ thống cũng tăng lên. Để giảm
thiểu được các chi phí đó và tăng khả năng ứng dụng công nghệ thông tin
trong sản xuất kinh doanh của doanh nghiệp, điện toán đám mây là giải pháp
đang được rất nhiều doanh nghiệp lựa chọn. Bên cạnh những lợi ích to lớn mà
điện toán đám mây đem lại, nó cũng tồn tại một số hạn chế nhất định, nhất là
trong vấn đề bảo mật dữ liệu của người sử dụng. Trong thời đại ngày nay,
nhiều thông tin, dữ liệu nhạy cảm có giá trị rất to lớn, đôi khi nắm vai trò
sống còn của một doanh nghiệp, vấn đề đảm bảo bí mật cho những thông tin,
dữ liệu như vậy khi lưu trữ trên đám mây của nhà cung cấp dịch vụ lại càng
trở nên quan trọng hơn bao giờ hết. Vậy làm thế nào để những nhà cung cấp
dịch vụ điện toán đám mây có thể đảm bảo những thông tin quan trọng đó của
khách hàng không bị lộ.
Đề tài “Nghiên cứu mô hình xử lý dữ liệu đã mã hóa bảo mật dữ liệu
trong điện toán đám mây” nhằm mục đích nghiên cứu, tìm hiểu, xây dựng,
thử nghiệm và đưa ra một phương pháp mới giải quyết bài toán bảo đảm bí
mật cho những dữ liệu, thông tin nhạy cảm được lưu trữ trên điện toán đám
mây.
Nội dung đồ án gồm có 3 chương, trong đó:
Chương 1. Tổng quan về điện toán đám mây và vấn đề bảo mật dữ
liệu trong điện toán đám mây. Kết thúc chương này ta sẽ có cái nhìn tổng
quan nhất về điện toán đám mây, biết được những lợi ích to lớn mà điện toán
đám mây đem lại so với điện toán truyền thống cũng như một số vấn đề về
bảo mật dữ liệu chúng ta sẽ gặp phải khi sử dụng các dịch vụ điện toán đám
mây.
Chương 2. Mô hình xử lý dữ liệu đã mã hóa bảo mật dữ liệu trong
điện toán đám mây. Chương này sẽ trình bầy về một chủ đề đang rất được
quan tâm trong điện toán đám mây, đó là Database-as-a-Service – DBaaS hay
viii
còn được gọi là cơ sở dữ liệu như một dịch vụ. Đồng thời cũng giới thiệu về
một giải pháp mới để đảm bảo bí mật cho dữ liệu được lưu trữ trên cơ sở dữ
liệu của bên thứ ba đó là CryptDB, cũng như phân tích hoạt động của
CryptDB trong việc xử lý dữ liệu đã mã hóa.
Chương 3. Triển khai cài đặt, thử nghiệm và đánh giá mô hình. Kết
thúc chương này ta sẽ thấy rõ hơn cách mà CryptDB được áp dụng trong thực
tế để đảm bảo bí mật cho dữ liệu khi lưu trữ trên cơ sở dữ liệu của một nhà
cung cấp dịch vụ điện toán đám mây.
Vì điều kiện tìm hiểu, nghiên cứu và thực hiện đồ án cũng như kiến thức
hiểu biết có hạn, chưa thể bao quát hết tất cả các vấn đề nên đồ án không thể
tránh khỏi những thiếu sót. Rất mong thầy cô nhận xét và góp ý để em có thể
hoàn thiện và phát triển đồ án tốt hơn.
Em xin chân thành cảm ơn!
1
CHƯƠNG 1. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ
VẤN ĐỀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM
MÂY.
1.1. Khái niệm.
Khái niệm về điện toán đám mây xuất hiện từ những năm 1960 trở lại đây,
khi John McCarthy phát biểu rằng “một ngày nào đó tính toán được tổ chức
như một tiện ích công cộng”. Các đặc điểm của điện toán đám mây tạo ra như
khả năng co giãn, cung cấp như một tiện ích trực tuyến, với khả năng xem
như vô hạn.
Hiện nay, điện toán đám mây được rất nhiều tổ chức và cá nhân định
nghĩa khác nhau. Dưới đây là một số khái niệm điện toán đám mây:
Theo Rajkumar Buyya: “Điện toán đám mây là một loại hệ thống phân bố
và xử lý song song gồm các máy tính ảo kết nối với nhau và được cung cấp
động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự
thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng”.
Theo Ian Foster “Điện toán đám mây là 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 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”.
Theo Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST): “Điện
toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu
cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình:
mạng, máy chủ, lưu trữ, ứng dụng,…có thể được cung cấp và thu hồi một
cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà
cung cấp dịch vụ.”
2
Hình 1.1 Điện toán đám mây
1.2. Mô hình kiến trúc điện toán đám mây
1.2.1. Kiến trúc phân lớp dịch vụ
Hiện nay có một số mô hình kiến trúc phân lớp dịch vụ cho điện toán đâm
mây, ví dụ như mô hình kiến trúc dịch vụ của SOMF như hình 1.1. Tùy theo
nhà cung cấp dịch vụ điện toán đám mây, họ sẽ cung cấp các loại dịch vụ điện
toán đám mây khác nhau
Hình 1.2 Mô hình kiến trúc dịch vụ điện toán đám mây của SOMF
3
Tuy nhiên tựu chung của các mô hình kiến trúc dịch vụ điện toán đám
mây đều có ba loại dịch vụ điện toán đám mây cơ bản là: dịch vụ cơ sở hạ
tầng (Infrastructure as a Service – IaaS), dịch vụ nền tảng (Platform as a
Service – PaaS) và dịch vụ phần mềm (Software as a Service – SaaS). Cách
phân loại này thường được gọi là mô hình SPI. Hình 1.3 dưới đây sẽ mô tả
mô hình dịch vụ SPI (Software – Platform – Infrastructure).
Hình 1.3 Mô hình SPI
4
Trong hình 1.4 dưới đây sẽ cho chúng ta thấy mô hình SPI của điện toán
đám mây gắn liền với một số ứng dụng, dịch vụ cụ thể trong thực tế.
Hình 1.4 Mô hình SPI với các ứng dụng trong thực tế
Mô hình dịch vụ xác định tùy chọn điều khiển khác nhau cho các khách
hàng và cung cấp dịch vụ điện toán đám mây. Ví dụ, khách hàng SaaS chỉ
cần sử dụng các ứng dụng và dịch vụ được cung cấp bởi các CSP, nơi IaaS
khách hàng duy trì kiểm soát môi trường của mình được lưu trữ trên cơ sở
hạ tầng cơ bản của CSP. Ba mô hình dịch vụ thường được sử dụng nhất
được mô tả như sau.
SaaS: Khả năng cho khách hàng sử dụng các ứng dụng của nhà cung cấp
đang chạy trên một cơ sở 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ách hàng khác nhau hoặc thông qua một giao diện
chẳng hạn như một trình duyệt web, hoặc một giao diện chương trình.
PaaS: Khả năng cho khách hàng triển khai các ứng dụng của họ (được tạo
ra hoặc mua lại) vào cơ sở hạ tầng điện toán đám mây, sử dụng ngôn ngữ lập
trình, thư viện, dịch vụ, và các công cụ hỗ trợ của nhà cung cấp.
5
IaaS: Khả năng cho khách hàng sử dụng xử lý của nhà cung cấp, lưu trữ,
mạng, và tài nguyên máy tính cơ bản khác để triển khai và chạy hệ điều hành,
các ứng dụng và phần mềm khác trên một cơ sở hạ tầng điện toán đám mây.
Sự khác biệt chính giữa các cấp dịch vụ liên quan đến cách điều khiển
được chia sẻ giữa các khách hàng và CSP, do đó ảnh hưởng đến mức độ trách
nhiệm cho cả hai bên. Cần lưu ý rằng, khác hơn trong một đám mây thực sự
tin (on-premise) kịch bản, khách hàng hiếm khi có bất kỳ kiểm soát phần
cứng, và nó là mức độ mà các thành phần ảo, các ứng dụng và phần mềm
được quản lý bởi các bên khác nhau để phân biệt các mô hình dịch vụ. Theo
nguyên tắc chung, SaaS cung cấp cho khách hàng với số tiền ít nhất kiểm
soát, trong khi IaaS cung cấp sự kiểm soát nhất cho khách hàng.
Điều quan trọng cần lưu ý là những mô tả triển khai và mô hình dịch vụ,
mặc dù được chấp nhận rộng rãi bởi các ngành công nghiệp, có thể không
hoàn toàn được theo sau bởi các nhà cung cấp điện toán đám mây hoặc phản
ánh môi trường điện toán đám mây thực tế. Ví dụ, một CSP có thể được bán
một "đám mây riêng" dịch vụ không đáp ứng được mục đích của "tư nhân"
như được mô tả ở trên. Tương tự như vậy, các chi tiết về những gì được và
những gì không được bao gồm trong một dịch vụ cụ thể có thể sẽ khác nhau
giữa các CSP, ngay cả khi họ từng xác định dịch vụ của họ bằng cách cùng kỳ
hạn (IaaS, PaaS hay SaaS).
Mức độ trách nhiệm an ninh trên các mô hình dịch vụ điện toán đám mây
nói chung và di cư đối với khách hàng là khách hàng di chuyển từ một mô
hình SaaS (trách nhiệm của khách hàng ít nhất) đến một mô hình IaaS (hầu
hết trách nhiệm của khách hàng). Mức độ lớn nhất của trách nhiệm cho các
CSP để duy trì kiểm soát an ninh và hoạt động hiện diện trong mô hình dịch
vụ SaaS.
Hình dưới đây cho thấy cách kiểm soát thường được chia sẻ giữa các CSP
và khách hàng qua các mô hình dịch vụ khác nhau.
6
Hình 1.5 Mức độ kiểm soát/trách nhiệm giữa khách hàng và nhà cung cấp
dịch vụ
Trong khi khách hàng có thể được thu hút vào các mô hình SaaS và PaaS
do tiết kiệm tài nguyên và giảm trách nhiệm về quản lý môi trường điện toán
đám mây, họ nên biết rằng các mô hình này cũng tương ứng với một mất mát
lớn hơn của kiểm soát các dữ liệu nhạy cảm của họ. Thỏa thuận hợp đồng và
thẩm định liên tục trở nên đặc biệt quan trọng, nơi kiểm soát là bên ngoài, để
đảm bảo rằng các biện pháp an ninh cần được đáp ứng và duy trì bởi CSP
trong thời gian thỏa thuận.
1.2.1.1. Dịch vụ ứng dụng (Software as a Service – SaaS)
Các dịch vụ ứng dụng phần mềm SaaS đem đến cho tổ chức, doanh
nghiệp nhiều lợi ích. Đơn vị trả chi phí theo mức độ sử dụng hàng tuần, hàng
tháng mà không phải trả toàn bộ phí bản quyền ngay từ đầu. Ngân sách của
doanh nghiệp không phải gánh một khoản đầu tư ban đầu lớn mà sẽ chi trả
dần dần và tăng lên khi thực sự có nhu cầu. Bên cạnh đó, tổ chức, doanh
nghiệp cũng có lợi thể dùng thử và lựa chọn phần mềm như một dịch vụ phù
hợp, giảm thiểu được chi phí.
Dịch vụ ứng dụng SaaS là một mô hình dịch vụ phần mềm triển khai qua
Internet, trong đó, SaaS sẽ cung cấp giấy phép một ứng dụng cho khách hàng
để sử dụng một dịch vụ theo yêu cầu, hay còn gọi là “phần mềm theo yêu
cầu”. Mô hình SaaS cho phép các nhà cung cấp phát triển, lưu trữ và vận hành
phần mềm để khách hàng sử dụng. Thay vì mua các phần cứng và phần mềm
để chạy một ứng dụng, khách hàng chỉ cần một máy tính hoặc một máy chủ
7
để tải ứng dụng và truy cập Internet để chạy phần mềm. Phần mềm này có thể
được cấp phép cho một người dùng duy nhất hoặc cho một nhóm người dùng
Ứng dụng các dịch vụ đám mây hay “Software as a service -SaaS” cung
cấp phần mềm như một dịch vụ trên Internet, không cần cài đặt hay chạy
chương trình trên máy tính phía khách hàng. Những ứng dụng cung cấp cho
khách hàng được cài đặt, cấu hình trên máy chủ từ xa. Đồng thời công việc
bảo trì đơn giản và được hướng dẫn từ nhà cung cấp.
Hình 1.6 SaaS cung cấp dịch vụ cho khách hàng
Thuật ngữ “SaaS” và “cloud” có thể thay thế được cho nhau, nhưng thực
tế đó là hai khái niệm khác nhau. Chúng bao gồm các đặc điểm sau:
Dựa vào mạng khách hàng truy cập, quản lý và thương mại
Các hoạt động được xử lý tại trung tâm và cho phép khách hàng
truy cập từ xa thông qua trình duyệt web.
SaaS có thể được chia thành hai loại chính:
Cung cấp cho doanh nghiệp: Đây là những giải pháp kinh doanh
được cung cấp cho các công ty và doanh nghiệp. Chúng được cung
cấp thông qua doanh nghiệp đăng ký dịch vụ. Các ứng dụng được
cung cấp thông qua hình thức trên bao gồm các quá trình kinh
doanh như quản lý dây chuyền cung cấp, quan hệ khách hàng và các
công cụ hướng kinh doanh.
Cung cấp cho cá nhân: Các dịch vụ này được cung cấp cho công
chúng trên cơ sở thuê bao đăng ký. Tuy nhiên, họ được cung cấp
miễn phí và hỗ trợ thông qua quảng cáo. Ví dụ trong loại hình này
8
gồm có dịch vụ web mail, chơi game trực tuyến, và ngân hàng của
người tiêu dùng, và nhiều kiểu khách hàng khác.
Những ưu điểm khi sử dụng SaaS mang lại cho khách hàng là chi phí sẽ
thấp hơn các phần mềm cấp phép, các dịch vụ SaaS có tính năng tiết kiệm chi
phí lớn nhất bởi khi sử dụng SaaS khách hàng sẽ loại bỏ những công việc
thực sự không cần thiết cho các doanh nghiệp như cài đặt và duy trì phần
cứng, trả công cho nhân viên, và duy trì các ứng dụng. Đồng thời các nhà
cung cấp SaaS thường có kiểm tra an ninh rất tỉ mỉ.
Bên cạnh nhưng ưu điểm thì sẽ có những nhược điểm gây trở ngại kỹ
thuật để xây dựng một SaaS hiệu quả với mô hình nhiều khách hàng. Điều
này đã trở nên dễ dành hơn và dễ dành hơn so với vấn đề ảo hóa, nhưng thiết
kế một ứng dụng có hiệu quả cung cấp cho hàng ngàn khách hàng qua
Internet là công việc khó khăn.
Đặc điểm của SaaS:
Thiết lập vị trí các ứng dụng do nhà cung cấp dịch vụ SaaS quản lý,
còn việc sử dụng tài nguyên và sử dụng các ứng dụng dịch vụ SaaS
do người sử dụng quản lý.
Phần cứng, ảo hóa, hệ điều hành và các phần sụn hoàn toàn do nhà
cung cấp dịch vụ SaaS quản lý và kiểm soát.
Hình 1.7 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ SaaS
9
1.2.1.2. Dịch vụ nền tảng hệ thống (Platform as a Service – PaaS)
Dịch vụ nền tảng hệ thống PaaS cung cấp các nền tảng điện toán cho phép
khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây
dựng thành dịch vụ trên nền tảng đám mây đó. Dịch vụ PaaS có thể được
cung cấp dưới dạng các ứng dụng lớp giữa (middleware), các máy chủ ứng
dụng (application server) cùng các công cụ lập trình với ngôn ngữ lập trình
nhất định để xây dựng ứng dụng. Dịch vụ PaaS cũng có thể được xây dựng
riêng và cung cấp cho khách hàng thông qua một API riêng. Khách hàng xây
dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua API
đó.
Đây là tầng cung cấp dịch vụ nền tảng để chạy các ứng dụng. Các ứng
dụng này có thể đang chạy trong đám mây hay chạy trong một trung tâm dữ
liệu truyền thống. Để đạt được khả năng mở rộng cần thiết trong một đám
mây, các dịch vụ thường được ảo hóa. Việc ảo hóa được các nhà sản xuất lớn
giới thiệu như IBM® WebSphere® Application Server virtual images,
Amazon Web Services, Boomi, Cast Iron, và Google App Engine. Các dịch
vụ nền tảng cho phép khách hàng chạy các ứng dụng dựa trên cơ sở hạ tầng
dịch vụ được bên thứ ba cung cấp.
Nền tảng là nơi cung cấp tất cả các nguồn lực cần thiết để xây dựng các
ứng dụng và dịch vụ hoàn toàn từ Internet, mà không cần phải tải về hay cài
đặt phần mềm.
Hình 1.8 PaaS cho phép khách hàng truy cập vào một nền tảng trên điện toán
đám mây
Một lỗi phía nhà cung cấp nên tảng dẫn tới không còn khả năng tương tác
với khách hàng, buộc phải chuyển qua nhà cung cấp khác. Trường hợp người
dùng tạo một ứng dụng với một nhà cung cấp điện toán đám mây và quyết
10
định chuyển đến một nhà cung cấp khác, có thể ứng dụng không hoạt động
được hoặc sẽ phải trả một mức giá cao để ứng dụng có thể hoạt động lại. Nếu
nhà cung cấp không còn cung cấp dịch vụ thì ứng dụng và dữ liệu của khách
hàng sẽ bị mất.
Nền tảng hướng dịch vụ thường cung cấp một giao diện người dùng dựa
trên HTML hoặc JavaScript.
Nền tảng hướng dịch vụ hỗ trợ phát triển giao diện web như Simple
Object Access Protocol (SOAP) và REST (Representational State Tranfer),
cho phép xây dựng nhiều dịch vụ web.
Tùy chọn PaaS có ba loại khác nhau:
Cơ sở phát triển bổ sung (Add-on development facilities): Điều này
cho phép các ứng dụng SaaS được lựa chọn. Thông thường, các nhà
phát triển PaaS và khách hàng được yêu cầu đăng ký cho các tiện
ích ứng dụng SaaS.
Môi trường độc lập (Stand-alone environments) Những môi trường
không cung cấp giấy phép, kỹ thuật.
Môi trường chỉ phân phối ứng dụng (Application delivery-only
environments) Những môi trường hỗ trợ dịch vụ lưu trữ theo cấp
độ, như khả năng mở rộng theo nhu cầu bảo mật. Nhưng không bao
gồm nhiệm vụ phát triển, gỡ lỗi, và kiểm tra.
Một số yếu tố khác ảnh hưởng đến tiếp nhận công nghệ:
Khả năng làm việc của nhóm phát triển bị cô lập bởi vị trí địa lý.
Khả năng hợp nhất các dịch vụ web từ nhiều nguồn.
Khả năng thực hiện tiết kiệm chi phí sử dụng, tích hợp các dịch vụ
cơ sở hạ tầng bảo mật, khả năng mở rộng, và chuyển đổi dự phòng.
Có hai trở ngại chính mà các nhà phát triển phải đối mặt khi xem xét
PaaS. Thứ nhất các nhà cung cấp sử dụng dịch vụ độc quyền hoặc các ngôn
ngữ phát triển, một số nhà phát triển sợ bị phụ thuộc vào một nhà cung cấp
duy nhất. Hai là các nhà cung cấp có thể cho phép các ứng dụng sẽ được làm
việc với một nhà cung cấp khác, tuy nhiên chi phí thường cao hơn.
11
Hình 1.9 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ PaaS
1.2.1.3. Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS)
Các dịch vụ cơ sở hạ tầng IaaS cung cấp cho khách hàng tài nguyên hạ
tầng điện toán như máy chủ, mạng, không gian lưu trữ và các công cụ quản trị
tài nguyên đó. Các tài nguyên này thường được ảo hoá, chuẩn hoá thành một
số cấu hình trước khi cung cấp để đảm bảo khả năng linh hoạt trong quản trị
cũng như hỗ trợ tự động hoá.
Tầng dưới cùng của đám mây là tầng cung cấp dịch vụ cơ sở hạ tầng. Ở
đây là một tập hợp các tài nguyên vật lí như các máy chủ, các thiết bị mạng và
các đĩa cứng lưu trữ được đưa ra như dịch vụ với mục đích cung cấp cho
khách hàng. Cũng như với các dịch vụ nền tảng, ảo hóa là một phương pháp
thường được sử dụng để tạo ra bản phân phối các nguồn tài nguyên theo yêu
cầu. Các nhà sản xuất lớn cung cấp cơ sở hạ tầng bao gồm IBM Bluehouse,
VMware, Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud
Storage.
Hình 1.10 IaaS cho phép nhà cung cấp dịch vụ thuê những tài nguyên phần
cứng
12
Các dịch vụ cơ sở hạ tầng tập trung vào vấn đề trang bị cho các trung tâm
dữ liệu bằng cách đảm bảo công suất điện toán khi cần thiết. Trên thực tế các
kỹ thuật ảo hóa thường được sử dụng trong tầng này, nên có thể thấy rõ sự tiết
kiệm chi phí khi sử dụng tài nguyên hệ thống.
Hình 1.11 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ IaaS
1.2.2. Mô hình triển khai
Điện toán đám mây phân thành ba mô hình triển khai: điện toán đám mây
riêng, đám mây công cộng và đám mây lai. Sau đây chúng ta sẽ đi tìm hiểu
lần lượt từng mô hình triển khai.
Hình 1.12 Mô hình triển khai điện toán đám mây
1.2.2.1. Đám mây riêng
Các đám mây riêng là các dịch vụ đám mây được cung cấp trong doanh
nghiệp. Những đám mây này tồn tại bên trong tường lửa công ty và chúng
được doanh nghiệp quản lý.
Các đám mây riêng đưa ra nhiều lợi ích giống như các đám mây chung,
điểm khác biệt chính là doanh nghiệp chịu trách nhiệm thiết lập và bảo trì
13
đám mây. Việc thiết lập đám mây riêng đôi khi không còn chi phí cho việc sử
dụng và duy trì hoạt động liên tục của đám mây và có thể vượt quá chi phí khi
sử dụng một đám mây chung.
Hình 1.13 Các thành phần trong đám mây riêng
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ý.
Các đám mây riêng là các dịch vụ đám mây được xây dựng trong hệ thống
của doanh nghiệp. Những đám mây này tồn tại bên trong tường lửa công ty và
chúng được doanh nghiệp quản lý. Các vấn đề khó khăn và chi phí của việc
thiết lập một đám mây riêng đôi khi có thể có chiều hướng ngăn cản việc xây
dựng và sử dụng hệ thống loại này. Ngoài ra chi phí hỗ trợ hoạt động liên tục
của đám mây riêng có thể vượt quá chi phí của việc sử dụng một đám mây
công cộng.
Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại công cộng. Việc
kiểm soát chi tiết hơn trên các tài nguyên khác nhau sẽ tạo thành một đám
mây mang lại cho công ty tất cả các tùy chọn cấu hình có sẵn. Ngoài ra, các
14
đám mây riêng là lý tưởng khi các kiểu công việc được thực hiện có các yêu
cầu về an ninh và quản lý không phù hợp cho một đám mây công cộng.
1.2.2.2. Đám mây công cộng
Các đám mây công cộng là các dịch vụ đám mây được một bên thứ ba
(người bán) cung cấp. Chúng tồn tại ngoài tường lửa công ty và chúng được
lưu trữ đầy đủ và do nhà cung cấp đám mây quản lý.
Các đám mây công cộng cung cấp cho khách hàng các dịch vụ công
nghệ thông tin tốt nhất. Có thể là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ
sở hạ tầng vật lý. Các nhà cung cấp đám mây chịu trách nhiệm cài đặt, quản
lý, cung cấp và bảo trì. Khách hàng tính phí cho các tài nguyên nào mà họ sử
dụng.
Các dịch vụ thường được cung cấp với các quy ước về cấu hình, chúng
được cung cấp với những trường hợp sử dụng phổ biến nhất. Khách hàng chỉ
có quyền truy cập vào tài nguyên được cấp phát.
Hình 1.14 So sánh giữa đám mây riêng và đám mây công cộng
Các đám mây công cộng là các dịch vụ đám mây được một bên thứ ba
(người bán) cung cấp. Chúng nằm ngoài hệ thống mạng của tổ chức và chúng
được lưu trữ đầy đủ và được nhà cung cấp đám mây quản lý. Các đám mây
công cộng cố gắng cung cấp cho người tiêu dùng các thành phần công nghệ
tối ưu nhất, cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ sở hạ
tầng vật lý.
15
Nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cung cấp và
bảo trì các thành phần này. Khách hàng chỉ chịu phí cho các tài nguyên nào
mà họ sử dụng, vì thế cái chưa sử dụng được loại bỏ. Tất nhiên điều này liên
quan đến chi phí. Các dịch vụ này thường được cung cấp với "quy ước về cấu
hình" nghĩa là chúng được phân phối với ý tưởng cung cấp các trường hợp sử
dụng phổ biến nhất. Các tùy chọn cấu hình thường là một tập hợp con nhỏ
hơn so với những gì mà chúng đã có nếu nguồn tài nguyên đã được người
dùng kiểm soát trực tiếp. Một điều khác cần lưu ý là kể từ khi người dùng có
quyền kiểm soát cơ sở hạ tầng, các quy trình đòi hỏi tuân thủ quy định an ninh
chặt chẽ và điều này không phải lúc nào cũng thích hợp cho các đám mây
chung.
Hình 1.15 Đám mây công cộng
1.2.2.3. Đám mây lai
Các đám mây lai là một sự kết hợp của các đám mây công cộng và riêng.
Những đám mây này thường do doanh nghiệp tạo ra và các trách nhiệm quản
lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng.
Đám mây lai sử dụng các dịch vụ có trong cả không gian công cộng và riêng.
Các đám mây lai là câu trả lời khi một công ty cần sử dụng các dịch vụ
của cả hai đám mây riêng và công cộng. Theo hướng này, một công ty có thể
16
lựa chọn đám mây công cộng hay riêng dựa trên các mục tiêu và nhu cầu của
các dịch vụ cần triển khai. Một đám mây lai được xây dựng tốt có thể phục vụ
các quy trình nhiệm vụ quan trọng của doanh nghiệp yêu cầu cao về tính ổn
định, an toàn, cũng như những ứng dụng không quan trọng.
Hạn chế chính với đám mây này là sự khó khăn trong việc tạo ra và quản
lý có hiệu quả một giải pháp như vậy. Hệ thống phải có thể tiếp nhận được và
cung cấp các dịch vụ lấy từ các nguồn khác nhau như thể chúng có chung
nguồn gốc, hay phức tạp hơn là hỗ trợ tương tác giữa các thành phần riêng và
chung. Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám
mây, nên cách hiện thực và các công cụ hỗ trợ mô hình này vẫn còn được
nghiên cứu.
Là sự kết hợp của các đám mây công cộng và riêng. Những đám mây này
thường do doanh nghiệp tạo ra và chịu trách nhiệm quản lý. Nó được phân
chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng. Đám mây lai sử
dụng các dịch vụ có trong cả trong đám mây công cộng và riêng.
Các đám mây lai được các công ty sử dụng dịch vụ trên đó. Công ty có
thể đưa ra những lợi ích khi sử dụng đám mây chung và riêng. Một đám mây
lai được xây dựng tốt để có thể phục vụ khách hàng tốt nhất, an toàn.
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.