Nghiên cứu và phát triển giải pháp gán việc tối ưu chi phí trên nền tảng điện toán đám mây

MỤC LỤC

Cloud Computing

Điện toán đám mây là xu hướng công nghệ tiếp theo của cuộc cách mạng internet. Ví dụ như công ty cần thêm CPU, dung lượng lưu trữ hay băng thông,.

Thực tế tại các doanh nghiệp

• Công ty phát triển phần mềm: Ở Việt Nam, chủ yếu là công ty gia công phần mềm cho nhiều khách hàng trong và ngoài nước.

KHẢO SÁT VẤN ĐỀ

LÝ THUYẾT 2.1 MÔ TẢ VẤN ĐỀ

      LỜI GIẢI

        Người dùng ( Users): Là người muốn sử dụng hệ thống để tìm cách thuê máy ảo rẻ nhất từ các nhà cung cấp dịch vụ trên nền điện toán đám mây. 1 Calculate Thực hiện tính toán chi phí thấp nhất từ danh sách máy ảo mà người dùng yêu cầu. 3 Import from XML file Ngoài cách nhập dữ liệu danh sách máy ảo bằng cách điền vào mẫu, người dùng có thể nhập vào một văn bản theo chuẩn XML mà dịch vụ đưa ra (xem Phụ Lục 1).

        4 Export to XML file Sau khi nhập dữ liệu danh sách máy ảo, người dùng có thể xuất ra một văn bản XML mà dịch vụ đưa ra (xem Phụ lục 1) để sử dụng cho lần tính toán sau. Kết quả này có thể được xuất ra một văn bản XML để dùng cho nhu cầu thuê, in ấn, báo cáo, xem lại. 6 View Result Khi đã có văn bản XML chứa kết quả, người dùng có thể xem lại kết quả này theo giao diện thân thiện hơn.

        - Người dùng nhập vào số lượng nhà cung cấp tối đa - Hệ thống sẽ tính toán để đưa ra kết quả tốt nhất. Dòng sự kiện chính - Usecase này bắt đầu khi người dùng chọn nhập dữ liệu máy ảo bằng văn bản XML. Tóm tắt Người dùng có thể xuất ra một văn bản XML mà dịch vụ đưa ra để sử dụng cho lần tính toán sau.

        Dòng sự kiện chính - Usecase này bắt đầu khi người dùng chọn chức năng xuất ra văn bản XML. Kết quả này có thể được xuất ra một văn bản XML để dùng cho nhu cầu thuê, in ấn, báo cáo, xem lại. Dòng sự kiện chính - Usecase này bắt đầu khi người dùng chọn chức năng xuất kết quả ra văn bản XML.

        Tóm tắt Khi đã có văn bản XML chứa kết quả, người dùng có thể xem lại kết quả này theo giao diện than thiện hơn. Sau khi thành công Hệ thống sẽ đưa kết quả lên màn hình qua một giao diện than thiện hơn.

        THIẾT KẾ HỆ THỐNG

          Sau khi thành công Người dùng tải về văn bản XML chứa kết quả tính toán. Dòng sự kiện chính - Usecase này bắt đầu khi người dùng chọn chức năng xem lại kết quả. - Hệ thống sẽ đưa kết quả lên màn hình qua một giao diện than thiện hơn.

           Tầng tiền xử lý: Tầng này sẽ làm nhiệm vụ tạo ra ma trận chi phí. Với mỗi yêu cầu nó duyệt qua tất cả các nhà cung cấp để tìm chi phí thuê tốt nhất đối với mỗi nhà cung cấp. Khi nhận được nghiệm thì nó chuyển thành thông tin gửi cho tầng giao tiếp.

           Tầng xử lý chính: Tầng này làm nhiệm vụ giải bài toán tuyến tính với ma trận chi phí và trả về nghiệm cho tầng tiền xử lý.  Bảng input, để cho người dùng cấu hình máy ảo muốn thuê, được đặt nằm phía trên.  VIEW RESULT FROM XML, yêu cầu hệ thống hiển thị kết quả từ một file xml , là output của hệ thống.

           EXPORT RESULT TO XML, yêu cầu hệ thống xuất kết quả ra file chứa xml. Đối tượng Processing duyệt qua toàn bộ các nhà cung cấp để tìm giá thuê thấp nhất với mỗi nhóm máy ảo, giá trị này được ghi vào bảng (costTable).  Lớp GroupVM: lớp này đại diện cho một tập các máy ảo phải chung nhà cung cấp.

           Lớp Provider: Lớp này đại diện cho các nhà cung cấp (Amazon, Microsoft, FPT,. …) nó có thuộc tính quan trọng tới giá cả là VMPlan.

          THỰC HIỆN

             Chính sách cho thuê :Giống như Cloud Sigma, Elastic Host cho phép người dùng chọn cấu hình máy tùy theo nhu cầu sử dụng nằm trong giới hạn cho phép của họ. Nhà cung cấp CloudSigma cho phép thuê máy ảo với cấu hình tùy ý và cho thuê theo giờ nên trong yêu cầu máy ảo trên, người sử dụng chỉ phải trả cho chính xác những gì họ sử dụng từ cấu hình máy ảo đến thời gian sử dụng máy. - Khi tăng số lượng giờ lên 20 giờ mỗi ngày (trong thời gian 30 ngày) thì hệ thống lại đưa ra kết quả chi phí thuê nhỏ nhất khi thuê tại nhà cung cấp ElasticHost.

            Khi tăng thời lượng lên 20 giờ mỗi ngày, chi phí thuê máy ảo theo từng giờ như của nhà cung cấp CloudSigma lại cao hơn chi phí thuê theo tháng của nhà cung cấp ElasticHost. Như vậy, tuy người sử dụng chỉ yêu cầu 20 tiếng mỗi ngày, nhưng nếu thuê tại nhà cung cấp ElasticHost, người dùng có thêm 4 tiếng sử dụng mỗi ngày mà chi phí vẫn là thấp nhất so với việc thuê tại các nhà cung cấp khác, số tiền phải trả là 157.91$. - Khi thời gian thuê tăng thêm 2 ngày, nếu áp dụng chính sách thuê theo tháng như ở ElasticHost thì người sử dụng phải thuê 2 tháng trong khi chỉ cần sử dụng 32 ngày nên cách thuê này sẽ có chi phí rất cao mà lại thừa ra rất nhiều thời gian không cần sử dụng máy ảo.

            Khi người sử dụng không dùng máy ảo trong vòng 4 giờ của 1 ngày và tắt máy ảo, người dùng vẫn phải trả tiền vì nhà cung cấp vẫn dành lượng tài nguyên cho máy ảo của người sử dụng. Tuy nhiên, nhà cung cấp này lại có một cấu hình máy ảo thỏa mãn yêu cầu của người sử dụng và giá thuê lại thấp hơn so với nhà cung cấp Storm On-Demand. Tuy nhiên, do chính sách của Amazon chú trọng vào những khách hàng lâu dài nên với thời lượng 2 năm, người dùng thuê máy ảo tại nhà cung cấp Amazon có chi phí rẻ hơn so với nhà cung cấp Storm OnDemand và các nhà cung cấp khác.

            Và nếu thời hạn sử dụng là nhiều hơn 2 năm một thời gian nhất định thì người sử dụng được khuyến cáo chọn phương thức thuê Medium Reserved và Heavy Reserved : tức là trả trước một mức phí cao hơn so với Light Reserved và sau đó chi phí theo giờ giảm đi rất nhiều so với Light Reserved. - Do Amazon không tính chi phí băng thông đi vào máy ảo trong khi Storm OnDemand lại tính chi phí cả băng thông đi vào và băng thông đi ra nên chi phí thuê máy ảo tại nhà cung cấp Amazon thấp hơn so với nhà cung cấp Storm OnDemand và các nhà cung cấp khác. - Với tất cả các yêu cầu máy ảo trên nằm trong một nhà cung cấp, hệ thống cho ra kết quả chi phí thấp nhất khi người dùng thuê máy ảo tại nhà cung cấp Amazon.

            - Hai máy ảo Server Group server_2 và Server Group server_4 trong trường hợp trước do nhà cung cấp Storm cung cấp, trong trường hợp số nhà cung cấp tối đa tăng lên thì ElasticHost cung cấp 2 máy ảo này với chi phí nhỏ hơn so với nhà cung cấp Storm. - Trong trường hợp này, nhà cung cấp JoyentCloud cung cấp duy nhất máy ảo Server Group server_4 và nhà cung cấp ElasticHost cung cấp duy nhất máy ảo Server Group server_2. - Khi số lượng nhà cung cấp tối đa tăng lên 6, kết quả giá thấp nhất giống y hệt kết quả khi số lượng nhà cung cấp tối đa là 5 và tổng chi phí bằng tổng số yêu cầu máy ảo riêng biệt.

            - Người sử dụng cần phải xác định nhu cầu thực sự của mình vì các nhu cầu chênh lệch nhau rất ít nhưng chi phí lại có thể chênh lệch rất nhiều và có thể lãng phí tài nguyên dẫn đến lãng phí tiền bạc.

            HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN

            - Các nhà cung cấp khác nhau có chính sách cho thuê máy ảo khác nhau nên đáp ứng cho từng yêu cầu máy ảo riêng biệt. Hệ thống cần tìm ra giải pháp để có thể cho người dùng thêm ràng buộc hay xóa ràng buộc một các linh hoạt. • Chính sách giá từ các nhà cung cấp được cập nhật bằng tay vì vậy kết quả sinh ra sẽ bị không còn đúng sau một tháng hay một tuần, do nhà cung cấp thay đổi giá dịch vụ rất nhanh để cạnh tranh.

            Vì vậy chúng em phải tìm ra giải pháp cho hệ thống cập nhật các chính sách giá đó một cách tự động. • Các nhà cung cấp khác nhau có chất lượng dịch vụ khác nhau nhưng hiện tại chỉ đáp ứng được việc tính toán giá. Hệ thống cần phải có thêm chức năng xem xét chọn nhà cung cấp dựa vào độ uy tín và chất lượng dịch vụ.