HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
NGUYỄN TRUNG HIẾU
NGHIÊN CỨU KỸ THUẬT AUTO-SCALING
TRONG CLOUD COMPUTING
LUẬN VĂN THẠC SĨ KỸ THUẬT
TP.HỒ CHÍ MINH -2016
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
NGUYỄN TRUNG HIẾU
NGHIÊN CỨU KỸ THUẬT AUTO-SCALING
TRONG CLOUD COMPUTING
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
MÃ SỐ:
0 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN HỒNG SƠN
TP. HỒ CHÍ MINH -2016
i
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất cứ công trình nào.
TPHCM, Ngày 20 tháng 6 năm 2016
Học viên thực hiện luận văn
Nguyễn Trung Hiếu
ii
LỜI CÁM ƠN
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo Học viện
Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học
tập tại nhà trường.
Em xin gửi lời cảm ơn sâu sắc đến Thầy TS. Nguyễn Hồng Sơn, người đã
trực tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong
suốt thời gian làm luận văn tốt nghiệp.
Bên cạnh đó, để hoàn thành luận văn tốt nghiệp, em cũng đã nhận được rất
nhiều sự giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồng
nghiệp. Em xin chân thành cảm ơn.
Tuy nhiên, do thời gian có hạn, mặc dù đã nỗ lực hết sức mình, nhưng chắc
rằng luận văn của em khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông
cảm và chỉ bảo tận tình của quý thầy cô và các bạn.
Trân trọng cám ơn.
TPHCM, ngày 20 tháng 6 năm 2016
Học viên thực hiện luận văn
Nguyễn Trung Hiếu
iii
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CÁM ƠN.............................................................................................................ii
MỤC LỤC................................................................................................................. iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT................................................v
DANH SÁCH BẢNG ............................................................................................... vi
DANH SÁCH HÌNH VẼ ......................................................................................... vii
MỞ ĐẦU.....................................................................................................................1
Chương 1 -CƠ SỞ LÝ LUẬN ....................................................................................3
1.1
Tổng quan và động cơ thúc đẩy .....................................................................3
1.1.1 Kiến trúc điện toán đám mây ..................................................................3
1.1.2 Các mô hình dịch vụ đám mây................................................................5
1.1.3 Các mô hình triển khai ............................................................................6
1.1.4 Khả năng mở rộng của điện toán đám mây.............................................8
1.2
Công trình nghiên cứu gần đây về Auto scale của điện toán đám mây.......11
1.3
Mục tiêu luận văn ........................................................................................12
1.4
Tổ chức luận văn..........................................................................................12
Chương 2 -KỸ THUẬT AUTO-SCALING TRONG ĐIỆN TOÁN ĐÁM MÂY ...14
2.1 Kỹ thuật Auto-scaling trong điện toán đám mây ........................................14
2.1.1 Tổng quan về Auto-scaling ...................................................................14
2.1.2 Phân loại Auto-Scaling..........................................................................15
2.1.3 Những phương pháp Auto-scaling ........................................................18
2.1.4 Mô hình hệ thống...................................................................................18
2.1.4.1
Cấu trúc hệ thống Auto-scaling ....................................................21
2.1.4.2
Cơ chế chịu lỗi ..............................................................................22
2.1.4.3
Độ tin cậy và chi phí hiêu quả ......................................................23
2.1.5 Chính sách Auto-scaling........................................................................25
2.1.5.1
Khả năng và ước tính cân bằng tải ...............................................25
2.1.5.2
Spot Instance và On-demand Instance..........................................25
2.1.5.3
Đấu thầu trung thực (Truthfull Bidding Prices) ...........................25
2.1.5.4
Chính sách Scaling Up..................................................................26
2.1.5.5
Chính sách Scaling Down.............................................................26
iv
2.1.6 Chính sách dừng Spot Group ................................................................26
2.1.7 Chính sách cho Spot Instance................................................................27
2.1.8 Chính sách gở bỏ Spot Group ...............................................................27
2.2
Kết luận ........................................................................................................27
Chương 3 -LẬP TRÌNH MÔ PHỎNG CƠ CHẾ AUTO-SCALING .......................28
3.1
Lập trình mô phỏng và đánh giá cơ chế auto-scaling ..................................28
3.1.1 Mục tiêu của mô phỏng. ........................................................................28
3.1.2 Mô tả môi trường điện toán đám mây sử dụng trong mô phỏng...........37
3.1.3 Kết quả mô phỏng. ................................................................................39
3.2
3.1.3.1
Trường hợp sử dụng ngưỡng MIPS..............................................39
3.1.3.2
Trường hợp sử dụng deadline thời gian........................................42
3.1.3.3
Đánh giá hai kịch bản mô phỏng ..................................................46
Kết luận ........................................................................................................48
KẾT LUẬN VÀ KIẾN NGHỊ...................................................................................49
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................50
v
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt
Tiếng anh
Tiếng việt
CNTT
Information Technology
Công nghệ thông tin
ĐTĐM
Cloud Computing
Điện toán đám mây
National Institute of Standards
Viện tiêu chuẩn và kỹ thuật Quốc
and Technology
gia ( Hoa Kỳ )
VM
Visual Machine
Máy ảo
QoS
Quality of Service
Quản lý chất lượng dịch vụ
API
Application Programming
Giao diện lập trình ứng dụng
NISI
Interface
vi
DANH SÁCH BẢNG
Số hiệu
Tên bảng
bảng
Trang
3.1
Môi trường thực hiện mô phỏng
29
3.2
Cấu hình Host trường hợp mô phỏng dùng ngưỡng MIPS
30
3.3
Cấu hình VM trường hợp mô phỏng dùng ngưỡng MIPS
30
3.4
Cấu hình Cloulet
30
3.5
Cấu hình Host trường hợp mô phỏng dùng deadline thời gian
34
3.6
Cấu hình VM trường hợp mô phỏng dùng deadline thời gian
34
3.7
Cấu hình Cloulet
34
3.8
Thông tin về trung tâm dữ liệu
37
3.9
Bảng số liệu máy chủ trong mô phỏng
38
3.10
Thông tin máy ảo sử dụng trong mô phỏng
38
vii
DANH SÁCH HÌNH VẼ
Số hiệu
Tên hình vẽ
hình vẽ
Trang
1.1
Điện toán đám mây
4
1.2
Ba mô hình cơ bản
5
1.3
Điện toán đám mây cá nhân
7
1.4
Điện toán đám mây công cộng
7
1.5
Điện toán đám mây công đồng
8
1.6
Điện toán đám mây hỗn hợp
8
1.7
Khả năng mở rộng đám mây theo chiều ngang
9
1.8
Khả năng mở rộng đám mây theo chiều dọc
9
2.1
Auto-scalingtrong cơ sở hạ tầng điện toán đám mây
15
2.2
Hệ thống ON & OFF
16
2.3
Hệ thống Fast Growth
16
2.4
Hệ thống Variable
17
2.5
Hệ thống Consistent
17
2.6
Kiến trúc hệ thống Autoscaling on-demand
21
2.7
Cung cấp tài nguyên ban đầu
22
2.8
Cung cấp tài nguyên mức chịu lổi khác
23
2.9
Cung cấp tài nguyên chịu lổi khác sử dụng hơn 2 kiểu spot
24
3.1
3.2
3.3
3.4
Biêu đồ tỷ lệ vi phạm ngưỡng MIPS khi thay đổi số lượng
cloudlet
Biểu đồ tỷ lệ vi phạm ngưỡng MIPS khi thay đổi số lượng
VM ban đầu
Biểu đồ tỷ lệ vi phạm ngưỡng MIPS khi thay đổi ngưỡng
MIPS
Biểu đồ tỷ lệ vi phạm ngưỡng MIPS khi thay đổi cấu hình VM
30
40
41
41
viii
3.5
Biểu đồ tỷ lệ vi phạm deadline về thời gian khi thay đổi số
43
lượng cloudlet
3.6
3.7
3.8
3.9
3.10
3.11
Biểu đồ tỷ lệ vi phạm deadline thời gian khi thay đổi số
lượng VM ban đầu
Biểu đồ tỷ lệ vi phạm deadline khi thay đổi deadline thời
gian
Biểu đồ tỷ lệ vi phạm deadline về thời gian khi bổ sung
công suất VM
Biểu đồ tỷ lệ vi phạm của hai trường hợp khi thay đổi số
lượng cloudlet
Biểu đồ tỷ lệ vi phạm của hai trường hợp khi thay đổi số
lượng VM ban đầu
Biểu đồ tỷ lệ vi phạm của hai trường hợp mô phỏng khi bổ
sung công suất VM
44
44
45
46
47
47
1
MỞ ĐẦU
Trong thời gian qua, Công nghệ thông tin đã phát triển với mức độ ngày
càng nhanh về phần cứng lẫn phần mềm. Bên cạnh sự phát triển này, có một lĩnh
vực cũng đang trên đà phát triển và cũng là xu thế, một sự kết hợp của sự phát triển
phần cứng lẫn phân mềm đó là lĩnh vực điện toán đám mây. Điện toán đám mây
giúp cho người sử dụng nó dễ dàng, không cần có đội ngũ xử lý sự cố phần cứng
cũng như phần mềm. Nó đáp ứng mọi nhu cầu của người sử dụng, trong mọi ngành
từ kỹ thuật đến kinh doanh hay giải trí,…Người dùng có thể tiếp cận ở mọi nơi, mọi
lúc miễn là có sử dụng Internet. Với sở sở hạ tầng của Internet, tất cả các ứng dụng
người dùng cần đều được đáp ứng chỉ bởi một trình duyệt, một ứng dụng web, hoặc
một API là người dùng có được trên một máy tính (máy tính ảo) với những chương
trình đã được cài đặt sẵn và người dùng chỉ cần chi trả những gì sử dụng trên máy
tính đó [3].
Dữ liệu được tiếp cận thông qua điện toán đám mây khiến người sử dụng có
tất cả các quyền của máy chủ mà không phải vất vả thiết lập, bảo trì và cải tiến hệ
thống (đó là việc của nhà cung cấp). Một điều quan trọng mà chúng ta cần quan tâm
đó là dữ liệu rất an toàn nếu phần cứng có hư thì dữ liệu vần nguyên vẹn.
Một đặc điểm khá thú vị là với điện toán đám mây người sử dụng có thể kết
nối được bất kỳ ở đâu, với bất kỳ thiết bị nào dù nó là điện thoại smart phone hay
laptop, máy tính bảng,… mà vẫn không hề thấy sự khác biệt. Tất cả đều nhờ vào
điện toán đám mây, nhờ vào các nhà cung cấp điện toán đám mây. Nói thì đơn giản
thế nhưng hàng ngày các kỹ sư, các lập trình viên, các nhà khoa học máy tính phải
nghiên cứu mới có được một hế thống đa năng, hữu ích như thế.
Một vấn đề khó khăn được đặt ra là làm sao có thể sử dụng tài nguyên của
điện toán đám mây hiệu quả. Ví dụ : Các trang mạng xã hội trên hệ thống của điện
toán đám mây có số lượng thành viên cao. Vào ban ngày, lượng thành viên truy cập
sẽ nhiều khi đó tài nguyên được sử dụng tối đa, nếu tính toán không khéo thì sẽ bị
nghẽn. Còn vào ban đêm lượng truy cập sẽ giảm khi đó tài nguyên sẽ dư thừa. Cũng
tương tự như vậy các trang bán hàng có web đặt trên các hệ thống điện toán đáp
mây vào những ngày có chương trình khuyến mãi khi đó lượng người mua hàng sẽ
truy cập vào rất đông và tài nguyên hệ thống sẽ được sử dụng tối đa. Còn vào những
ngày bình thường khác thì số lượng truy cập sẽ giảm nhiều đáng kể.
2
Người dùng có xu hướng thuê gói tài nguyên tiết kiệm theo nhu cầu sử dụng
thông thường. Nếu dịch vụ người dùng không có tình trạng đột biến tải thì không có
vấn đề vì xảy ra. Tuy nhiên nếu xuất hiện tăng tải quá mức sẽ dẫn đến suy thoái
dịch vụ do thiếu tài nguyên. Yêu cầu đặt ra là làm sao cho phép người dùng đăng ký
với gói tiết kiệm nhưng khi có đột biến tải ngắn hạn thì vẫn có thêm tài nguyên để
làm việc. Cơ chế cho phép điều này trong điện toán đám mây được gọi là Autoscaling.
Nếu hệ thống điện toán đám mây có cung cấp dịch vụ Auto-scaling, nó sẽ
giúp cho hệ thống dịch vụ của người dùng luôn có tài nguyên bổ sung và chất lượng
dịch vụ sẽ không bị suy giảm.
Nguyên lý làm việc cơ bản của kỹ thuật autoscaling chỉ là cấp phát bổ sung
tài nguyên một cách tạm thời khi thiếu và thu hồi lại khi không còn cần thiết. Tuy
nhiên, việc xác định đúng đối tượng thiếu, cung cấp kịp thời với lượng tài nguyên
vừa đủ và thu hồi đúng lúc là điều không dễ dàng. Mặc dù đã có các nghiên cứu và
triển khai dịch vụ autoscaling trên thực tế, ví dụ như Amazon, nhưng vấn đề này
vẫn mang tính thời sự và đang đặt ra nhiều thách thức đối với cộng đồng nghiên cứu
về điện toán đám mây. Đây cũng là lý do đề tài “NGHIÊN CỨU KỸ THUẬT
AUTO-SCALING TRONG CLOUD COMPUTING” được chọn cho luận văn
Thạc sĩ này.
3
Chương 1 - CƠ SỞ LÝ LUẬN
1.1 Tổng quan và động cơ thúc đẩy:
Ngày nay công nghệ thông tin (CNTT) phát triển rất nhanh chóng, nắm giữ
vai trò quan trọng trong việc thúc đấy sự tăng trưởng kinh tế. Ứng dụng một công
nghệ hay một dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu quả dữ liệu của riêng
công ty cũng như dữ liệu khách hàng, đối tác ngày càng lớn lên là một trong những
bài toán được ưu tiên hàng đầu, đang không ngừng gây khó khăn cho doanh nghiệp.
Và điện toán đám mây (ĐTĐM) đã trở thành nơi tin cậy giúp các doanh nghiệp
quản lý tốt 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 chính vào công việc kinh doanh của mình. Hiệu
quả và lợi nhuận ngày càng cao hơn đã giúp điện toán đám mây trở nên quen thuộc
đối với các doanh nghiệp[1].
1.1.1 Kiến trúc điện toán đám mây:
ĐTĐM còn gọi là điện 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ữ "cloud computing" ra đời giữa năm 2007 không phải để nói về
một trào lưu mới, mà để khái quát lại các hướng phát triển của cơ sở hạ tầng CNTT
vốn đã và đang diễn ra từ những năm qua. Quan niệm này có thể được diễn giải một
cách đơn giản: các nguồn tính toán khổng lồ như các phần cứng (máy chủ ), phần
mềm, và các dịch vụ (chương trình ứng dụng), … sẽ nằm tại các máy chủ ảo (đám
mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên mặt đất) để
mọi người kết nối và sử dụng mỗi khi họ cần.
4
Hình 1.1: Điện toán đám mây
Theo tổ chức xã hội máy tính IEEE, “Điện toán đám mây là hình mẫu trong
đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được
được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải
trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, …"
Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid
computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility
computing) và phần mềm dịch vụ (SaaS).
Điện toán đám mây là mô hình tập trung vào việc chia sẻ dữ liệu và tính
toán trên một nút mạng có :
Khả năng mở rộng,
Đi đến các máy tính người dùng cuối
Các trung tâm dữ liệu
Các dịch vụ web.
5
Một mạng có thể mở rộng các nút là hình thức một đám mây. Một ứng dụng
dựa trên những đám mây này được thực hiện như là một ứng dụng điện toán đám
mây. Trong những năm gần đây, hầu hết các phần mềm, phần cứng và mạng đã phát
triển, đặc biệt là điện toán đám mây dựa trên dịch vụ đã thay đổi các máy tính
truyền thống và lưu trữ tập trung. Nó có tiềm năng to lớn để giao phó, sự nhanh
nhẹn, cho thuê nhiều cách, độ tin cậy, khả năng mở rộng, tính sẵn sàng, hiệu suất,
an ninh và bảo trì. Viện Quốc gia Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) định
nghĩa điện toán đám mây như sau: "Điện toán đám mây là một mô hình cho tạo điều
kiện thuận tiện, truy cập mạng theo nhu cầu đến một tài nguyên máy tính chia sẻ
dùng chung có thể cấu hình được (ví dụ, mạng, máy chủ, lưu trữ, các ứng dụng , và
dịch vụ) mà có thể được phát hành và cung cấp một cách nhanh chóng với việc
quản lý đơn giản hoặc có sự hổ trợ dịch vụ của nhà cung cấp. Mô hình đám mây
này thúc đẩy khả năng và gồm có năm đặc điểm chính, năm mô hình cung cấp, và
bốn mô hình triển khai "[1]
1.1.2 Các mô hình dịch vụ đám mây
Có ba mô hình dịch vụ cơ bản hiện có trong đám mây để cung cấp tài nguyên
cho người dùng[7]. Gần đây các mô hình dịch vụ khác cũng đang được triển khai.
Hình 1 cho thấy một ví dụ về mô hình dịch vụ điện toán đám mây cơ bản.
Hình 1.2: Ba mô hình cơ bản
a.Phần mềm như một dịch vụ (SaaS): Người sử dụng sử dụng các nhà cung
cấp ứng dụng đang chạy trên một cơ sở hạ tầng điện toán đám mây. Các ứng dụng có
6
thể truy cập từ các thiết bị khách hàng khác nhau thông qua một giao diện khách
hàng nhỏ như một trình duyệt web (ví dụ, email trên nền web, Google Docs)
b. Nền tảng như một dịch vụ (PaaS): Người sử dụng sử dụng platform để
triển khai cho các ứng dụng cơ sở hạ tầng điện toán đám mây được tạo bởi khách
hàng hoặc mua ứng dụng được tạo ra bằng cách sử dụng ngôn ngữ lập trình và các
công cụ hỗ trợ của nhà cung cấp (ví dụ, Google App Engine, Microsoft Azure).
c.Cơ sở hạ tầng như một dịch vụ (IaaS):. Người sử dụng được cung cấp để
xử lý, lưu trữ, mạng, và các tài nguyên máy tính cơ bản khác từ các nhà cung cấp
dịch vụ (ví dụ, Amazon Web Services).
Ngoài ra, còn có hai mô hình cũng được cho là cơ bản :
d.Mạng như một dịch vụ (NaaS): Đây là một loại dịch vụ đám mây, có khả
năng cung cấp cho người sử dụng dịch vụ điện toán đám mây để sử dụng dịch vụ
kết nối mạng và dịch vụ kết nối mạng liên đám mây. NaaS liên quan đến việc tối ưu
hóa việc phân bổ nguồn lực bằng cách xem xét mạng và tài nguyên máy tính như
một thể thống nhất.
e.Mọi thứ như một dịch vụ (XaaS): Xaas là một thuật ngữ phổ biến và bao
gồm một số gì đó. Nó có thể được sử dụng như "X như một dịch vụ", "Bất cứ điều
gì như một dịch vụ" và "Tất cả mọi thứ như một dịch vụ". Các ví dụ phổ biến nhất
của XaaS được lưu trữ như một dịch vụ, truyền thông như một dịch vụ, giám sát
như một dịch vụ và xử lý thất bại như một dịch vụ.
1.1.3 Các mô hình triển khai
Dịch vụ điện toán đám mây có thể được triển khai với nhiều phương pháp
khác nhau tùy thuộc vào các tổ chức và địa điểm. Bốn mô hình triển khai thường
được biết đến, cụ thể là điện toán đám mây cá nhân, công cộng, cộng đồng và hổn
hợp.
a.Private Cloud: Cơ sở hạ tầng điện toán đám mây đó chỉ hoạt động cho
một tổ chức. Nó có thể được quản lý bởi các tổ chức hoặc một bên thứ ba và có thể
tồn tại on premise hoặc off premise. Hình 1.3 là một ví dụ của đám mây riêng.
7
Hình 1.3: Điện toán đám mây cá nhân
b. Public Cloud: Cơ sở hạ tầng điện toán đám mây được tạo sẵn cho công
cộng hoặc một nhóm ngành công nghiệp lớn và được sở hữu bởi một tổ chức bán
các dịch vụ đám mây. Hình 1.4 cho thấy một ví dụ về điện toán đám mây công
cộng.
Hình 1.4: Điện toán đám mây công cộng
c. Cộng đồng Cloud: Cơ sở hạ tầng điện toán đám mây được chia sẻ bởi
một số tổ chức và hỗ trợ một cộng đồng cụ thể đã chia sẻ mối quan tâm (ví dụ,
Mission, các yêu cầu bảo mật, những cân nhắc chính sách, và tuân thủ). Nó có thể
được quản lý bởi các tổ chức hoặc một bên thứ ba và có thể tồn tại on premise hoặc
off premise. Hình1.5 mô tả cho ví dụ về điện toán đám mây cộng đồng.
8
Hình 1.5: Điện toán đám mây cộng đồng
d. Hybrid Cloud: Cơ sở hạ tầng điện toán đám mây này là một thành phần
của hai hoặc nhiều đám mây (tư nhân, cộng đồng, hoặc công cộng) mà nhưng thực
tế là duy nhất nhưng được ràng buộc với nhau bằng tiêu chuẩn hóa công nghệ hoặc
độc quyền cho phép dữ liệu và ứng dụng di động (ví dụ, đám mây bùng nổ cho tải
cân bằng giữa các đám mây). Hình1.6 là một ví dụ về Hybrid Cloud.
Hình 1.6: Điện toán đám mây hỗn hợp
1.1.4 Khả năng mở rộng của điện toán đám mây
Khả năng mở rộng điện toán đám mây có hai kích thước, cụ thể là khả năng
mở rộng điện toán đám mây ngang và khả năng mở rộng theo chiều dọc [7].
a. Khả năng mở rộng điện toán đám mây ngang:
Khả năng mở rộng điện toán đám mây theo chiều ngang là khả năng kết nối
nhiều phần cứng lẫn phần mềm, chẳng hạn như máy chủ làm việc như một đơn vị
duy nhất hợp lý. Nó có nghĩa là thêm nhiều nguồn tài nguyên làm cùng một công
việc. Trong trường hợp máy chủ, bạn có thể tăng tốc độ và tính sẵn sàng của logic
unit bằng cách thêm nhiều máy chủ. Thay vì một máy chủ, một người có thể có hai,
mười, hoặc nhiều hơn của cùng một máy chủ làm cùng một công việc. Khả năng
9
mở rộng theo chiều ngang cũng được gọi là nhân rộng ra, như thể hiện trong
hình1.7.
Hình 1.7: Khả năng mở rộng đám mây theo chiều ngang
b. Khả năng mở rộng đám may theo chiều dọc:
Khả năng mở rộng theo chiều dọc là khả năng tăng cường phần cứng hoặc
phần mềm hiện có bằng cách thêm nhiều nhiều hơn. Ví dụ, thêm sức mạnh xử lý
cho một máy chủ để làm cho nó nhanh hơn. Nó có thể đạt được thông qua việc bổ
sung thêm phần cứng như ổ cứng, máy chủ, CPU, vv … Khả năng mở rộng theo
chiều dọc cung cấp nguồn tài nguyên được chia sẻ nhiều hơn cho các Hệ Điều Hành
và các ứng dụng. Khả năng mở rộng dọc cũng có thể được gọi là mở rộng quy mô,
được thể hiện trong hình 1.8
Hình 1.8: Khả năng mở rộng đám mây theo chiều dọc
Khi giải pháp Auto-scaling được đề ra và có rất nhiều nghiên cứu Autoscaling ở các cấp độ dịch vụ, các mô hình dịch vụ điện toán đám mây khác nhau,
nhưng hầu hết các nghiên cứu chỉ tập trung vào mức độ cơ sở hạ tầng [2]. Nếu xem
10
xét tường tận, chúng ta nhận thấy rằng Auto-scaling ở cấp độ dịch vụ cũng quan
trọng không kém, chẳng hạn như các dịch vụ đang chạy trên một tập hợp các kết nối
máy ảo và chất lượng của các dịch vụ nhờ vào Auto-scaling sẽ xử lý nguồn tài
nguyên cho các máy ảo. Các số liệu ở cấp độ dịch vụ như giao dịch trên một đơn vị
thời gian cần phải được ánh xạ đến các số liệu cấp hệ thống chẳng hạn như sử dụng
CPU, băng thông và tỷ lệ truy xuất của ổ đĩa. Tuy nhiên, các công cụ không đủ để
theo dõi, tổng hợp ở cấp độ nền tảng và cũng như dịch vụ để hỗ trợ cho quyết định
thực hiện Auto-scaling khi nảo.Auto-scaling ở các môi trường điện toán đám mây
hỗn hợp không được hỗ trợ tốt. Đám mây hỗn hợp là một phần của ứng dụng được
triển khai trên một đám mây riêng và các phần khác trên một đám mây công cộng.
Trong bối cảnh này, các đám mây công cộng và đám mây riêng có thể cung cấp các
kỹ thuật Auto-scaling khác nhau mà không tương thích với nhau, do đó sẽ có xuất
hiện vấn đề tương tác trong việc Auto-scaling tài nguyên giữa hai đám mây[4].
Hiệu quả của Auto-scaling trong lúc này với độ tin cậy của các quá trình
Auto-scaling không được quản lý tốt [5]. Sự thất bại của các quá trình Auto-scaling
có thể dẫn đến hành vi vi phạm yêu cầu quản lý chất lượng hệ thống về hiệu suất và
khả năng mở rộng và thậm chí phải chịu chi phí không cần thiết. Auto-scaling tạo ra
sự khác biệt với sự cố định hàng ngày, hàng tuần, hoặc chu kỳ hàng năm của máy
chủ sử dụng ở chỗ là nó đáp ứng thói quen sử dụng thực tế, và do đó làm giảm các
nhược điểm của việc có quá ít hoặc quá nhiều máy chủ xử lý công việc. Ví dụ, nếu
lưu lượng xử lý công việc thường thấp vào lúc nửa đêm, sau đó là một giải pháp
scaling tĩnh có thể lên lịch một số máy chủ tắt đi vào ban đêm, nhưng điều này có
thể dẫn đến có một lúc nào đó xảy ra hiện tượng mọi người sử dụng Internet nhiều
hơn (ví dụ: lượng truy cập các trang mạng xã hội ban ngày sẽ cao ), khi đó số server
còn lại sẽ làm việc quá tải. Nhưng nếu có Auto-scaling, thì việc xử lý tình trang quá
tải bất ngờ này sẽ tốt hơn.
Có một vài nghiên cứu cho thấy mối quan hệ giữa Auto-scaling với chất
lượng như tính sẵn sàng, độ tin cậy và vấn đề an ninh [6]. Ví dụ, các cuộc tấn công
11
DoS có thể tạo ra dịch vụ Auto-scalingmở rộng hệ thống không cần thiết và do đó
làm tăng chi phí hoạt động.
1.2
Công trình nghiên cứu gần đây về Auto-scaling của điện toán đám mây:
Vấn đề nghiên cứu kỹ thuật Auto-scaling trong điện toán đám mây nhằm
phục vụ cho mục đích tối ưu năng lượng tiêu thụ đối với nhà cung cấp. Đồng thời
giảm thiểu chi phí phải trả cho người sử dụng dịch vụ, điều mà cả nhà cung cấp lẫn
nhà sử dụng dịch vụ điện toán đều mong muốn. Và đây chính là một chủ đề đã và
đang được rất nhiều các nhà nghiên cứu thực hiện, một số nghiên cứu có thể kể đến
là:
Bài báo “Tổng quan về Auto-Scalingtrong ĐTĐM” của tác giả
M.Kriushanth, L. Arockiam, G. Justy Mirobi [7]. Trong bài báo này các tác
giả thảo luận các vấn đề khác nhau của Auto-scaling. Xem xét Auto-scaling
cần thiết để biết các cơ chế hiện tại được sử dụng trong Auto-scaling. Ở đây
họ đã bàn về kỹ thuật Auto-scaling và các công trình liên quan. Họ cho ta
thấy rằng trong Auto-scaling có nhiều cách, và có nhiều nghiên cứu ở mức
độ khác nhau của các phương pháp Auto-scaling khác nhau liên quan đến
ĐTĐM sẽ được phát triển trong tương lai.
Bài báo “Phân tích vấn đề Auto-scaling trong môi trường ĐTĐM” của các
tác giả Hanieh Alipour, Yan Liu, Abdelwahab Hamou-Lhadj [8]. Mục tiêu
của bài báo này là trình bày một nghiên cứu toàn diện về cơ chế Auto-scale
hiện nay, cũng như để làm nổi bật các vấn đề Auto-scale trong lĩnh vực này.
Trong bài báo này, các tác giả cung cấp một phân tích cẩn thận tình trạng
hiện thời của Auto-scaling trong ĐTĐM. Lần đầu tiên đặt họ Auto-scale vào
bối cảnh bằng cách cung cấp thông tin cơ bản, thảo luận về các đối tượng thụ
hưởng chính của Auto-scaling, và đưa ra định nghĩa, khái niệm chính.Tiếp
theo, họ đề xuất một nguyên tắc phân loại, đơn giản hóa các trạng thái Autoscaling hiên tại, và cung cấp cho các nhà nghiên cứu và phát triển ý tưởng về
các cơ chế, thách thức Auto-scalinghiện tại. Sau đó, các tác giả kiểm tra các
vấn đề hiện tại và quá khứ, và những đóng góp được cung cấp trong tài liệu
cho đến nay. Sau cùng các tác giả mô tả các nền tảng chính (thương mại và
học thuật), và cuối cùng là xem xét những thách thức và định hướng tương
lai của Auto-scaling trong ĐTĐM.
12
Bài báo “Kỹ thuật tự động mở rộng quy mô đàn hồi cho các ứng dụng
trong môi trường ĐTĐM” của các tác giả Tania Lorido-Botrán, José MiguelAlonso, José A. Lozano [9]. Bài báo nghiên cứu tập trung vào các vấn đề của
các ứng dụng Auto-scaling trong môi trường ĐTĐM. ĐTĐM là công nghệ
được sử dụng rộng rãi, đặc trưng bởi các tài nguyên một cách đàn hồi. Người
dùng có thể yêu cầu và giải phóng tài nguyên theo yêu cầu,và chỉ phải trả
cho các tài nguyên cần thiết (điều này thường được gọi là một chương trình
pay-as-you-go). Scaling có thể được thực hiện bằng tay, nhưng để thực sự
tận dụng lợi thế của các nền này, một hệ thống Auto-scaling là cần thiết.Yếu
tố này sẽ có thể thích ứng với số lượng tài nguyên cần thiết (thông thường là
VM) với khối lượng công việc đầu vào, luôn luôn cố gắng để tránh không
tận dụng đểgiảm thiểu chi phí, nhưng việc duy trì mục tiêu mức dịch vụ (ví
dụ: xác định trước thời gian đáp ứng).
1.3 Mục tiêu luận văn
Dịch vụ Autoscaling đem lại lợi ích thiết thực cho khách hàng và ngay cả
nhà cung cấp dịch vụ cloud. Tuy nhiên, vẫn còn khá nhiều thách thức để có được cơ
chế Auto-scaling hiệu quả. Mục tiêu của đề tài là nghiên cứu các khía cạnh kỹ thuật
thực hiện Auto-scaling trong điện toán đám mây. Nghiên cứu giải pháp tự động
điều khiển quá trình co giãn tài nguyên dựa vào ngưỡng tài nguyên, là giải pháp phổ
biến hiện nay. Đề xuất giải pháp tự động điều khiển quá trình co giãn tài nguyên
dựa vào deadline. Tiến hành lập trình mô phỏng để đánh giá và so sánh hai giải
pháp.
1.4 Tổ chức luận văn
Luận văn có tổng cộng 3 chương và một phần kết luận và kiến nghị. Trong
đó, chương 1 là phần “Cơ sở lý luận”. Trong chương này luận văn muốn khái quát
về kiến thức của điện toán đám mây cũng như nói rõ mục tiêu chính của luận văn.
Qua phần chương 2 là phần “Kỹ thuật Auto-Scaling trong điện toán đám mây”.
Trong chương 2 sẽ trình bày chi tiết các kỹ thuật cũng như chính sách Auto-scaling
trong điện toán đám mây. Làm rõ các vấn đề của cơ chế hoạt động Auto-scaling
trong điện toán đám mây. Chương 3 kế tiếp là chương “Lập trình mô phỏng cơ chế
13
Auto-scaling”. Chương này sẽ tập trung mô phỏng cơ chế Auto-scaling trong điện
toán đám mây để so sánh và đánh giá kỹ thuật Auto-scaling dùng ngưỡng tài
nguyên và kỹ thuật Auto-scaling dũng deadline. Cuối cùng là phần kết luận và kiến
nghị sẽ trinh bày kết luận của luận văn và các kiến nghị định hướng nghiên cứu tiếp
theo.
14
Chương 2 - KỸ THUẬT AUTO-SCALING TRONG
ĐIỆN TOÁN ĐÁM MÂY
2.1 Kỹ thuật Auto-scaling trong điện toán đám mây
2.1.1 Tổng quan về Auto-scaling
Theo thống kế của nhà cung cấp dịch vụ, thì sáng sớm là thời điểm người sử
dụng đọc báo mạng nhiều nhất. (ví dụ là 100.000 lượt truy cập đồng thời). Và các
thời điểm khác thì ít hơn rất nhiều.
Nếu thiết kế theo phương thức truyền thống, thì phần cứng của server sẽ phải
đáp ứng ít nhất được 100.000 lượt truy cập đồng thời và luôn sẵn sàng chờ người
truy cập. Từ đó nảy sinh một vấn đề là trong những khoảng thời gian khác trong
ngày, với lượng người truy cập ít hơn sẽ dẫn đến sự dư thừa tài nguyên phần cứng
dẫn đến thất thoát về tiền bạc.
Từ vấn đề đó, người ta đã nghĩ tới một hệ thống mà tài nguyên hệ thống có
thể tự co dãn nhằm đáp ứng nhu cầu sử dụng của người dùng.
Giải pháp đưa ra chính là sử dụng Auto-Scaling.Auto-Scaling được định
nghĩa là một tính năng của dịch vụ điện toán đám mây có thể thêm hoặc loại bỏ tài
nguyên tính toán tùy thuộc vào cách sử dụng thực tế.
Auto-scaling là khả năng mở rộng quy mô lên hoặc xuống khả năng tự động
theo các điều kiện của người sử dụng xác định. Với Auto-scaling đảm bảo rằng số
lượng các instances đang gia tăng liên tục trong thời gian nhu cầu để duy trì hiệu
suất, và giảm tự động theo nhu cầu giảm để giảm thiểu chi phí [3]. Việc mở rộng
quy mô tự động trong cơ sở hạ tầng điện toán đám mây được hiển thị trong
hình2.1[7].
15
Auto-scaling
Chương trình
VM được tạo
Chương
trình
có nhu
cầu
tăng
thêm
Cài đặt và
khởi tạo VM
Cài đặt có sẵn trong
hàng đợi ?
Chương trình
VM
được
tạo
thêm
Các VM được tạo
Hàng đợi instance chờ được VM
Hình 2.1: Auto-sacling trong cơ sở hạ tầng điện toán đám mây
Auto-scaling đảm bảo tài nguyên luôn có đủ để xử lí những yêu cầu của
khách hàng.
Chúng ta có thể đặt ra giới hạn trên và giới hạn dưới của lượng tài nguyên
mình cần sử dụng. Và tài nguyên hệ thống cấp cho bạn sẽ luôn nhỏ hơn giới hạn
trên và cao hơn giới hạn dưới.
Hoặc khi bạn chỉ định lượng tài nguyên cụ thể mà bạn cần dùng, thì autoscaling sẽ luôn đáp ứng được nhu cầu, tiết kiệm tiền nhiều hơn và được sử dụng tài
nguyên nhiều hơn.
2.1.2 Phân loại Auto-Scaling
Auto-Scaling có thể chia nhỏ thành các thành phần theo nhiều kiểu khác
nhau, phụ thuộc vào bài toán cần giải quyết. Tuy nhiên Auto-scaling có thể chia
thành 3 thành phần chính thực hiện những chức năng một cách tuần tự.
Thu thập báo cáo -> ra quyết định -> thực thi
Lần lượt là:
Monitoring, reporter: thu thập thông tin trạng thái của hệ thống.
Decider: nhận báo cáo từ bộ phận monitoring, xây dựng mô hình và ra quyết
định
Scaler: nhận lệnh từ Decider và thực hiện scale.