Chương 1 được công bố ở các công trình (CT1), (CT2) và (CT3). Cân bằng tải trên điện toán đám mây 1. Giới thiệu chung về điện toán đám mây Điện toán đám mây ra đời từ những năm 1950 [66], khi máy chủ tính toán quy mô lớn được triển khai tại một số cơ sở giáo dục và tập đoàn lớn tại Mỹ. Trong những năm 1960 – 1990, xuất hiện luồng ý tưởng coi máy tính hay tài nguyên công nghệ thông tin có thể được tổ chức như hạ tầng dịch vụ công cộng, đây là tiền đề lớn cho sự phát triển sau này của điện toán đám mây.
Vào năm 2006, Công ty Amazon cung cấp nền tảng Amazon Web Services (AWS), đánh dấu việc thương mại hóa điện toán đám mây. Từ đầu năm 2008, Eucalyptus được giới thiệu là nền tảng điện toán đám mây mã nguồn mở đầu tiên, tương thích với API của AWS. Tính tới thời điểm hiện tại, có rất nhiều các sản phẩm điện toán đám mây được đưa ra như Google App Engine, Microsoft Azure, Nimbus. Điện toán đám mây, còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.
Thuật ngữ "đám mây" ở đây chỉ độ phức tạp của các cơ sở hạ tầng mạng Internet. Trong mô hình điện toán đám mây, cho phép người sử dụng truy cập các dịch vụ công nghệ từ nhà cung cấp điện toán đám mây mà không cần quan tâm đến hạ tầng mạng. Theo tổ chức IEEE, "Nó 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 7 Internet và chỉ đượ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,. Mô hình điện toán đám mây Theo định nghĩa của Viện Quốc gia Tiêu chuẩn và Công nghệ Mỹ (US NIST) [66]: Điện toán đám mây là mô hình điện toán cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên tính toán (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng, đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các giao tiếp với nhà cung cấp.
Những tài nguyên này có thể được cung cấp một cách nhanh chóng hoặc thu hồi với chi phí quản lý tối thiểu hoặc tương tác tối thiểu với nhà cung cấp dịch vụ. Cũng từ đây, NIST đưa ra mô hình điện toán đám mây mang năm đặc điểm cơ bản, ba mô hình dịch vụ và bốn mô hình triển khai cài đặt. Định nghĩa của NIST là một cách nhìn rõ ràng và bao quát về điện toán đám mây. Theo đó, mô hình này cho phép sử dụng dịch vụ theo yêu cầu; cung cấp khả năng truy cập dịch vụ qua mạng rộng rãi từ máy tính để bàn, máy tính xách tay tới thiết bị di động; với tài nguyên tính toán động, phục vụ nhiều 8 người, năng lực tính toán mềm dẻo, đáp ứng nhanh với nhu cầu thấp tới cao.
Mô hình điện toán đám mây cũng đảm bảo việc sử dụng các tài nguyên được “đo” để nâng cấp dịch vụ quản trị và tối ưu được tài nguyên, đồng thời người dùng chỉ phải trả chi phí cho phần tài nguyên đã sử dụng. Điện toán đám mây đã phát triển nhanh chóng và đạt được nhiều thành tựu to lớn như khả năng mở rộng và tính toán song song trên hệ thống tính toán lưới, từ đó giúp khách hàng chia sẻ tài nguyên triệt để và hữu ích nhất. Đáp ứng được nhu cầu mỗi lúc một lớn của việc lưu trữ dữ liệu và xử lý dữ liệu ngày nay, các trung tâm dữ liệu đã mỗi lúc một khổng lồ hơn và đến hiện nay có thể lên tới hàng triệu máy chủ khắp toàn cầu. Đặc điểm của điện toán đám mây [66]: - Khả năng truy cập rộng lớn: Người dùng có thể sử dụng bất kỳ thiết bị nào có kết nối internet như: computer, laptop, thiết bị di động… truy cập vào dịch vụ điện toán đám mây.
- Tự cấp dịch vụ theo nhu cầu: Người dùng được cấp tài nguyên theo nhu cầu một cách tự động, không cần sự can thiệp từ nhà cung cấp dịch vụ. - Không phụ thuộc vị trí địa lý: Tài nguyên trên dịch vụ điện toán đám mây được điều phối và chia sẻ linh hoạt. Người dùng không biết và không thể điều khiển được vị trí tài nguyên. - Tính co giãn nhanh: Tài nguyên trên dịch vụ “đám mây” có thể được cấp phát hoặc thu hồi một cách nhanh chóng, linh hoạt và có khả năng thay đổi tài nguyên tăng lên hoặc giảm xuống theo nhu cầu sử dụng.
- Dịch vụ đo lường: Các hệ thống điện toán đám mây có khả năng tự điều khiển, tinh chỉnh và giám sát, đo lường tài nguyên. 9 Điện toán đám mây có 3 loại mô hình dịch vụ [66]: Nhà cung cấp tạo ra nhiều ứng dụng cơ bản, hoàn chỉnh và triển khai thành dịch vụ để đáp ứng nhu cầu của đại đa số người dùng. Những ứng dụng này được lưu trữ trên máy chủ của nhà cung cấp hoặc máy khách SaaS hàng đã có tải ứng dụng xuống thiết bị. Người dùng chỉ việc sử dụng dịch vụ mà không cần quan tâm các vấn đề khác.
Ví dụ: Dịch vụ email hay các ứng dụng Zalo, Google Docs, Google Calendar, Google Translate của Google, SmallPDF, OneDrive, Evennote, Facebook, Twitter,… Cung cấp cách thức, tính năng cần thiết cho việc xây dựng ứng dụng trên một nền tảng nào đó. Có 2 dạng hạ tầng được xây dựng phổ biến là hạ tầng trao đổi thông tin ứng dụng (middleware) và nền tảng ứng dụng PaaS (application server) với các công cụ và ngôn ngữ lập trình nhất định để xây dựng ứng dụng. Người dùng triển khai ứng dụng mà không cần quan tâm đến chi phí hay thông số phần cứng và phần mềm bên dưới. Ví dụ: Google App Engine, Openshilt, Salesforce, Microsoft Azure.,… Nhà cung cấp triển khai hạ tầng phần cứng (VM, network, vùng lưu trữ) trên các hệ thống phân tán và cung cấp dịch vụ cho người.
Người dùng không thể biết thông tin hạ tầng thực tế bên trong “đám mây” nhưng có IaaS toàn quyền quản lý và sử dụng tài nguyên được cung cấp, cũng như yêu cầu mở rộng tài nguyên. Ví dụ: Amazon EC2/S3, Elastra (Beta 2.0 2/2009), Nirvanix, AppNexus,… Hình 1. Các dịch vụ điện toán đám mây 10 IaaS PaaS SaaS Dịch vụ Người dùng Dịch vụ Người dùng Dịch vụ Người dùng Ứng dụng X X X Dữ liệu X X X Thời gian chạy X X X Middleware X X X Hệ điều hành X X X Ảo hóa X X X Máy chủ X X X Vùng lưu trữ X X X Mạng kết nối X X X Ứng dụng X X X Hình 1. Mức độ cung cấp dịch vụ của các mô hình điện toán đám mây 1.
Cân bằng tải và hiệu năng cân bằng tải trên điện toán đám mây Theo tài liệu [111] tác giả định nghĩa cân bằng tải là kỹ thuật phân bố lưu lượng mạng qua nhiều máy chủ, đảm bảo rằng không có máy chủ nào bị quá tải. Cân bằng tải làm tăng khả năng đáp ứng của ứng dụng bằng cách phân phối các yêu cầu một cách đồng đều. Bằng cách này, sẽ giúp cho hệ thống của doanh nghiệp giảm thiểu một cách tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động. Hoặc khi một máy chủ gặp sự cố, chức năng cân bằng tải đám mây sẽ chỉ đạo phân phối công việc của máy chủ đó cho các máy chủ còn lại, cải thiện năng suất hoạt động tổng thể của 11 hệ thống.
Khái niệm cân bằng tải chủ yếu đề cập đến ý tưởng phân phối tải đồng đều trên các tài nguyên công nghệ thông tin có sẵn [112]. Cân bằng tải cũng tập trung vào việc giảm thiểu độ trễ tương ứng với các yêu cầu và do đó cải thiện việc sử dụng tài nguyên, nâng cao hiệu suất hệ thống. Nó cung cấp tính đàn hồi và khả năng thích ứng cho các ứng dụng có kích thước có thể thay đổi theo thời gian và đòi hỏi thêm tài nguyên công nghệ thông tin. Các mục tiêu khác là giảm sử dụng năng lượng và giải phóng các-bon, tránh tắc nghẽn, đáp ứng các yêu cầu về QoS.
Theo tài liệu [110] cân bằng tải là một vấn đề phổ biến trong đám mây để duy trì hiệu suất của các ứng dụng thỏa mãn chất lượng dịch vụ (QoS) và tuân theo thỏa thuận mức dịch vụ (SLA) theo yêu cầu từ các nhà cung cấp đám mây cho doanh nghiệp. Các nhà cung cấp đám mây phải vật lộn để phân phối khối lượng công việc đồng đều giữa các máy chủ. Một kỹ thuật cân bằng tải hiệu quả phải tối ưu hóa và đảm bảo sự hài lòng cao của người dùng bằng cách sử dụng tài nguyên của máy ảo một cách hiệu quả. Các thuật toán cân bằng tải trên điện toán đám mây luôn cố gắng giải quyết một vấn đề cụ thể, bên cạnh đó cũng phải xét đến: bản chất của yêu cầu, quy mô của yêu cầu, sự phụ thuộc của các yêu cầu, khả năng chia nhỏ các yêu cầu, độ phức tạp thuật toán, kiến trúc phần cứng.
Việc thiết kế thuật toán cân bằng tải phải xét đến các yêu tố này để nâng cao khả năng cân bằng tải, hay nói cách khác là nâng cao hiệu năng cân bằng tải. Bên cạnh các yếu tố trên, thuật toán cân bằng tải cần cải thiện các tham số ảnh hưởng đến khả năng cân bằng tải, đó là: thời gian đáp ứng, thời gian xử lý, thời gian chờ, độ trễ,…Bài toán cân bằng tải là một bài toán không có lời giải tối ưu, tuy nhiên các thuật toán cân bằng tải khi cải thiện các tham số này thì phải chấp nhận hy sinh tham số khác trong mức độ cho phép. Nâng cao hiệu năng cân bằng tải là nhiệm vụ của các thuật toán cân bằng tải thông qua việc tối ưu các tham số ảnh hưởng đến cân bằng tải, giảm chi phí thời gian phục vụ các truy vấn của người dùng. Sự cần thiết của cân bằng tải trên điện toán đám mây Do sự phát triển không ngừng của điện toán đám mây nên vấn đề trao đổi, xử lý, an toàn dữ liệu và đặc biệt vấn đề cân bằng tải truy nhập là những vấn đề cấp thiết 12 và có ý nghĩa thực tiễn cao, vì vấn đề cơ bản nhất trong truyền thông là những vấn đề liên quan đến dữ liệu.
Tuy nhiên, với sự phát triển nhanh chóng về quy mô cũng như số lượng của các ứng dụng thì việc truy nhập này thường bị đe doạ bởi sự quá tải.