1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu kỹ thuật Auto – Scaling trong Cloud Computing

62 902 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,1 MB

Nội dung

Nghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud ComputingNghiên cứu kỹ thuật Auto – Scaling trong Cloud Computing

Trang 1

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

Trang 2

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

TP HỒ CHÍ MINH -2016

Trang 3

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 aicô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

Trang 4

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ệnCô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ọctậ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 trongsuố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ấtnhiều sự giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồngnghiệ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ắcrằ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ôngcả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

Trang 5

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

Trang 6

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.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

3.2 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

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

CNTT Information Technology Công nghệ thông tin

NISI National Institute of Standards

and Technology

Viện tiêu chuẩn và kỹ thuật Quốcgia ( Hoa Kỳ )

QoS Quality of Service Quản lý chất lượng dịch vụAPI Application Programming

Interface

Giao diện lập trình ứng dụng

Trang 8

DANH SÁCH BẢNG

Số hiệu

3.2 Cấu hình Host trường hợp mô phỏng dùng ngưỡng MIPS 303.3 Cấu hình VM trường hợp mô phỏng dùng ngưỡng MIPS 30

3.5 Cấu hình Host trường hợp mô phỏng dùng deadline thời gian 343.6 Cấu hình VM trường hợp mô phỏng dùng deadline thời gian 34

Trang 9

1.7 Khả năng mở rộng đám mây theo chiều ngang 91.8 Khả năng mở rộng đám mây theo chiều dọc 92.1 Auto-scalingtrong cơ sở hạ tầng điện toán đám mây 15

2.6 Kiến trúc hệ thống Autoscaling on-demand 21

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 Biêu đồ tỷ lệ vi phạm ngưỡng MIPS khi thay đổi số lượng

Trang 10

3.5 Biểu đồ tỷ lệ vi phạm deadline về thời gian khi thay đổi số

lượng cloudlet

43

3.6 Biểu đồ tỷ lệ vi phạm deadline thời gian khi thay đổi số

3.7 Biểu đồ tỷ lệ vi phạm deadline khi thay đổi deadline thời

3.10 Biểu đồ tỷ lệ vi phạm của hai trường hợp khi thay đổi số

3.11 Biểu đồ tỷ lệ vi phạm của hai trường hợp mô phỏng khi bổ

Trang 11

MỞ ĐẦU

Trong thời gian qua, Công nghệ thông tin đã phát triển với mức độ ngàycà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ĩnhvự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ểnphầ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ọilú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ươngtrì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ếtnố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 haylaptop, 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ảinghiê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ệntoá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ữngngày bình thường khác thì số lượng truy cập sẽ giảm nhiều đáng kể

Trang 12

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áidị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à Auto-scaling

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ượngdị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ổ sungtà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 Tuynhiê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ênvừ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àyvẫ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

Trang 13

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ôngnghệ 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êngcô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ữngbà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ệpquả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ệuquả 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 CNTTvố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 (đámmâ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

Trang 14

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 (utilitycomputing) 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

Trang 15

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ụngdự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 đámmâ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áttriể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ínhtruyền thống và lưu trữ tập trung Nó có tiềm năng to lớn để giao phó, sự nhanhnhẹ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) địnhnghĩ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ềukiệ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ệcquả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ó

Trang 16

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áchhà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áchhà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áccô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ấpdị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 ưuhó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ấtcủ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ápkhá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

Trang 17

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áncá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ôngcộ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

Trang 18

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ốinhiề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ôngviệ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 logicunit 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

Trang 19

mở rộng theo chiều ngang cũng được gọi là nhân rộng ra, như thể hiện tronghì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ặcphầ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 theochiề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 scaling được đề ra và có rất nhiều nghiên cứu scaling ở 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,

Auto-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

mở rộng theo chiều ngang cũng được gọi là nhân rộng ra, như thể hiện tronghì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ặcphầ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 theochiề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 scaling được đề ra và có rất nhiều nghiên cứu scaling ở 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,

Auto-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

