Trường Đại Học Bách Khoa Hà Nội
Viện CNTT & TT
----------***----------
LUẬN VĂN THẠC SĨ KĨ THUẬT
Đề tài :
XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG CLOUD
COMPUTING
Học viên thực hiện :
Nguyễn Nam Hà
Mã học viên:
CB150848
GV hướng dẫn :
PGS.TS Nguyễn Linh Giang
Hà Nội, tháng 9/2017
Nguyễn Nam Hà – BK15BMMT
MỤC LỤC
MỞ ĐẦU .......................................................................................................................... 9
TÓM TẮT ĐỒ ÁN......................................................................................................... 10
CHƯƠNG I. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY......................................... 11
1.
Giới thiệu về “Điện tốn đám mây” ................................................................... 11
2.
Các tính chất và lợi ích khi sử dụng điện toán đám mây ................................. 13
2.1. Các tính chất cơ bản của Cloud Computing ............................................... 14
2.2. Các lợi ích của Cloud Computing .................................................................... 15
2.3. Các mơ hình Cloud Computing ....................................................................... 16
3.
Các cơng nghệ ảo hóa (Virtualization Technologies)........................................ 22
3.1. Một số khái niệm .............................................................................................. 22
3.2. Các kiến trúc ảo hóa ......................................................................................... 23
3.2.1.
Kiến trúc ảo hóa Hosted-based:.............................................................. 23
3.2.2.
Kiến trúc ảo hóa Hypervisor-based ........................................................ 25
3.2.3.
Kiến trúc ảo hóa Hybid .......................................................................... 28
3.3. Các mức độ ảo hóa ........................................................................................... 28
CHƯƠNG II. CÁC VẤN ĐỀ KHI TRIỂN KHAI ĐIỆN TOÁN ĐÁM MÂY TẠI
DOANH NGHIỆP ........................................................................................................ 35
1.
Lợi ích và khó khăn của Cloud Computing. ...................................................... 35
1.1. Lợi ích của Cloud Computing với doanh nghiệp. ............................................ 35
Nguyễn Nam Hà – BK15BMMT
1.2. Một số vấn đề gặp phải và khó khăn khi triển khai Cloud Computing với
doanh nghiệp .............................................................................................................. 38
2.
1.2.1.
Với doanh nghiệp sử dụng Cloud Computing........................................ 38
1.2.2.
Với nhà cung cấp dịch vụ Cloud Computing. ........................................ 41
Bước đầu triển khai một hệ thống cung cấp dịch vụ Cloud Computing tại
doanh nghiệp công nghệ thơng tin. ............................................................................. 44
2.1. Lựa chọn mơ hình và giải pháp ........................................................................ 44
2.1.1.
Lựa chọn mơ hình ................................................................................... 44
2.1.2.
Lựa chọn giải pháp ................................................................................. 44
2.2. Cloudstack và kiến trúc .................................................................................... 48
2.2.1.
Giới thiệu về Cloudstack ........................................................................ 48
2.2.2.
Kiến trúc của Cloudstack ....................................................................... 49
2.3. Lựa chọn một số công nghệ hỗ trợ trong xây dựng hệ thống ........................... 62
2.3.1.
Vấn đề Loadbalancing. ........................................................................... 62
2.3.2.
Vấn đề redundant cho các thành phần của hệ thống .............................. 64
2.3.3.
Vấn đề performance của Primary Storage.............................................. 65
2.3.4.
Xây dựng hệ thống giám sát, cảnh báo .................................................. 67
CHƯƠNG III. TRIỂN KHAI HỆ THỐNG CLOUD COMPUTING VỚI
CLOUDSTACK ............................................................................................................. 70
1.
Mơ hình triển khai ............................................................................................... 70
2.
Triển khai cài đặt Cloudstack trên hệ thống ..................................................... 71
2.1. Cài đặt khối Management server - Database .................................................... 71
2.2. Cài đặt khối Host .............................................................................................. 73
Nguyễn Nam Hà – BK15BMMT
2.3. Cài đặt Primary Storage.................................................................................... 77
3.
Cấu hình Cloudstack trên giao diện web ........................................................... 79
3.1. Adding Zone/Pod/Cluster/Host/Storage ........................................................... 80
3.2. Các thành phần của hệ thống sau khi triển khai Zone ...................................... 87
3.3. Khởi tạo máy ảo và quản trị tài nguyên liên quan ............................................ 89
3.4. Một số tính năng khác ...................................................................................... 93
4.
Bài test kiểm tra lại khả năng loadbalancing và redundant của hệ thống ..... 97
KẾT LUẬN CHUNG ..................................................................................................... 99
TÀI LIỆU THAM KHẢO ............................................................................................ 100
Nguyễn Nam Hà – BK15BMMT
DANH MỤC HÌNH VẼ
Hình 1.Góc nhìn kĩ thuật về Cloud Computing ............................................................. 13
Hình 2. NIST Visual Model of Cloud Computing Definition ....................................... 14
Hình 3. Các loại dịch vụ Cloud Computing ................................................................... 17
Hình 4. Mơ hình SPI ...................................................................................................... 18
Hình 5. Mơ hình Public Cloud ....................................................................................... 19
Hình 6. Private Cloud và Public Cloud .......................................................................... 20
Hình 7. Sự kết hợp của Private Cloud và Public Cloud ................................................. 20
Hình 8. Hybrid Cloud ..................................................................................................... 21
Hình 9. Triển khai ứng dụng trên Hybrid Cloud............................................................ 22
Hình 10. Mơ hình Hosted-based .................................................................................... 24
Hình 11. Kiến trúc Hypervisor-based ............................................................................ 25
Hình 12. Kiến trúc Monolithic Hypervisor .................................................................... 27
Hình 13. Kiến trúc Microkernelized Hypervisor ........................................................... 27
Hình 14. Kiến trúc ảo hóa Hybrid .................................................................................. 28
Hình 15. Full Virtualization ........................................................................................... 29
Hình 16. Para-virtualization ........................................................................................... 30
Hình 17. Multi-tenant với Cloud Computing ................................................................. 37
Hình 18. Mơ hình Cloudstack đơn giản ........................................................................ 50
Hình 19. Một Zone trong Cloudstack ............................................................................ 51
Hình 20. Một Region với nhiều Zone trong Cloudstack ................................................ 52
Hình 21. Pod trong Cloudstack ...................................................................................... 53
Hình 22. Cluster trong Cloudstack ................................................................................. 53
Hình 23. Các unit của Management Server ................................................................... 56
Hình 24. Guest traffic ..................................................................................................... 58
Hình 25. Network trong một Pod ................................................................................... 59
Hình 26. Network trong một Zone ................................................................................. 60
Nguyễn Nam Hà – BK15BMMT
Hình 27. Load balancing với LVS ................................................................................. 64
Hình 28. Multipath ......................................................................................................... 67
Hình 29. Mơ hình triển khai hệ thống. ........................................................................... 70
Hình 30. Giao diện Dashboard Cloudstack .................................................................... 80
Hình 31. Zone type panel ............................................................................................... 80
Hình 32. Setup Zone panel ............................................................................................. 81
Hình 33. Setup network panel. ....................................................................................... 82
Hình 34. Setup Public traffic.......................................................................................... 82
Hình 35. Setup Pod ........................................................................................................ 83
Hình 36. Setup Guest traffic........................................................................................... 83
Hình 37. Add Cluster panel ............................................................................................ 84
Hình 38. Add Host panel ................................................................................................ 84
Hình 39. Add Primary storage panel .............................................................................. 85
Hình 40. Add Secondary Storage panel ......................................................................... 86
Hình 41. Launch Zone panel .......................................................................................... 86
Hình 42. Compute và Storage trong Zone ..................................................................... 87
Hình 43. Các cluster ở trạng thái hoạt động tốt ............................................................. 88
Hình 44. Hai trạng thái của Host .................................................................................... 88
Hình 45. System VMs ở trạng thái hoạt động tốt. ......................................................... 89
Hình 46. Register ISO panel .......................................................................................... 89
Hình 47. Add Instance panel .......................................................................................... 91
Hình 48. Console window của máy ảo. ......................................................................... 92
Hình 49. Sources Nat service ......................................................................................... 93
Hình 50. Storage tab ....................................................................................................... 94
Hình 51. Tab Template .................................................................................................. 95
Hình 52. Tab Infrastructure ............................................................................................ 96
Nguyễn Nam Hà – BK15BMMT
Nguyễn Nam Hà – BK15BMMT
DANH MỤC TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN
Từ viết tắt Nghĩa tiếng Anh
IT
Nghĩa tiếng Việt
Information Technology
Công nghệ thông tin
VPS
Virtual Private Server
Máy chủ riêng ảo
IaaS
Infrastructure as a Service
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ụ
VM
Virtual Machine
Máy ảo
OS
Operating System
Hệ điều hành
Storage Area Network
Mạng lưu trữ
Virtual Local Area Network
Mạng nội bộ ảo
Network Interface Card
Card mạng
Distributed Denial Of Service
Tấn công từ chối dịch vụ
VPN
Virtual Private Network
Mạng riêng ảo
API
Application Programming Interface
Giao diện lập trình ứng dụng
Dynamic Host Configuration
Giao thức cấu hình động máy
Protocol
chủ
NAT
Network Address Translation
Biên dịch địa chỉ mạng
NFS
Network File System
Giao thức chia sẻ file qua mạng
LVS
Linux virtual server
Giải pháp load balancing
DB
Database
Cơ sở dữ liệu
SAN
VLAN
NIC
DDOS
DHCP
Nguyễn Nam Hà – BK15BMMT
MỞ ĐẦU
Trong những năm gần đây, cụm từ “Cloud computing” đang ngày càng trở nên
phổ biến. Những ứng dụng như Google Drive, Dropbox, Office 365 xuất hiện hầu như
trên tất cả máy tính cá nhân và mang lại những tiện ích vơ cùng lớn cho người sử dụng.
Cịn với các cơng ty, doanh nghiệp, việc có được một nền tảng cơ sở hạ tầng công nghệ
thong tin tin cậy, giá cả đầu tư và các chi phí dài hạn như nâng cấp, bảo trì, sửa chữa,..
hợp lí cũng là mơt điều không thể thiếu. Với nền tảng Cloud Computing, những yêu
cầu của các doanh nghiệp có thể được đáp ứng. Và theo xu hướng công nghệ mới này,
dần dần chúng ta sẽ thấy các doanh nghiệp khơng cịn sử dụng những tủ rack, những
server, PC,.. nữa, mà thay vào đó là các hạ tầng ảo: tủ rack ảo, server ảo,.. Họ cũng
không cần quan tâm nhiều đến hạ tầng công nghệ thơng tin nữa, đơn giản chỉ cần trả
chi phí tương đương và sử dụng, dành thời gian và nhân lực cho mục tiêu chính của
cơng ty. Đồng thời, đây cũng là một cơ hội lớn mở ra với các doanh nghiệp kinh doanh
và cung cấp dịch vụ Cloud Computing.
Vậy “Cloud Computing” là gì, các giải pháp nào cho Cloud Computing và việc
triển khai trong thực tế với doanh nghiệp như thế nào? Đồng thời trong khuôn khổ đồ
án này, em xin được tiếp cận với vai trò một nhà cung cấp dịch vụ Cloud Computing
và từng bước tháo gỡ các vấn đề để đi đến xây dựng một hệ thống cung cấp dịch vụ
Cloud Computing hồn chỉnh. Vì những lí do đó, em đã chọn đề tài: “Xây dựng và
triển khai hệ thống Cloud Computing” cho đồ án tốt nghiệp của mình.
Nguyễn Nam Hà – BK15BMMT
TÓM TẮT ĐỒ ÁN
Đồ án với đề tài: “Xây dựng và triển khai hệ thống Cloud Computing” ngoài
việc giới thiệu tổng quan về Cloud Computing và các giải pháp Cloud Computing, sẽ
đi sâu vào một giải pháp opensources cho Cloud Computing, đó là Cloudstack.
Nội dung đồ án chia làm 3 chương:
Chương I: Tổng quan về điện toán đám mây và các cơng nghệ ảo hóa
Chương II: Cung cấp dịch vụ cơng nghệ thơng tin trên nền điện tốn đám mây
Chương III: Triển khai cung cấp dịch vụ hạ tầng trên nền điện toán đám mây
với Cloudstack.
Nguyễn Nam Hà – BK15BMMT
CHƯƠNG I. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1.
Giới thiệu về “Điện toán đám mây”
Điện toán đám mây (cloud computing) hay cịn gọi là điện tốn máy chủ ảo nơi
các tính tốn được “định hướng dịch vụ” và phát triển dựa vào Internet. Cụ thể hơn,
trong mơ hình điện tốn đám mây, tất cả các tài nguyên, thông tin, và software đều
được chia sẻ và cung cấp cho các máy tính, thiết bị, người dùng dưới dạng dịch vụ trên
nền tảng một hạ tầng mạng công cộng (thường là mạng Internet). Các users sử dụng
dịch vụ như cơ sở dữ liệu, website, lưu trữ, … trong mơ hình Cloud Computing khơng
cần quan tâm đến vị trí địa lý cũng như các thông tin khác của hệ thống mạng đám mây
– hay nói một cách khác: “điện tốn đám mây trong suốt đối với người dùng”.
Người dùng cuối truy cập và sử dụng các ứng dụng đám mây thông qua các ứng dụng
như trình duyệt web, các ứng dụng mobile, hoặc máy tính cá nhân thơng thường. Hiệu
năng sử dụng phía người dùng cuối được cải thiện khi các phần mềm chuyên dụng, các
cơ sở dữ liệu được lưu trữ và cài đặt trên hệ thống máy chủ ảo trong môi trường điện
toán đám mây trên nền của “data center”.
Thuật ngữ Cloud Computing đã xuất hiện từ khá lâu và từ khi xuất hiện nó đã
thu hút rất nhiều nhà khoa học, trường đại học và các công ty công nghệ thông tin đầu
tư nghiên cứu. Bên cạnh cách hiểu được em đề cập ở trên, còn rất nhiều các định nghĩa
và cách tiếp cận khác nhau về Cloud Computing. Theo thống kê, hiện tại có hơn 200
định nghĩa khác nhau về Cloud Computing. Mỗi nhóm nghiên cứu đưa ra cách hiểu,
cách tiếp cận của riêng mình. Dưới đây là một số ví dụ:
-
Cloud Computing là dịch vụ IT được cung cấp khơng phụ thuộc vào vị trí (“The
cloud is IT as a Service, delivered by IT resources that are independent of
location” - The 451 Group).
-
Cloud Computing cung cấp các tài nguyên IT có khả năng mở rộng và co giãn,
các tài nguyên này được cung cấp dạng dịch vụ cho người dùng thông qua mạng
Internet (“Cloud computing is a style of computing where massively scalable IT-
Nguyễn Nam Hà – BK15BMMT
related capabilities are provided ‘as a service’ across the Internet to multiple
external customers” - Gartner).
Những định nghĩa trên đều là những định nghĩa theo hướng thương mại, từ góc
nhìn của người dùng đầu cuối và dựa theo kinh nghiệm làm việc với Cloud Computing
của các cơng ty này. Theo đó tính năng chủ yếu của Cloud Computing là cung cấp cơ
sở hạ tầng và các ứng dụng dưới dạng dịch vụ có thể sử dụng được.
Đứng ở góc nhìn kỹ thuật cũng có khá nhiều khái niệm khác nhau, trong đó có
hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều
điểm tương đồng.
Theo Ian Foster: Cloud Computing là một mơ hình điện tố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 tố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 ngồi thơng qua Internet (“A
large-scale distributed computing paradigm that is driven by economies of scale, in
which a pool of abstracted, virtualized, dynamically scalable, managed computing
power, storage, platforms, and services are delivered on demand to external customers
over the Internet”)
Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý 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.
(“A Cloud is a type of parallel and distributed system consisting of a
collection of interconnected and virtualised computers that are dynamically
provisioned and presented as one or more unified computing resources based on
service-level agreements established through negotiation between the service provider
and consumers”)
Nguyễn Nam Hà – BK15BMMT
Cả hai định nghĩa
ĩa này
n đều định nghĩa Cloud Computing làà m
một hệ phân bổ,
cung cấp các dạng
ng tài nguyên ảo dưới dạng dịch vụ theo nhu cầuu ngư
người sử dụng một
cách linh động
ng trên mơi trường
trư
Internet.
Hình 1.Góc nhìn kĩ thuật về Cloud Computing
2. Các tính chất và lợi
l ích khi sử dụng điện tốn đám mây
Cloud Computing có các tính chất
ch cơ bản và các mơ hình triểnn khai, mơ hình ddịch vụ
được thể hiện
n trong hình sau:
Nguyễn Nam Hà – BK15BMMT
Hình 2. NIST Visual Model of Cloud Computing Definition
2.1.
Các tính chất cơ bản của Cloud Computing
2.1.1. Broad network access (Truy xuất diện rộng)
Cloud Computing cung cấp các dịch vụ bằng cách thơng qua mơi trường Internet
public. Vì thế chỉ cần người dùng có kết nối Internet là có thể sử dụng dịch vụ. Đồng
thời, Cloud Computing khơng địi hỏi khả năng xử lí cao ở phía khách hàng, do đó
người dùng có thể truy xuất bằng rất nhiều các thiết bị như PC, laptop, điện thoại,…
Với Cloud Computing sẽ không cịn hạn chế về mặt địa lí nữa, tất cả khách hàng đều
có thế sử dụng dịch vụ ở bất cứ đâu, điều kiện cần duy nhất chỉ là kết nối Internet.
2.1.2. Rapid Elasticity (Khả năng co giãn)
Đây là tính chất đặc biệt quan trọng và mang lại lợi thế lớn nhất cho Cloud
Computing. Đây là khả năng mở rộng và thu nhỏ hệ thống tùy theo nhu cầu người sử
dụng. Nếu nhu cầu của người dùng thấp, hệ thống sẽ giảm bớt tài nguyên để tránh dư
thừa và tận dụng cho các người dùng khác. Nếu nhu cầu của người dùng cao, hệ thống
Nguyễn Nam Hà – BK15BMMT
sẽ phân bổ thêm tài nguyện cho họ, tất nhiên là trong hạn mức đã thỏa thuận giữa bên
cung cấp dịch vụ và khách hàng.
Một ví dụ: khách hàng thuê một VPS với 4CPU để cung cấp web service, vào thời
gian ít người truy cập web, VPS đó chỉ sử dụng 1CPU. Khi đó hệ thống của nhà cung
cấp sẽ ngắt bớt các CPU dư thừa để tối ưu việc tiết kiệm sử dụng tài nguyên, hoặc có
thể sử dụng năng lực xử lí đó cho một VPS khác đang yêu cầu tải cao. Còn vào thời
gian nhiều người truy cập, yêu cầu xử lí tăng lên, hệ thống sẽ cấp đủ CPU cho VPS để
đảm bảo đủ khả năng xử lí. Tất nhiên số CPU tối đa cấp cho khách hàng vẫn là 4. Nếu
khách hàng muốn sử dụng thêm CPU sẽ phải trả thêm phí cho phần vượt mức đó.
Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để
tài nguyên dư thừa, phục vụ được nhiều khách hàng. Đối với người sử dụng dịch vụ,
khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự
dùng.
2.1.3. Measured Service (Điều tiết dịch vụ)
Hệ thống Cloud Computing tự động kiểm soát và tối ưu hóa việc sử dụng tài
nguyên như dung lượng lưu trữ, đơn vị xử lý, băng thông. Lượng tài nguyên sử dụng
có thể được kiểm sốt, theo dõi và báo cáo một cách minh bạch cho cả phía nhà cung
cấp dịch vụ và người sử dụng.
2.1.4. On-demand self-service (Tự phục vụ theo nhu cầu)
Với những khách hàng của dịch vụ Cloud Computing, họ chỉ cần gửi yêu cầu
thông qua giao diện web của nhà cung cấp dịch vụ, hệ thống sẽ đáp ứng yêu cầu của
người dùng. Tất cả các yêu cầu về server như CPU, RAM, GPU, bandwidth,.. sẽ rất dễ
dàng được đáp ứng chỉ với vài thao tác lựa chọn trên giao diện dịch vụ. Trong quá trình
sử dụng, các yêu cầu phát sinh như tăng thời gian thuê dịch vụ, tăng thêm cấu hình, hay
tăng dung lượng lưu trữ đều có thế được đáp ứng một cách dễ dàng. Chỉ cần người
dùng có một kết nối Internet và đương nhiên là khả năng chi trả.
2.2.
Các lợi ích của Cloud Computing
Nguyễn Nam Hà – BK15BMMT
Với những tính chất kể trên, Cloud Computing mang lại những lợi ích rất cơ bản
và đặc trưng như:
-
Tăng sự linh hoạt của hệ thống (Increased Flexibility): mỗi khi cần thêm hay bớt
một dịch vụ thành phần sẽ tốn rất ít thời gian.
-
Sử dụng tài nguyên theo yêu cầu (IT Resources on demand): tùy thuộc nhu cầu
của người sử dụng mà nhà cung cấp sẽ phân bổ tài nguyên cho họ.
-
Tăng khả năng sẵn sàng của hệ thống (Increased availability): các ứng dụng và
dịch vụ được cân bằng động để đảm bảo tính khả dụng. Khi một trong các thành
phần phần cứng bị hư hỏng sẽ không làm ảnh hưởng đến hệ thống, chỉ suy giảm
tài nguyên hệ thống.
-
Tiết kiệm phần cứng (Hardware saving): mơ hình truyền thống trong nhiều
trường hợp cần một hệ thống riêng biệt cho mỗi tác vụ, dịch vụ. Điều này gây ra
lãng phí, trong mơ hình “Điện tốn đám mây”, các tài ngun IT được quản lý
để đảm bảo sự khơng lãng phí này.
-
Cung cấp các dịch vụ với độ sẵn sang gần như 100%
-
Trả theo nhu cầu sử dụng thực tế (Paying-as-you-go): mơ hình
Cloud
Computing dễ dàng tích hợp với một hệ thống billing để thực hiện việc tính
cước dựa theo dung lượng người dùng đối với các tài nguyên như tốc độ CPU,
dung lượng RAM, dung lượng HDD,…
Mơ hình Cloud Computing khắc phục được 2 điểm yếu của mơ hình tuyền
thơng về khả năng mở rộng và độ linh hoạt. Các doanh nghiệp có thể triển khai
ứng dụng và dịch vụ nhanh chóng, chi phí thấp hơn và ít rủi ro hơn.
2.3.
Các mơ hình Cloud Computing
Các mơ hình Cloud Computing được chia làm 2 loại
-
Các mơ hình triển khai: phân loại cách thức triển khai dịch vụ
Computing đến khách hàng
Nguyễn Nam Hà – BK15BMMT
Cloud
-
Các mơ hình dịch vụ: phân loại các dịch vụ của các nhà cung cấp dịch vụ Cloud
Computing
2.3.1. Các mô hình dịch vụ của Cloud Computing (Service Models)
Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại
dịch vụ khác nhau. Tuy nhiên có ba loại dịch vụ Cloud Computing 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 3. Các loại dịch vụ Cloud Computing
2.3.1.1.
Infrastructure as a Service – IaaS
Trong loại dịch vụ này, khách hàng được cung cấp những tài nguyên máy tính cơ
bản (như bộ xử lý, dung lượng lưu trữ, các kết nối mạng…). Khách hàng sẽ cài hệ điều
hành, triển khai ứng dụng và có thể nối các thành phần như tường lửa và bộ cân bằng
tải. Nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải
quản lý hệ điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống, các kết nối giữa
các thành phần.
2.3.1.2.
Platform as a Service – PaaS
Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng. Khách
hàng sẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường phát triển
Nguyễn Nam Hà – BK15BMMT
được cung cấp hoặc cài đặt các ứng dụng sẵn có trên nền platform đó. Khách hàng
khơng cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng,
máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát triển ứng dụng nhưng
quản lý các ứng dụng mình cài đặt hoặc phát triển.
2.3.1.3.
Software as a Service – SaaS
Đây là mơ hình dịch vụ mà trong đó nhà cung cấp dịch vụ sẽ cung cấp cho khách
hàng một phần mềm dạng dịch vụ hoàn chỉnh. Khách hàng chỉ cần lựa chọn ứng dụng
phần mềm nào phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng Cloud. Mơ
hình này giải phóng người dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều
hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng
luôn sẵn sàng và hoạt động ổn định.
Hình 4. Mơ hình SPI
2.3.2. Các mơ hình triển khai của Cloud Computing
2.3.2.1.
Public Cloud
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng
rộng rãi. Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ và các
Nguyễn Nam Hà – BK15BMMT
ứng dụng của ngườii dùng đều
đ nằm trên hệ thống Cloud. Người sử
ử dụng dịch vụ sẽ
được lợi là chi phí đầu
u tư thấp,
th giảm thiểu rủi ro do nhà cung cấp dịịch vụ đã gánh vác
nhiệm vụ quản lý hệ thống,
ng, cơ sở
s hạ tầng, bảo mật… Một lợii ích khác ccủa mơ hình này
là cung cấp khả năng co giãn
gi (mở rộng hoặc thu nhỏ) theo yêu cầu củủa người sử dụng.
Hình 5. Mơ hình Public Cloud
Tuy nhiên Public Cloud có một
m trở ngại, đó là vấn đề mất kiểm
m sốt vvề dữ liệu và
vấn đề an tồn dữ liệu.
u. Trong mơ hình này mọi
m dữ liệu đều nằm
m trên ddịch vụ Cloud, do
nhà cung cấp dịch vụ Cloud đó bảo
b vệ và quản lý. Chính điềuu này khi
khiến cho khách
hàng, nhấtt là các công ty lớn
l cảm thấy khơng an tồn đối với những
ng ddữ liệu quan trọng
của mình khi sử dụng dịch
ch vụ
v Cloud.
2.3.2.2.
Private Cloud
Trong mơ hình Private Cloud, cơ sở
s hạ tầng và các dịch vụ đượcc xây ddựng để phục
vụ cho một tổ chứcc (doanh nghiệp)
nghi
duy nhất. Điềuu này giúp cho doanh nghi
nghiệp có thể
kiểm soát tối đa đối vớii dữ
d liệu, bảo mật và chất lượng dịch vụ.. Doanh nghi
nghiệp sở hữu
cơ sở hạ tầng và quản
n lý các ứng dụng được triển khai trên đó.
ó. Private Cloud có th
thể
được xây dựng và quản
n lý bởi
b chính đội ngũ IT của doanh nghiệpp ho
hoặc có thể thuê một
nhà cung cấp dịch vụ đảm
đ
nhiệm cơng việc này. Mặc dù tốnn chi phí đđầu tư nhưng
Nguyễn Nam Hà – BK15BMMT
Private Cloud lại cung cấp cho doanh nghiệp khả năng kiểm soát và quản lý chặt chẽ
những dữ liệu quan trọng.
Hình 6. Private Cloud và Public Cloud
2.3.2.3.
Hybrid Cloud
Như đã phân tích ở trên, Public Cloud dễ áp dụng, chi phí thấp nhưng khơng an
tồn. Ngược lại, Private Cloud an tồn hơn nhưng tốn chi phí và khó áp dụng. Do đó
nếu kết hợp được hai mơ hình này lại với nhau thì sẽ khai thác ưu điểm của từng mơ
hình. Đó là ý tưởng hình thành mơ hình Hybrid Cloud.
Hình 7. Sự kết hợp của Private Cloud và Public Cloud
Nguyễn Nam Hà – BK15BMMT
Hybrid Cloud là sự kết
k hợp củaa Public Cloud và Private Cloud. Trong đó doanh
nghiệp sẽ “out-source”
source” các chức
ch năng nghiệp vụ và dữ liệuu không quan tr
trọng, sử dụng
các dịch vụ Public Cloud để
đ giải quyết và xử lý các dữ liệuu này. Đ
Đồng thời, doanh
nghiệp sẽ giữ lại các chứ
ức năng nghiệp vụ và dữ liệu tối quan trọng
ng trong ttầm kiểm
sốt (Private Cloud).
Hình 8. Hybrid Cloud
Mộtt khó khăn khi áp dụng
d ng mơ hình Hybrid Cloud là làm sao tri
triển khai cùng một
ứng dụng trên cả hai phía Public và Private Cloud sao cho ứng dụng
ng đó có th
thể kết nối,
trao đổi dữ liệu để hoạtt động
đ
một cách hiệu quả.
Nguyễn Nam Hà – BK15BMMT
Hình 9. Triển khai ứng dụng trên Hybrid Cloud
Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay
Hybrid Cloud tùy theo nhu cầu cụ thể. Mỗi mơ hình đều có điểm mạnh và yếu của nó.
Các doanh nghiệp phải cân nhắc đối với các mơ hình Cloud Computing mà họ chọn.
Và họ có thể sử dụng nhiều mơ hình để giải quyết các vấn đề khác nhau. Nhu cầu về
một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh
việc phải mua thêm thiết bị để giải quyết một nhu cầu tạm thời. Tương tự, nhu cầu về
một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng
dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud.
3. Các cơng nghệ ảo hóa (Virtualization Technologies)
Để có được một hệ thống Cloud Computing, một cơng nghệ cốt lõi khơng thể thiếu
đó là các cơng nghệ ảo hóa. Đây là một bước đệm chuyển tiếp từ mơ hình truyền thống
sang Cloud Computing.
3.1.
Một số khái niệm
Nguyễn Nam Hà – BK15BMMT
Trước khi đi vào chi tiết các công nghệ ảo hóa xin được sơ lược một số khái niệm
liên quan đến việc xử lý trên tài nguyên phần cứng của một hệ điều hành. 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: đây là không gian được bảo vệ nơi mà “nhân” của hệ điều hành
xử lý và tương tác trực tiếp với phần cứng. Một 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: đây là khơng gian nơi các ứng dụng chạy, ví dụ Office, MySQL,
hay Exchange server. 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, ví dụ đĩa cứng hay
network interface, ứng dụng đó 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-process” và cũng chiếm dụng tài nguyên hệ thống (CPU, RAM, …).
Một khái niệm khác cũng cần được biết đến đó là hypervisor. Hypervisor 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ĐH 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 máy
ảo-VM có thể chạy các hệ điều hành độc lập.
3.2.
Các kiến trúc ảo hóa
Xét về kiến trúc có thể chia các cơng nghệ ảo hóa thành các dạng sau:
3.2.1. Kiến trúc ảo hóa Hosted-based:
Gọi là kiến trúc hosted hypervisor, kiến trúc này sử dụng một lớp hypervisor chạy trên
nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia
tài nguyên tới các máy ảo. Nếu có thể xem hypervisor này là một lớp phần mềm riêng
biệt, thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ 3 so với phần cứng
máy chủ.
Nguyễn Nam Hà – BK15BMMT
Hình 10. Mơ hình Hosted-based
Một hệ thống ảo hóa sử dụng
d
mơ hình Hosted-based đượcc chia làm 4 llớp hoạt động:
- Nền tảng phần cứng:
ng: Bao gồm
g
các thiết bị nhập xuất, thiết bị lưu tr
trữ (Hdd, Ram),
bộ vi xử lý CPU, và các thiết
thi bị khác (các thiết bị mạng,
ng, vi xxử lý đồ họa, âm
thanh…)
- Hệ điều
u hành Host: Hệ
H điều hành này thực hiện việc liên lạcc tr
trực tiếp với phần
cứng, qua đó cung cấp
p các dịch
d vụ và chức năng thông qua hệ điềều hành này.
- Hệ thống
ng virtual machine monitor (hypervisor) : Chạy
Ch trên nềnn ttảng hệ điều hành
Host, các hệ thống
ng này lấy
l tài nguyên và dịch vụ do hệ điềuu hành host cung ccấp,
thực hiện việc quản
n lý, phân
p
chia trên các tài nguyên này.
- Các ứng dụng máy ảo:
ả sử dụng tài nguyên do hypervisor quảnn lý.
Mối liên lạc giữa phần
n cứng
c
và trình điều khiển thiết bị trên hệ đi
điều hành trong kiểu
ảo hóa VMM đượcc mô tả
t như sau. Bước đầu tiên mô phỏng phầnn ccứng: Lớp ảo hóa
hypervisor sẽ tạo ra mộtt phân vùng trên ổ đĩa cho các máy ảo.
o. Phân vùng này bao ggồm
các phần cứng ảo như ổ đĩa, bộ nhớ…. Hypervisor xây dựng mốii liên llạc giữa lớp ảo
hóa với hệ điều
u hành: Khi một
m máy ảo truy xuất tài ngun thì lớpp hypervisor ssẽ thay
thế máy ảo đó gởii các yêu cầu
c tới hệ điều hành máy chủ để yêu cầuu th
thực hiện. Khi hệ
điều hành nhận đượcc các u cầu
c này. Nó liên lạc với trình điềuu khi
khiển thiết bị phần
cứng. Các trình điều khiểển thiết bị phần cứng liên lạc đến các phần cứ
ứng trên máy thực.
Nguyễn Nam Hà – BK15BMMT
Q trình này sẽ xảy
y ra ngược
ngư lại khi có các trả lời từ các phần cứng
ng đđến hệ điều hành
chủ. Một số hệ thống
ng hypervisor dạng
d
Hosted-base có thể kể đến như Vmware
Server,Microsoft Virtual PC, máy ảo Java.
3.2.2. Kiến trúc ảo
o hóa Hypervisor-based
Hypervisor
Cịn gọi là kiến trúc bare-metal
metal hypervisor. Trong mơ hình này, llớp phần mềm
hypervisor chạy trực tiếp
p trên nền
n tảng phần cứng của máy chủ,, không thông qua bbất kì
một hệ điều hành hay mộ
ột nền tảng
ng nào khác. Qua đó, các hypervisor này có kh
khả năng
điều khiển, kiểm sốt phầần cứng của máy chủ. Đồng thời, nó cũng
ũng có kh
khả năng quản lý
các hệ điều hành chạy
y trên nó. Nói cách khác, các hệ
h điều hành sẽ chạy trên một lớp
nằm
m phía trên các hypervisor dạng
d
bare-metal.
Hình 11. Kiến trúc Hypervisor-based
Một hệ thống ảo hóa sử dụng
d
nền tảng Bare-metal hypervisor sẽ gồm
m 3 llớp chính:
- Nền tảng phần cứng: Bao gồm
g
các thiết bị nhập xuất, thiết bị lưu tr
trữ (Hdd, Ram), bộ
vi xử lý CPU, và các thiếết bị khác (các thiết bị mạng, vi xử lý đồ họa,
a, âm thanh…)
- Lớp nền tảng ảo hóa Virtual Machine Monitor (hypervisor), thực
th c hi
hiện việc liên lạc
trực tiếp với nền tảng phầần cứng phía dưới, quản lý và phân phốii tài nguyên cho các hhệ
điều hành khác nằm
m trên nó.
Nguyễn Nam Hà – BK15BMMT