ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜ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
Trang 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
Trang 2MỤ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
Trang 3MỤ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
Trang 45 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
Trang 5DANH 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
Trang 6Hì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
Trang 7Hypervisor Một chương trình hệ thống cung cấp môi trường máy ảo
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
Trang 8MỞ ĐẦ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
Trang 9Nhằ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
Trang 10CHƯƠ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]
Trang 111.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
Trang 12Mô 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
Trang 13Hì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
Trang 14Ngườ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
Trang 15Trong 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
Trang 16PaaS đư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
Trang 17PaaS 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ụ
Trang 18Hì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
Trang 19mâ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
Trang 20Mố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
Trang 21Hì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
Trang 22
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,
Trang 23nâ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
Trang 244.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
Trang 25
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
Trang 26- Máy ảo (virtual machine – guest machine): Mô hình mô phỏng một máy vật lý được cài đặt trên nền máy chủ
- Hệ điều hành máy ảo: Là hệ điều hành được cài đặt trên nền máy chủ
và chỉ được phép cài đặt các hệ điều hành được máy chủ cung cấp dưới dạng các mẫu có sẵn
- An ninh: Liên quan đến vấn đề an toàn dữ liệu khi lưu trữ dữ liệu người dùng tại máy chủ của nhà cung cấp dịch vụ Khi truyền tin qua mạng internet, rất có thể các gói tin nhạy cảm sẽ bị hacker tấn công
- Tính sẵn sàng và hiệu năng của hệ thống: Người sử dụng sẽ lo lắng liệu rằng công việc của họ có bị gián đoạn, có bị phụ thuộc quá nhiều vào nhà cung cấp dịch vụ Liệu rằng có sự cố với dữ liệu của họ hay không Và khả năng xử lý yêu cầu công việc từ phía nhà cung cấp dịch vụ có đảm bảo hay không
Trang 27Khi giải quyết được những vấn đề trên, tính toán đám mây sẽ mang lại những lợi ích to lớn cho những doanh nghiệp sử dụng dịch vụ và người dùng cuối sẽ được sử dụng các dịch vụ công nghệ có chất lượng
7 Tổng kết
Chương 1, tác giả đã trình bày những kiến thức cơ bản nhất về tính toán đám mây, bao gồm: Khái niệm, thuộc tính và một số mô hình triển khai cơ bản gồm đám mây công cộng, đám mây riêng và đám mây lai, công nghệ ảo hóa Ngoài ra, tác giả cũng đã trình bày được những thách thức đặt ra khi triển khai
mô hình tính toán đám mây trong thực tế
Chương 2 tác giả sẽ đi sâu vào trình bày các vấn đề liên quan tới dịch vụ cơ sở
dữ liệu, các vấn đề quan trọng của cơ sở dữ liệu như phân hoạch dữ liệu, vị trí
và di chuyển dữ liệu, bảo mật dữ liêu
Trang 28CHƯƠNG 2: DỊCH VỤ CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu là phần mềm đặc trưng được sử dụng trong nhiều tổ chức
và được ứng dụng trong nhiều lĩnh vực khác nhau như ngân hàng tài chính, quản trị quan hệ khách hàng, quản lý nguồn lực Trong lĩnh vực ngân hàng nói riêng, cơ sở dữ liệu đóng vai trò then chốt Tuy nhiên, nhiều ngân hàng chưa
có những giải pháp triệt để cho các bài toán cơ bản như hết dung lượng lưu trữ
dữ liệu, tốc độ truy vấn thấp, làm gì khi có vấn đề xảy ra với hệ thống dữ liệu, khả năng hồi phục của hệ thống thấp khi có lỗi xảy ra, việc nâng cấp cơ sở dữ liệu, quản trị cơ sở dữ liệu như thế nào để hệ thống hoạt động thông suốt Khi ngân hàng vẫn thực hiện việc cài đặt hệ quản trị cơ sở dữ liệu riêng, thì những mối đe dọa này vấn luôn thường trực Để giải quyết được bài toán này, việc đưa cơ sở dữ liệu lên “đám mây” cho một nhà cung cấp dịch vụ có uy tín quản
lý sẽ giúp ngân hàng bớt đi một mối lo rất lớn Ngân hàng chỉ phải tập trung vào các hoạt động kinh doanh tài chính tiền tệ và khi đó sẽ nâng cao được hiệu quả các hoạt động nghiệp vụ chính của ngân hàng
1 Giới thiệu
1.1 Tổng quan
Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) là một thành phần không thể tách rời và không thể thiếu trong hầu hết các môi trường máy tính hiện nay, và tầm quan trọng của các hệ quản trị cơ sở dữ liệu không hề suy giảm Với sự ra đời của tính toán đám mây và công nghệ lưu trữ, cơ hội để cung cấp một hệ quản trị cơ sở dữ liệu như là một dịch vụ thuê ngoài hoàn toàn có thể đạt được Điều đó được minh chứng qua sự hoạt động hiệu quả của Amazon RDS và Microsoft SQL Azure Một dịch vụ cơ sở dữ liệu (DBaaS) hấp dẫn ở yếu tố chi phí Chi phí cho DbaaS có khả năng thấp hơn nhiều so với chi phí doanh nghiệp chi ra để xây dựng hệ thống riêng bao gồm chi phí cho phần cứng, chi phí phần mềm và chi phí phát sinh khi doanh nghiệp đưa vào vận hành Với Dbaas, doanh nghiệp sử dụng dịch vụ chỉ phải trả phí cho những gì doanh nghiệp sử dụng
Một DBaaS hứa hẹn di chuyển nhiều gánh nặng thao tác trong việc cung cấp, cấu hình, nhân rộng, điều chỉnh hiệu năng, sao lưu, bảo mật, và kiểm soát truy cập từ những người sử dụng cơ sở dữ liệu cho tới các nhà điều hành dịch vụ, cung cấp chi phí thấp hơn tổng thể cho người sử dụng Các DBaaS ra đời sớm như Amazon RDS và Microsoft SQL Azure mang lại nhiều
Trang 29hứa hẹn trong việc thiết lập nhu cầu thị trường cơ sở dữ liệu và cung cấp cơ sở
dữ liệu như một dịch vụ, nhưng đó không giải quyết những thách thức quan trọng gồm: hiệu quả đa kênh thuê, khả năng mở rộng đàn hồi và bảo mật cơ sở
dữ liệu Các thách thức này cần được giải quyết trước khi gia công phần mềm
cơ sở dữ liệu Ba vấn đề hướng thiết kế một DbaaS cần phải giải quyết đó là
đa kênh thuê để sử dụng hiệu quả tài nguyên, mở rộng mềm dẻo để đáp ứng được yêu cầu khi khối lượng công việc cần xử lý tăng lên, và tính bảo mật cơ
sở dữ liệu.[13]
DbaaS giúp loại bỏ một số giới hạn trong cơ sở dữ liệu truyền thống như: i) Khả năng mở rộng cơ sở dữ liệu ii) Cấu hình và bảo trì cơ sở dữ liệu iii) Sự đa dạng trong nhu cầu sử dụng hệ thống Chẳng hạn, có người dùng chuyên dùng cơ sở dữ liệu dạng OLTP, có người lại có nhu cầu sử dụng cơ sở
dữ liệu dạng OLAP cao hơn, có người lại không chuyên vào một loại cơ sở dữ liệu nào iv) Việc cung cấp nhiều tính năng không dùng tới dẫn đến việc tăng giá thành gói dịch vụ
Người dùng DbaaS không cần quan tâm tới việc cung cấp phần cứng và cấu hình phần mềm Trong khi các nhà cung cấp có thể quản lý nhiều cơ sở dữ liệu mà không cần sử dụng phần cứng và người quản trị riêng cho từng cơ sở
dữ liệu
Hình 2.1 Mô hình DBaaS tổng quát [3]