mở rộng theo chiều ngang cũng được gọi là nhân rộng ra, như thể hiện tronghì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ặcphầ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 theochiề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 scaling được đề ra và có rất nhiều nghiên cứu scaling ở 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,

Auto-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

Trang 20

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ốimá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àinguyê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ụngCPU, 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 địnhthực hiện Auto-scaling khi nảo.Auto-scaling ở các môi trường điện toán đám mâyhỗ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 đượctriể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ấthiệ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ìnhAuto-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áychủ 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ếulư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

Trang 21

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ằmphụ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ờigiả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ẫnnhà 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ácgiả thảo luận các vấn đề khác nhau của Auto-scaling Xem xét Auto-scalingcầ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 tathấ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êucủ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-scalehiệ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ạnghiện thời của Auto-scaling trong ĐTĐM Lần đầu tiên đặt họ Auto-scale vàobố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 scaling 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ácvấn đề hiện tại và quá khứ, và những đóng góp được cung cấp trong tài liệu

Auto-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ươnglai của Auto-scaling trong ĐTĐM

Trang 22

 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é Alonso, José A Lozano [9] Bài báo nghiên cứu tập trung vào các vấn đề củacác ứng dụng Auto-scaling trong môi trường ĐTĐM ĐTĐM là công nghệ

Miguel-đượ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ìnhpay-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ôngtậ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ậtthự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êndựa vào deadline Tiến hành lập trình mô phỏng để đánh giá và so sánh hai giảiphá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-scalingtrong đ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ế

Trang 23

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ếnnghị 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ếptheo

Trang 24

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ácthờ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 trongngà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ứngdẫ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 địnhnghĩ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àinguyê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ộngquy mô tự động trong cơ sở hạ tầng điện toán đám mây được hiển thị tronghình2.1[7]

Trang 25

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ủakhá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ênmì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ì scaling 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àinguyên nhiều hơn

auto-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ácnhau, phụ thuộc vào bài toán cần giải quyết Tuy nhiên Auto-scaling có thể chiathà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

có nhu cầu tăng thêm

Cài đặt và khởi tạo VM

Hàng đợi instance chờ được VM

Cài đặt có sẵn trong hàng đợi ?

Trang 26

 Các kiểu hệ thống thường gặp có thể thực hiện auto-scaling và được phânloại theo yêu cầu tài nguyên.

a Hệ thống ON & OFF :

Hình 2.2: Hệ thống ON & OFF

 Đây là những hệ thống cần đến sự phân tích và trích xuất dữ liệu Một

ví dụ điển hình nhất của Hệ thống ON&OFF là hệ thống ngân hàng Sau khi kếtthúc thời gian giao dịch trong ngày (sau 5h chiều) thì hệ thống ngân hàng tạmngừng giao dịch Và có thể chuyển qua phân tích những dữ liệu đã thu thập đượctrong ngày

 Với hệ thống như thế này, người lập trình viên chỉ cần đặt lịch ON&OFF hệthống phân tích theo giờ cố định trong ngày

b Hệ thống Fast Growth

Hình 2.3: Hệ thống Fast Growth

Trang 27

 Hệ thống này được định nghĩa là dạng hệ thống, mà thường có sự thay

đổi đột ngột về lượng tài nguyên yêu cầu (tăng rất nhanh, giảm cũng rất nhanh)

Ví dụ như hệ thống kinh doanh online trong thời gian sales, hoặc hệ thống cấpcứu khi gặp sự cố trên diện rộng…

c Hệ thống Variable

Hình 2.4: Hệ thống Variable

 Đây được hiểu là hệ thống có những thay đổi về yêu cầu tài nguyên ở

mức trung bình, với mức xê xích có thể tính toán trước được Ví dụ như hệthống các trang báo mạng điện tử hoặc những trang nghe nhạc, với những hệthống này, lương người dùng là không cố định Tuy nhiên lại có thể tính toán

được mức giới hạn trên của hệ thống (mang tính chất tương đối) để phân bổ tài

