BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THƠNG
TÌM HIỂU, MƠ HÌNH HĨA VÀ MƠ PHỎNG
CLOUD COMPUTING
THÁI THANH SƠN
Hà Nội, 11/2009
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THƠNG
TÌM HIỂU, MƠ HÌNH HĨA VÀ MƠ PHỎNG
CLOUD COMPUTING
THÁI THANH SƠN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN THÚC HẢI
Hà Nội, 11/2009
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là nghiên cứu của chính bản thân. Các nghiên cứu
trong luận văn này dựa trên những tổng hợp lý thuyết và hiểu biết thực tế của mình,
khơng sao chép từ bất kỳ một luận văn nào khác. Mọi thơng tin trích dẫn đều được
tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng các tài liệu tham khảo.
Tơi xin chịu hồn toàn trách nhiệm với những nội dung được viết trong luận văn
này.
Học viên thực hiện
Thái Thanh Sơn
Thái Thanh Sơn
1
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc đến tất cả mọi người đã giúp đỡ, hỗ trợ thực hiện
luận văn này, xin cảm ơn Viện Đào tạo Sau Đại học, Viện Công nghệ Thông tin và
Truyền thông trường Đại học Bách Khoa Hà Nội đã cho phép và tạo điều kiện để
em thực hiện luận văn này.
Luận văn này sẽ khơng thể hồn thành nếu khơng có sự giúp đỡ và chỉ bảo tận tình
của thầy giáo, giáo sư Nguyễn Thúc Hải, người thầy hướng dẫn của em. Em xin
chân thành biết ơn về những chỉ bảo, định hướng nghiên cứu thực hiện, hỗ trợ, tạo
những điều kiện tốt nhất cho em trong suốt quá trình thực hiện đề tài.
Con xin bày tỏ lòng biết ơn sâu sắc đến Bố, Mẹ, những bậc sinh thành đã chịu
thương, chịu khó ni dưỡng, hỗ trợ, động viên, ủng hộ con trong những lúc khó
khăn để con có được như ngày hôm nay.
Em xin chân thành cảm ơn tất cả quý thầy cô trong Viện Công nghệ Thông tin và
Truyền thơng đã tận tình chỉ bảo, rèn luyện, truyền đạt những tri thức, kỹ năng, kinh
nghiệm quý báu cho em trong suốt 2 năm học vừa qua.
Học viên thực hiện
Thái Thanh Sơn
Thái Thanh Sơn
2
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
MỤC LỤC
DANH MỤC HÌNH VẼ ............................................................................................7
CÁC CHỮ VIẾT TẮT ..............................................................................................9
LỜI NĨI ĐẦU .........................................................................................................10
CHƯƠNG 1: TỔNG QUAN VỀ CLOUD COMPUTING ..................................13
1.1 Cloud Computing ..........................................................................................14
1.2 Sơ lược lịch sử Cloud Computing ................................................................16
1.2.1 Client/Server Computing: Tập trung ứng dụng và lưu trữ .......................16
1.2.2 Peer-to-Peer Computing: Chia sẻ tài nguyên ...........................................17
1.2.3 Distributed Computing: Cung cấp sức mạnh tính tốn nhiều hơn ...........17
1.2.4 Collaborative Computing: Làm việc nhóm ..............................................17
1.2.5 Cloud Computing: Bước kế tiếp của sự cộng tác .....................................18
1.3 Ưu điểm của Cloud Computing ...................................................................18
1.3.1 Giảm chi phí phần cứng cho người dùng .................................................18
1.3.2 Hiệu năng xử lý nâng cao .........................................................................18
1.3.3 Giảm chi phí đầu tư cơ sở hạ tầng ............................................................18
1.3.4 Giảm chi phí bảo trì hệ thống ...................................................................19
1.3.5 Sử dụng phần mềm với chi phí thấp hơn ..................................................19
1.3.6 Cập nhật nhanh hơn ..................................................................................19
1.3.7 Không gian lưu trữ lớn .............................................................................20
1.3.8 Nâng cao độ an toàn .................................................................................20
1.3.9 Tăng tính tương thích................................................................................20
1.3.10 Cộng tác nhóm ........................................................................................20
1.4 Nhược điểm của Cloud Computing .............................................................21
1.4.1 Yêu cầu phải có kết nối Internet ...............................................................21
1.4.2 Không làm việc tốt với các kết nối chậm .................................................21
1.4.3 Tốc độ xử lý có thể chậm .........................................................................21
Thái Thanh Sơn
3
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.4.4 Tính năng có thể bị giới hạn .....................................................................21
1.4.5 Dữ liệu lưu trữ có thể khơng an tồn ........................................................22
CHƯƠNG 2: KIẾN TRÚC VÀ CÔNG NGHỆ HỖ TRỢ CLOUD
COMPUTING .........................................................................................................23
2.1 Kiến trúc Cloud Computing .........................................................................23
2.1.1 Khung SPI cho Cloud Computing ............................................................23
2.1.2 Mô hình dịch vụ của Cloud Computing ...................................................24
2.1.2.1 SaaS-Mơ hình phần mềm như một dịch vụ .......................................24
2.1.2.2 PaaS-Mơ hình nền tảng như một dịch vụ...........................................25
2.1.2.3 IaaS-Mơ hình hạ tầng như là một dịch vụ..........................................26
2.1.3 Các mơ hình triển khai Cloud Conputing .................................................27
2.1.3.1 Public Clouds .....................................................................................28
2.1.3.2 Private Clouds ....................................................................................29
2.1.3.3 Hybrid Clouds ....................................................................................29
2.2 Các công nghệ hỗ trợ Cloud Computing .....................................................30
2.2.1 Các thiết bị truy cập Cloud Computing ....................................................31
2.2.2 Trình duyệt và mơ hình thin clients ..........................................................32
2.2.3 Truy cập băng thơng tốc độ cao ................................................................32
2.2.4 Data Centers và Server Farms ..................................................................32
2.2.5 Thiết bị lưu trữ ..........................................................................................33
2.2.6 Virtualization-Cơng nghệ ảo hóa ..............................................................33
2.2.7 APIs- Giao diện lập trình ứng dụng ..........................................................35
2.2.8 Web service và Service Oreinted Architecture (SOA) .............................37
2.2.9 Web 2.0 .....................................................................................................38
2.2.10 Programming model ...............................................................................39
2.3 Ví dụ về Cloud Computing ...........................................................................39
2.3.1 Amazon Web Services (IaaS) ...................................................................39
2.3.2 Google (SaaS, PaaS) .................................................................................40
2.3.3 Microsoft Azure Services Platform (PaaS) ..............................................41
Thái Thanh Sơn
4
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
CHƯƠNG 3: MƠ HÌNH HĨA VÀ MƠ PHỎNG MƠI TRƯỜNG CLOUD
COMPUTING .........................................................................................................42
3.1 Đặt vấn đề .......................................................................................................42
3.2 Các khái niệm và thuật ngữ chính ...............................................................44
3.2.1 User ...........................................................................................................44
3.2.2 Broker .......................................................................................................45
3.2.3 Tài nguyên ................................................................................................45
3.2.4 Kiến trúc Market-Oriented Cloud.............................................................46
3.2.5 Federation Cloud Computing-Liên hiệp Cloud Computing .....................49
3.3 Kiến trúc CloudSim.......................................................................................51
3.3.1 SimJava .....................................................................................................51
3.3.2 GridSim.....................................................................................................53
3.3.3 CloudSim ..................................................................................................54
3.4 Mô hình tài ngun- mơ phỏng đa tác vụ và đa xử lý ................................57
3.4.1 Mô phỏng lập lịch tài nguyên time-shared ...............................................58
3.4.2 Mô phỏng lập lịch tài nguyên space-shared .............................................62
3.5 Mô hình hóa Clouds ......................................................................................65
3.5.1 Mơ hình hóa VM allocation ......................................................................67
3.5.2 Mơ hình hóa Cloud Market.......................................................................69
3.6 Thiết kế và cài đặt CloudSim .......................................................................70
3.6.1 Các lớp chính của CloudSim ....................................................................70
3.6.2 Luồng và thực thể .....................................................................................78
3.6.3 Truyền thông giữa các thực thể ................................................................80
3.7 Các thử nghiệm và đánh giá .........................................................................81
3.7.1 Thử nghiệm mô phỏng khơng tải..............................................................81
3.7.2 Thử nghiệm có tải .....................................................................................85
CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN ..........................................................90
4.1 Đánh giá ..........................................................................................................90
4.2 Hướng phát triển, mở rộng của luận văn ....................................................90
Thái Thanh Sơn
5
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
TÀI LIỆU THAM KHẢO ......................................................................................92
TÓM TẮT LUẬN VĂN ..........................................................................................95
SUMMARY .............................................................................................................96
Thái Thanh Sơn
6
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
DANH MỤC HÌNH VẼ
Hình 1.1: Chi tiêu cho CNTT trên tồn thế giới năm 2008 và 2012 ........................15
Hình 2.1: Mơ hình dịch vụ SPI .................................................................................23
Hình 2.2: Public Cloud ..............................................................................................29
Hình 2.3: Hybrid Cloud.............................................................................................30
Hình 2.4: Kiến trúc các cơng nghệ hỗ trợ Cloud Computing ...................................31
Hình 2.5: Mơi trường Sun xVM hypervisor .............................................................35
Hình 2.6: API hỗ trợ Cloud Computing ....................................................................36
Hình 3.1: Mơ hình kiến trúc Kiến trúc Market-Oriented Cloud ...............................49
Hình 3.2: Các đám mây và mạng liên kết giữa chúng thơng qua Cloud Exchange..50
Hình 3.3. Kiến trúc mơ-đun của GridSim .................................................................54
Hình 3.4: Kiến trúc lớp của CloudSim.....................................................................56
Hình 3.5: Thuật tốn lập lịch chia sẻ tài nguyên time-shared ...................................59
Hình 3.6: Phân bổ PE cho Cloudlet với lập lịch time-shared ...................................60
Hình 3.7: Giản đồ lập lịch time-shared của các Cloudlets ........................................61
Hình 3.8: Thuật tốn lập lịch chia sẻ tài nguyên space-shared .................................63
Hình 3.9: Phân bổ PE cho Cloudlet với lập lịch time-shared ...................................63
Hình 3.10: Giản đồ lập lịch space-shared của các Cloudlets ....................................65
Hình 3.11: Các chính sách lập lịch cho các VMs .....................................................68
Hình 3.12: Lớp VMMAllocationPolicy và các lớp mở rộng của nó ........................73
Hình 3.13: Lớp VMScheduler và các lớp mở rộng của nó .......................................74
Hình 3.14: Lớp VMProvisioner và các lớp mở rộng của nó.....................................75
Hình 3.15: Lớp BWProvisioner và các lớp mở rộng của nó.....................................76
Hình 3.16: Lớp MemoryProvisioner và các lớp mở rộng của nó .............................77
Hình 3.17: Biểu đồ lớp của CloudSim ......................................................................78
Hình 3.18: Luồng dữ liệu mơ phỏng .........................................................................80
Hình 3.19: Các bước tạo một Data Center ................................................................82
Thái Thanh Sơn
7
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
Hình 3.20: Tràn bộ nhớ Heap trong q trình mơ phỏng với 90000 host.................83
Hình 3.21: Tràn bộ nhớ Heap trong quá trình mơ phỏng với 100000 host...............84
Hình 3.22: Thời gian thực hiện mơ phỏng ................................................................85
Hình 3.23: Bộ nhớ sử dụng trong quá trình thử nghiệm ...........................................85
Hình 3.24: Kịch bản thử nghiệm mơ phỏng có tải ....................................................86
Hình 3.25: Các bước tạo thực hiện mơ phỏng CloudSim .........................................87
Hình 3.26: Thực thi các tác vụ với lập lịch space-shared .........................................88
Hình 3.27: Thực thi các tác vụ với lập lịch time-shared ...........................................89
Thái Thanh Sơn
8
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
CÁC CHỮ VIẾT TẮT
Từ viết tắt
API
AWS
DASD
EC2
IaaS
MPI
NAS
PaaS
PE
PC(s)
QoS
SaaS
SOA
SAN
URL
VM(s)
Thái Thanh Sơn
Từ gốc
Application Programming Interface
Amazon Web Service
Direct Access Storage Device
Elastic Compute Cloud
Infrastructure as a Service
Message Passing Interface
Network-Attached Storage
Platform as a Service
Processing Element
Personal Computer(s)
Quality of service
Software as a Service
Service-Oriented Architecture
Storage Area Network
Uniform Resource Locator
Virtual Machine(s)
9
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
LỜI NĨI ĐẦU
Máy vi tính đã trở thành một phần tất yếu của cuộc sống. Chúng ta cần máy vi tính
ở khắp mọi nơi, nó được sử dụng cơng việc, nghiên cứu hoặc trong bất kỳ lĩnh vực
nào. Cũng như việc sử dụng máy vi tính trong cuộc sống của chúng ta ngày càng gia
tăng, việc tính tốn nguồn lực mà chúng ta cần cũng tiếp tục tăng. Đối với các công
ty như Google và Microsoft, việc khai thác các nguồn tài nguyên trên khi họ cần
không phải là một vấn đề. Nhưng khi nói đến các doanh nghiệp nhỏ hơn, thì điều đó
có thể trở thành một yếu tố rất lớn. Với sự đầu tư cơ sở hạ tầng đến các vấn đề như
máy móc bị hỏng, ổ cứng bị hư, phần mềm có lỗi,…Điều này có thể gây đau đầu
cho một tổ chức như vậy. Cloud Computing- điện toán đám mây, cung cấp một giải
pháp cho tình trạng này.
Cloud Computing là một mơ hình dịch chuyển, trong đó tính tốn được dịch chuyển
từ máy tính cá nhân và thậm chí cả những máy chủ ứng dụng của các doanh nghiệp
riêng lẻ vào một Cloud tính tốn. Một Cloud là một máy chủ ảo có thể cung cấp các
tài nguyên tính tốn khác nhau cho các khách hàng. Người dùng của hệ thống này
chỉ cần quan tâm những dịch vụ tính tốn theo u cầu. Chi tiết thực hiện như thế
nào để thu được kết quả là ẩn với người sử dụng. Dữ liệu và các dịch vụ được cung
cấp nằm trong các Data Center có thể mở rộng và có thể được truy cập từ bất kỳ
thiết bị ở mọi nơi trên thế giới.
Hiện nay, nhiều nhà cung cấp Cloud Computing đã xuất hiện và có một sự tăng
trưởng đáng kể trong lĩnh vực này. Google, Microsoft, Yahoo, IBM và Amazon là
những nhà cung cấp Cloud Computing điển hình. Cloud Computing được sử dụng
trong rất nhiều các lĩnh vực như máy chủ web, xử lý song song theo lô, đồ họa, mơ
hình tài chính, phân tích gen,…
Tại Việt Nam, ngày 24/9/2008, Công ty IBM đã công bố thành lập trung tâm Cloud
Computing đặt tại Hà Nội và TP Hồ Chí Minh. Trung tâm này quản lý các hoạt
Thái Thanh Sơn
10
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
động điện tốn hoặc cho phép tiếp cận thơng tin và hạ tầng cơng nghệ cần thiết để
khách hàng có thể thiết kế hay triển khai các mơi trường điện tốn riêng của mình.
Trung tâm sẽ phục vụ khách hàng thuộc nhiều lĩnh vực như ngân hàng, viễn thơng,
chính phủ, giáo dục đào tạo và dịch vụ hosting …
Với mục tiêu nghiên cứu, tìm hiểu về Cloud Computing-một xu hướng phát triển
mới của điện toán hiện nay cũng như xem xét đánh giá việc triển khai và áp dụng
Cloud Computing tại Việt Nam, đề tài luận văn “Tìm hiểu, mơ hình hóa và mơ
phỏng Cloud Computing” được em lựa chọn và thực hiện .
Luận văn tập trung vào các vấn đề sau:
• Tìm hiểu về Cloud Computing hiện nay để có một bức tranh tổng quan về
công nghệ, các vấn đề, các phương hướng giải quyết chủ yếu nhằm làm tiền
đề tham khảo cho việc ứng dụng, phát triển Cloud Computing trong tương
lai.
• Tìm hiểu, nghiên cứu mơ phỏng và mơ hình hóa Cloud Computing.
• Thử nghiệm, đánh giá hiệu năng của việc mơ phỏng, mơ hình hóa.
Luận văn được trình bày gồm 4 chương với nội dung như sau:
Chương 1: Tổng quan về Cloud Computing: Giới thiệu sơ lược về lịch sử, bản
chất, những ưu điểm và nhược điểm của Cloud Computing.
Chương 2: Kiến trúc và công nghệ hỗ trợ Cloud Computing: Trình bày kiến trúc
mơ hình dịch vụ, mơ hình triển khai của Cloud Computing. Đồng thời nêu ra một số
các công nghệ, nền tảng hỗ trợ cho Cloud Computing.
Chương 3: Mơ hình hóa và mơ phỏng mơi trường Cloud Computing: Nêu ra bài
toán thực tế về sự cần thiết của một môi trường mô phỏng Cloud Computing đối với
các nhà phát triển. Tập trung đi sâu nghiên cứu các vấn đề liên quan, thử nghiệm
mơ hình hóa và mô phỏng với CloudSim.
Thái Thanh Sơn
11
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
Chương 4. Đánh giá và kết luận: Tóm lược các vấn đề đã nghiên cứu tìm hiểu, đề
ra hướng phát triển trong tương lai.
Thái Thanh Sơn
12
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
CHƯƠNG 1: TỔNG QUAN VỀ CLOUD COMPUTING
Trong một thế giới mà những xu hướng công nghệ mới xuất hiện và mất đi diễn ra
gần như hàng ngày, một trong những xu hướng mới hứa hẹn tuổi thọ hơn là Cloud
Computing-điện toán đám mây, và nó sẽ thay đổi cách thức sử dụng máy tính và
Internet.
Cloud Computing báo hiệu một sự thay đổi lớn trong cách thức chúng ta lưu trữ
thông tin và thực thi các ứng dụng. Thay vì thực thi các chương trình và dữ liệu trên
một máy tính để bàn cá nhân (PCs), tất cả mọi thứ được lưu trữ trong các Cloud
(đám mây)-một tập hợp mờ các computers và servers được truy cập qua Internet.
Cloud Computing cho phép người dùng truy cập vào tất cả các ứng dụng và các tài
liệu của họ từ bất cứ nơi nào trên thế giới, giải phóng người dùng khỏi sự hạn chế
của máy tính để bàn và làm cho các thành viên trong nhóm tại các địa điểm khác
nhau hợp tác làm việc với nhau trở nên dễ dàng hơn.
Với điện toán để bàn truyền thống, người dùng thực thi các bản sao của chương
trình phần mềm trên máy tính riêng của họ. Tài liệu do họ tạo ra được lưu trữ trên
máy tính mà chúng được tạo ra. Mặc dù các tài liệu này có thể được truy cập từ các
máy tính khác trên mạng, nhưng chúng khơng thể được truy cập bởi các máy tính
bên ngồi mạng đó. Những điều này là hình ảnh về một PC-centric.
Với Cloud Computing, các chương trình phần mềm người dùng sử dụng khơng
được thực thi từ máy tính cá nhân, mà được lưu trữ trên các servers truy cập thông
qua Internet. Nếu máy tính của một người dùng bị treo hoặc lỗi, thì phần mềm vẫn
sẵn sàng cho những người khác sử dụng. Đi cùng là các tài liệu do người dùng tạo
ra, chúng được lưu trữ trên một tập các máy chủ truy cập thơng qua Internet. Bất cứ
ai có quyền, khơng chỉ có thể truy cập vào các tài liệu, mà cịn có thể chỉnh sửa và
cộng tác (collaborate) trên các tài liệu này theo thời gian thực.
Thái Thanh Sơn
13
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.1 Cloud Computing
Trước tiên, Cloud Computing không phải là một Network Computing (điện toán
mạng). Với Network Computing, các ứng dụng/tài liệu được lưu trữ trên máy chủ
của một công ty duy nhất và được truy cập qua mạng của công ty. Cloud
Computing lớn hơn rất nhiều. Nó bao gồm nhiều cơng ty, nhiều máy chủ, và nhiều
mạng. Thêm vào đó, khơng giống như Network Computing, các dịch vụ và lưu trữ
của Cloud có thể truy cập từ bất cứ nơi nào trên thế giới thông qua kết nối Internet;
trong khi với Network Computing, chỉ truy cập được thông qua mạng của cơng ty.
Chìa khóa để định nghĩa về Cloud Computing chính là "Cloud". Cloud là một nhóm
lớn các máy tính liên kết với nhau. Những máy tính này có thể là máy tính cá nhân
hoặc các máy chủ mạng (network servers); chúng có thể là cơng cộng (public) hoặc
dành riêng (private).
Trong luận văn này, chúng ta chọn Google là đối tượng quan sát. Từ những khía
cạnh của Google, có sáu tính chất quan trọng của Cloud Computing:
• User-centric: Khi người dùng được kết nối với một Cloud, những gì được
lưu giữ ở đó-tài liệu, bài viết, hình ảnh, ứng dụng, bất cứ điều gì, sẽ trở thành
của họ. Ngồi ra, người dùng cũng có thể chia sẻ nó với những người khác.
• Task-centric: Thay vì tập trung vào ứng dụng và những gì nó có thể làm,
Cloud Computing tập trung vào những gì người dùng cần làm và làm thế nào
các ứng dụng có thể làm điều đó cho người dùng.
• Powerful: Kết nối hàng trăm hoặc hàng ngàn máy tính với nhau trong một
Cloud tạo ra sự dồi dào về sức mạnh tính tốn mà một máy tính để bàn
khơng thể có được.
• Accessible: Với dữ liệu được lưu trữ trong Cloud, người dùng ngay lập tức
có thể truy cập, thu thập thông tin, mà không bị giới hạn về nguồn tài nguyên
duy nhất như trong một máy tính để bàn.
Thái Thanh Sơn
14
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
• Intelligent: Với tất cả những dữ liệu khác nhau được lưu trên các máy tính
trong Cloud, khai phá và phân tích dữ liệu là cần thiết để truy cập thơng tin
một cách thơng minh.
Ví dụ điển hình về các ứng dụng Cloud Computing hiện nay là các ứng dụng được
cung cấp bởi Google như: Google Docs & Spreadsheets, Google Calendar, Gmail,
Picasa,... Tất cả các ứng dụng này được lưu trữ trên máy chủ của Google, có thể
được truy cập bởi bất kỳ người dùng nào có kết nối Internet, và có thể sử dụng cho
cộng tác nhóm từ bất kỳ nơi nào trên thế giới.
Sự quan tâm về Cloud Computing ngày càng tăng bởi các giải pháp của Cloud
Computing cung cấp sức mạnh tính tốn tương tự các siêu máy tính
(supercomputer) với chi phí nhỏ và phục vụ theo yêu cầu của người dùng. Cloud
Computing được dự đốn sẽ có sự tăng trưởng đáng kể trong chi tiêu cho CNTT
trên toàn thế giới. Theo IDC (International Data Corporation), các dịch vụ của Cloud
Computing dự kiến sẽ tăng trưởng với tốc độ tăng trưởng bình quân hàng năm
(CAGR- Compound Annual Growth Rate) 27% và đạt 42 tỉ USD vào năm 2012; chi
tiêu cho các dịch vụ không dự trên Cloud Computing dự kiến sẽ tăng 5%,
Tỷ USD
Chi tiêu về IT của tồn thế giới năm 2008 và 2012
$800
IT cloud services
On-premise IT
$600
$42
27%
$400
$200
$16
$367
$451
2008
2012
$0
5%
Năm
Hình 1.1: Chi tiêu cho CNTT trên toàn thế giới năm 2008 và 2012
Thái Thanh Sơn
15
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
Tóm lại, Cloud Computing mang đến một sự thay đổi từ máy tính đến người dùng,
từ ứng dụng tới tác vụ (task), và từ dữ liệu bị cô lập thành dữ liệu có thể được truy
cập từ bất cứ nơi nào và chia sẻ với bất cứ ai.
1.2 Sơ lược lịch sử Cloud Computing
Cloud Computing bắt nguồn từ Client/Server Computing (điện tốn theo mơ hình
khách/chủ) và Peer-to-Peer Distributed Computing (điện tốn phân tán ngang hàng).
Tất cả đều tập trung vào cách thức lưu trữ tập trung như thế nào để dễ dàng cộng tác
(collaboration) và cách thức nhiều máy tính làm việc cùng nhau như thế nào để gia
tăng khả năng tính tốn.
1.2.1 Client/Server Computing: Tập trung ứng dụng và lưu trữ
Thời kỳ đầu của điện toán (trước những năm 1980 hoặc hơn), tất cả mọi thứ hoạt
động dựa trên mô hình client/server. Tất cả các ứng dụng phần mềm, dữ liệu, và
điều khiển được tập trung trên các mainframe computer (máy tính lớn), được biết
đến như các server.
Người dùng truy cập vào mainframe chỉ khi được cấp phép, và nhân viên IT ( nhân
viên cơng nghệ thơng tin) khơng có thói quen điều khiển truy cập ngẫu nhiên. Ngay
cả trên một mainframe, sức mạnh xử lý cũng bị giới hạn-và nhân viên IT là người
giám sát sức mạnh đó. Truy cập không tức thời, và hai người dùng không thể cùng
truy cập vào cùng một dữ liệu trong cùng một thời điểm.
Thực tế, khi nhiều người chia sẻ một máy tính, ngay cả khi nếu đó là một máy tính
mainframe lớn, thì người dùng cũng cần phải chờ đợi đến lượt phục vụ của mình.
Tóm lại, khơng thể ln ln truy cập tức thì trong mơi trường client/server.
Vì vậy, mơ hình client/server, trong khi cũng cung cấp lưu trữ tập trung, nhưng
khác với mơ hình Cloud Computing ở chỗ nó không tập trung vào User-centric; với
Client/Server Computing, tất cả các hoạt động dựa vào mainframe, chịu sự giám sát
của một máy tính. Nó khơng phải là một user-enabling environment (mơi trường
cho phép người dùng).
Thái Thanh Sơn
16
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.2.2 Peer-to-Peer Computing: Chia sẻ tài nguyên
Peer-to-Peer Computing (điện toán ngang hàng) [1] định nghĩa một kiến trúc mạng,
trong đó mỗi máy tính có khả năng và trách nhiệm tương đương nhau, điều này trái
ngược với kiến trúc mạng client/server truyền thống. Trong mơi trường P2P, mỗi
máy tính là một client và server; khơng có master và slave. P2P cho phép trao đổi
trực tiếp các nguồn tài nguyên và dịch vụ mà không cần một central server (máy
chủ trung tâm) nào.
1.2.3 Distributed Computing: Cung cấp sức mạnh tính tốn nhiều hơn
Một trong những tập con quan trọng nhất của mơ hình P2P là Distributed
Computing (điện tốn phân tán) [2], ở đó các PCs nhàn rỗi trên mạng hoặc trên
Internet được khai thác để cung cấp sức mạnh tính tốn cho các dự án lớn, địi hỏi
xử lý chun sâu. Đó là một khái niệm đơn giản, về chia sẻ chu kỳ (cycle sharing)
giữa nhiều máy tính.
1.2.4 Collaborative Computing: Làm việc nhóm
Từ những ngày đầu của Client/Server Computing tiếp nối qua sự phát triển của P2P
Computing, đã từng có một mong muốn cho nhiều người dùng làm việc đồng thời
trên cùng một máy tính. Mơ hình Collaborative Computing (điện tốn cộng tác) [3]
là động lực đằng sau Cloud Computing, nhưng đã xuất hiện được khoảng hơn một
thập kỷ. Sự cộng tác nhóm (group collaboration) đã sớm được kích hoạt bởi sự kết
hợp của một số công nghệ P2P khác nhau. Mục tiêu là cho phép nhiều người dùng
cộng tác trong các dự án nhóm trực tuyến (group projects online), theo thời gian
thực.
Các hệ thống cộng tác trải dài từ tương đối đơn giản (Lotus Notes và Microsoft
NetMeeting) đến cực kỳ phức tạp (kiến trúc khối xây dựng của hệ thống Groove
Networks). Hầu hết chúng được nhằm vào các tập đoàn lớn, và giới hạn hoạt động
trên các mạng riêng của công ty.
Thái Thanh Sơn
17
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.2.5 Cloud Computing: Bước kế tiếp của sự cộng tác
Với sự phát triển của Internet, khơng cịn giới hạn sự hợp tác nhóm với một mơi
trường mạng của doanh nghiệp, mà vượt ra ngồi ranh giới cơng ty và ranh giới địa
lý. Khái niệm các dịch vụ và tài liệu dựa trên cơ sở đám mây (cloud-based) đã cất
cánh cùng với sự phát triển của các server farms (trung tâm dữ liệu lớn), chẳng hạn
như Google và các cơng ty tìm kiếm khác.
Về cơ sở hạ tầng, IBM, Sun Systems, và các nhà cung cấp lớn khác cung cấp phần
cứng cần thiết để xây dựng những Cloud network (mạng lưới Cloud).
Về phần mềm, hàng chục công ty đang phát triển các ứng dụng và dịch vụ lưu trữ
trên nền tảng Cloud.
1.3 Ưu điểm của Cloud Computing
1.3.1 Giảm chi phí phần cứng cho người dùng
Đây là một lợi thế tài chính về mặt định lượng: người dùng khơng cần phải có máy
tính cấu hình cao để chạy các ứng dụng trên nền web (web-based) của Cloud
Computing. Bởi ứng dụng chạy trong Cloud, nên máy tính để bàn PC khơng cần
nhiều sức mạnh xử lý hoặc không gian đĩa cứng so với các theo yêu cầu của phần
mềm máy tính để bàn truyền thống. Chi phí cho các máy tính clients trong Cloud
Computing có thể giảm xuống với các ổ đĩa cứng nhỏ hơn, ít bộ nhớ hơn,....
1.3.2 Hiệu năng xử lý nâng cao
Khi người dùng tham gia vào một hệ thống Cloud Computing, họ được tùy ý sử
dụng sức mạnh của toàn bộ các Clouds. Người dùng khơng cịn bị giới hạn bởi
những gì một máy tính để bàn có thể làm được, mà thay vào đó là sức mạnh siêu
tính tốn (supercomptuing) của hàng ngàn máy tính.
1.3.3 Giảm chi phí đầu tư cơ sở hạ tầng
Trong một tổ chức lớn, bộ phận IT cũng có thể nhận thấy chi phí thấp hơn từ việc
áp dụng các mơ hình Cloud Computing. Thay vì đầu tư với số lượng lớn các servers
mạnh, đội ngũ nhân viên IT có thể sử dụng sức mạnh tính tốn của các Cloud để bổ
Thái Thanh Sơn
18
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
sung hoặc thay thế các tài ngun tính tốn nội bộ. Những cơng ty có nhu cầu tính
tốn cực đại (peak computing) khơng cịn phải mua thiết bị để xử lý các đỉnh tính
tốn (và sau đó khơng sử dụng thời gian cịn lại); nhu cầu về đỉnh tính tốn (peak
computing) có thể dễ dàng được xử lý bởi máy tính và máy chủ trong Cloud.
1.3.4 Giảm chi phí bảo trì hệ thống
Cloud Computing làm giảm đáng kể chi phí bảo trì phần cứng và bảo trì phần mềm
cho các tổ chức thuộc mọi quy mô. Về phần cứng, với số lượng phần cứng ít hơn
(một vài servers) trong tổ chức, chi phí bảo trì hệ thống được giảm xuống. Về phần
mềm, phần mềm được lưu trữ trong Cloud, do các nhà cung cấp và phân phối chịu
trách nhiệm bảo trì.
1.3.5 Sử dụng phần mềm với chi phí thấp hơn
Thay vì mua gói phần mềm riêng cho mỗi máy tính người dùng sẽ thuê các phần
mềm, dịch vụ ứng dụng của các nhà phát triển và phân phối theo nhu cầu và mục
đích sử dụng của mình. Chi phí th các phần mềm và dịch vụ ứng dụng này sẽ có
giá thấp hơn đáng kể so với phần mềm cho máy tính để bàn. Trong thực tế, nhiều
cơng ty (như Google) cung cấp miễn phí các ứng dụng của họ trên nền tảng web
cho cả cá nhân và tổ chức.
1.3.6 Cập nhật nhanh hơn
Về mặt ứng dụng, do các ứng dụng dựa trên nền tảng web, quá trình cập nhật tự
động xảy ra và có hiệu lực khi người dùng đăng nhập vào Cloud lần kế tiếp sau đó.
Bất cứ khi nào người dùng truy cập một ứng dụng trên nền tảng web, người dùng sẽ
nhận được phiên bản mới nhất, mà không cần phải trả tiền hoặc tải về một bản nâng
cấp.
Về mặt dữ liệu, Cloud luôn lưu trữ phiên bản tài liệu mới nhất của người dùng, họ
không phải lo lắng gặp rủi ro của việc có một phiên bản tài liệu lỗi thời trên máy
tính đang làm việc.
Thái Thanh Sơn
19
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.3.7 Không gian lưu trữ lớn
Cloud cung cấp dung lượng lưu trữ hầu như vô hạn. Khả năng lưu trữ của các máy
tính để bàn khoảng 200GB, rất nhỏ khi so sánh với hàng trăm petabyte (một triệu
gigabyte) có sẵn trong Cloud.
1.3.8 Nâng cao độ an tồn
Khơng giống như máy tính để bàn, khi ổ đĩa cứng bị hỏng có thể phá hủy tồn dữ
liệu có giá trị của người dùng, một máy tính bị hỏng trong Cloud khơng ảnh hưởng
đến lưu trữ dữ liệu của họ. Đó là bởi vì dữ liệu trong Cloud tự động được sao chép
lại, do đó khơng bao giờ bị mất. Điều đó cũng có nghĩa là nếu máy tính cá nhân của
người dùng bị hỏng, tất cả các dữ liệu của họ vẫn còn trong Cloud, và vẫn có thể
truy cập.
1.3.9 Tăng tính tương thích
Với Cloud Computing, hệ điều hành khơng quan trọng. Người dùng có thể kết nối
máy tính với hệ điều hành Windows đến đám mây và chia sẻ tài liệu với các máy
tính chạy hệ điều hành Mac, Linux, hoặc UNIX. Trong Cloud, dữ liệu mới quan
trọng, chứ không phải là hệ điều hành.
Ngồi ra, người dùng cũng khơng cần phải lo lắng về tính tương thích giữa các định
dạng tài liệu. Tất cả các tài liệu được tạo ra bởi các ứng dụng trên nền tảng web có
thể được đọc bởi bất kỳ người dùng nào truy cập tới ứng dụng đó.
1.3.10 Cộng tác nhóm
Chia sẻ tài liệu dẫn đến cộng tác trên các tài liệu. Để nhiều người sử dụng, đây là
một trong những lợi ích quan trọng nhất của Cloud Computing-khả năng cho nhiều
người sử dụng để dễ dàng cộng tác trên các tài liệu và các dự án. Người dùng có thể
truy cập các tài liệu của dự án đồng thời; những sửa đổi của họ sẽ tự động được
phản ánh tới những người khác, bởi tài liệu được lưu trữ trong Cloud. Với Cloud
Computing, bất cứ ai bất cứ nơi nào có thể hợp tác trong thời gian thực.
Thái Thanh Sơn
20
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
1.4 Nhược điểm của Cloud Computing
Bên cạnh những ưu điểm của mình, việc triển khai và áp dụng Cloud Computing
cũng gặp phải một số những rủi ro sau.
1.4.1 Yêu cầu phải có kết nối Internet
Người dùng kết nối và sử dụng các ứng dụng, dịch vụ và tài liệu thông qua Internet.
Khơng thể có Cloud Computing nếu người dụng khơng kết nối với Internet.
1.4.2 Không làm việc tốt với các kết nối chậm
Những kết nối Internet tốc độ thấp, như dịch vụ dial-up, làm cho Cloud Computing
hoạt động không hiệu quả và gây ra các phiền toái. Các ứng dụng nền tảng web, các
tài liệu kích thước lớn thường địi hỏi nhiều băng thơng để thao tác xử lý. Nói cách
khác, Cloud Computing không áp dụng cho mạng tốc độ chậm.
1.4.3 Tốc độ xử lý có thể chậm
Ngay cả với một kết nối nhanh, ứng dụng dựa trên web đôi khi có thể chậm hơn so
với truy cập vào một chương trình phần mềm tương tự như trên máy tính để bàn.
Đó là bởi vì tất cả mọi thứ: chương trình, giao diện, dữ liệu mà người dùng sử dụng
được tải lên đám mây, chờ xử lý và trả kết quả về cho người dùng. Nếu các máy chủ
Cloud đang bận (ví dụ : thực hiện sao lưu,...), hoặc nếu kết nối Internet bị chậm,
người dùng sẽ không nhận được truy cập ngay lập tức như đang sử dụng với các
ứng dụng máy tính để bàn.
1.4.4 Tính năng có thể bị giới hạn
Các ứng dụng trên nền tảng web thường không có đầy đủ các tính năng như các ứng
dụng trên máy tính để bàn. Ví dụ: so sánh các tính năng của Google Presentation
với Microsoft PowerPoint; chúng ta có thể làm rất nhiều điều với PowerPoint mà
không thể làm với ứng dụng web-based mà Google cung cấp.
Tuy nhiên những bất lợi này có thể được thay đổi theo thời gian mà minh chứng là
Google Docs & Spreadsheets. Ban đầu, cả hai ứng dụng trên nền web này có nhiều
Thái Thanh Sơn
21
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
khuyết điểm, nhưng ngày càng được cải tiến để có thể thay thế dần Microsoft Word
và Excel.
1.4.5 Dữ liệu lưu trữ có thể khơng an tồn
Khơng đảm bảo về tính sẵn sàng cũng là một trở ngại hiện nay, khi chỉ có một số rất
ít nhà cung cấp dịch vụ cam kết được về sự sẵn sàng và liên tục của dịch vụ, về thời
gian sửa chữa và phục hồi dữ liệu. Nói cách khác, những dịch vụ Cloud Computing
có vẻ không đáng tin cậy đối với một số ứng dụng quan trọng và có u cầu cao.
Tính riêng tư trong Cloud Computing cũng là một vấn đề đáng quan tâm. Với Cloud
Computing, tất cả các dữ liệu của người dùng được lưu trữ trên mây. Khi dữ liệu
được cập nhật trong Cloud, nó có thể dễ dàng bị những tên tội phạm mạng, gián
điệp và những đối thủ cạnh tranh xâm nhập. Thực tế hiện nay các nhà cung cấp dịch
vụ Cloud Computing vẫn chưa có một phương pháp bảo vệ nào trong trường hợp dữ
liệu bị xâm nhập.
Thái Thanh Sơn
22
Tìm hiểu, mơ hình hóa và mơ phỏng Cloud Computing
CHƯƠNG 2: KIẾN TRÚC VÀ CÔNG NGHỆ HỖ TRỢ
CLOUD COMPUTING
2.1 Kiến trúc Cloud Computing
2.1.1 Khung SPI cho Cloud Computing
Để mô tả các dịch vụ chính của Cloud Computing, người ta thường sử dụng chữ
viết tắt "SPI", là viết tắt của ba dịch vụ chủ yếu được cung cấp thông qua Cloud:
phần mềm như một dịch vụ (SaaS), nền tảng như một dịch vụ ( PaaS), và cơ sở hạ
tầng như một dịch vụ (IaaS). Hình 2.1 minh hoạ mối quan hệ giữa dịch vụ, người
dùng và các kiểu Cloud.
Hình 2.1: Mơ hình dịch vụ SPI
Thái Thanh Sơn
23