nguyên phù hợp

d Hệ thống Consistent:

Hình 2.5:Hệ thống Consistent

Trang 28

Đây là những hệ thống yêu cầu về tài nguyên theo một chu kì nhất định.Thường là những hệ thống như HR application, Accounting, Email…

 Phương pháp Time Base thường được dùng cho các hệ thống

ON&OFF và Consistent

b Reactive:

 Đây là cơ chế mà chúng ra sẽ xây dựng các tập luật, mà khi hệ thống

vi phạm luật trong tập luật này thì chúng ta sẽ đưa ra hành động cụ thể

Ví dụ như khi hệ thống chạy ngốn 80% tài nguyên trong 5s thì ta phải thực thiscaling Tất cả các thông số trong các tập luật đều do người lập trình cài đặt

trước.Phương pháp này thường được sử dụng trong các hệ thống : Fast Growth,

Variable

c Predictive:

 Hệ thống này có nét tương tự như hệ thống Reactive, tuy nhiên hệthống này có thể ứng dụng công nghệ máy học (machine learning) vào để giúpcác tập luật được hoàn thiện hơn, và từ đó có thể đưa ra những quyết định phùhợp hơn với hệ thống Phương pháp này thường được sử dụng trong các hệthống : Fast Growth, Variable

2.1.4 Mô hình h ệ thống [10]

Nhà cung cấp dịch vụ đám mây nhận thấy rằng khi hệ thống sẽ có lúc khônghoạt động hết công sức nên đưa ra một cơ chế đấu giá auction-like để tăng lợi nhuận

Trang 29

đầu tư thông qua việc bán các instance, những instance bán theo cách này được gọi

là spot instance Mặc dù rằng spot instance thường rẻ hơn so với các on-demandinstance 90%, họ có thể bị chấm dứt bởi nhà cung cấp khi giá đấu thầu thấp hơn giáthị trường Vì vậy, chúng được sử dụng rộng rãi để cung cấp các ứng dụng có tínhchịu lỗi Ý tưởng là tận dụng lợi thế của sự khác biệt về giá giữa các kiểu khác nhaucủa các spot instance để đạt được tính sẵn sàng cao và tiết kiệm chi phí Đầu tiênmột mô hình chịu lỗi cho các ứng dụng được cung cấp bởi các spot instance Trên

cơ sở đó, đưa ra các chính sách Auto-scaling mới cho thị trường điện toán đám mâytheo hóa đơn tính tiền theo giờ

Có ba mô hình tính giá phổ biến trong cơ sở hạ tầng (IaaS) cung cấp dịch vụ

điện toán đám mây hiện nay, cụ thể là on-demand, trong đó mua máy ảo (VM) được

thanh toán theo số lượng thời gian tiêu thụ và chi phí đơn vị được xác định trướccủa từng loại VM đặt trước, người dùng phải trả một khoản lệ phí trước cho mỗimáy ảo để đảm bảo an toàn việc sử dụng và giá rẻ hơn trong một thời gian hợp đồngnhất định, và ngay tại chỗ

Mô hình spot pricing đã được giới thiệu, bán công suất đang còn trống của

họ trên thị trường mở thông qua một cơ chế đấu giá Các nhà cung cấp tự động đặtgiá thị trường của từng loại VM theo nhu cầu và cung cấp thời gian thực Để thamgia vào thị trường, một người sử dụng điện toán đám mây cần phải đưa ra một giá

xác định số lượng các instance cho kiểu VM mà họ muốn và đơn giá tối đa họ chấp

nhận trả Nếu giá dự thầu vượt giá thị trường hiện tại, giá thầu sẽ đươc chấp nhận.Sau khi nhận được máy ảo, người dùng chỉ phải trả mức giá thị trường hiện tại chứkhông không phải trả giá mà anh ta dự thầu, kết quả là chi phí tiết kiệm so với các

VM mà hoá đơn theo giá on-demand (thường chỉ có 10% đến 20% ) [1] Tuy nhiên,

spot VM sẽ bị chấm dứt bởi nhà cung cấp đám mây bất cứ khi nào giá cả thị trườngcủa họ tăng lên vượt quá giá chào thầu

Mô hình này lý tưởng cho các ứng dụng chịu lỗi và thời gian không quantrọng như ứng dụng khoa học máy tính, phân tích dữ liệu lớn, và các ứng dụng xử lýtruyền thông Mặt khác, nó phù hợp cho các ứng dụng, như các ứng dụng web, còn

Trang 30

các dịch vụ mà sự ổn định của chất lượng dịch vụ (QoS) được xem là cực kỳ quantrọng thì không phù hợp để triển khai trên spot instance.

Thị trường spot instance tương tự như một thị trường chứng khoán, mặc dù

có thể theo xu hướng chung, mỗi mục được liệt kê có hành vi thị trường đặc biệtcủa nó theo cung cầu riêng của mình Trong loại này của thị trường, thường chênhlệch giá xuất hiện với một số instance giá cao do nhu cầu cao, trong khi một số cònlại được ưa chuộng đến chương trình khuyến mại hấp dẫn Bằng cách khai thác sự

đa dạng trong thị trường này, người sử dụng điện toán đám mây có thể sử dụng các

spot instance càng lâu càng tốt để giảm hơn nữa chi phí của họ Gần đây, Amazon

đã giới thiệu các Spot Fleet API [2], trong đó cho phép người sử dụng đặt giá thầu

cho tài nguyên dùng chung cùng một lúc Việc cung cấp các nguồn tài nguyên đượcquản lý tự động bởi Amazon sử dụng sự kết hợp của các spot instance với chi phíthấp nhất Tuy nhiên, nó vẫn còn thiếu khả năng chịu lỗi để tránh ảnh hưởng hiệusuất sẵn có do chấm dứt đột ngột của spot instance, và do đó, không phù hợp đểcung cấp ứng dụng web

Để giải quyết vấn đề này, một hệ thống Auto-scaling đáng tin cậy cho cácứng dụng web bằng cách sử dụng các spot instance không đồng nhất cùng với các

on-demand instance Cách tiếp cận không chỉ làm giảm đáng kể chi phí tài chínhcủa việc sử dụng nguồn tài nguyên điện toán đám mây, nhưng cũng đảm bảo tínhsẵn sàng cao và thời gian đáp ứng thấp, ngay cả khi một số spot máy ảo được chấmdứt đột ngột bởi nhà cung cấp đám mây đồng thời hay liên tục trong một khoảngthời gian ngắn

Trang 31

2.1.4.1 Cấu trúc hệ thống Auto-scaling

Hình 2.6: Kiến trúc hệ thống Auto-scaling on-demand

Như được minh họa trong hình 2.6, hệ thống Auto-scaling là hệ thống một

single-tier (thường là tầng máy chủ ứng dụng) của một ứng dụng bằng cách sử dụngmột hỗn hợp các on-demand instance và spot instance Việc cung cấp on–demand

instance là instance đồng nhất với chi phí-hiệu quả nhất liên quan đến các ứng

dụng, trong khi các spot instance là không đồng nhất

Hệ thống bao gồm các module giám sát, các module ra quyết định, và cânbằng tải Các module giám sát bao gồm nhiều giám sát độc lập chịu trách nhiệm choviệc lấy thông tin mới nhất hệ thống tương ứng như sử dụng tài nguyên, tỷ lệ yêucầu, spot giá cả thị trường, và trạng thái máy ảo trong hệ thống Các module raquyết định sau đó đưa ra quyết định mở rộng quy mô theo thông tin thu được dựatrên các chiến lược được xác định trước và các chính sách khi cần thiết Trong hệthống có cluster ảo được cung cấp là không đồng nhất, cân bằng tải sẽ có thể phânphối những yêu cầu theo khả năng của mỗi VM đính kèm Các thuật toán phổ biến

được sử dụng trong trường hợp này là weighted round robin

Ngày đăng: 17/12/2016, 23:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w