Chương 1 Giới thiệu Điện toán đám mây, giấc mơ lâu nay về tài nguyên tính toán như một tiện ích, có tiềm năng thay đổi một phần to lớn ngành công nghiệp máy tính, giúp phần mềm máy tính trở nên thu hút hơn khi tiếp cận như là một dịch vụ và định hình phần cứng máy tính được thiết kế, thương mại hóa [1]. Môi trường điện toán đám mây cho phép linh động trong việc phân phối tài nguyên và sử dụng hiệu quả nguồn tài nguyên được cấp theo đơn vị. Một hệ thống điện toán đám mây có thể được tạo nên do liên kết nhiều cụm máy tính khác nhau. Các ứng dụng triển khai trên điện toán đám mây có thể được di dời giữa các cụm máy tính này để mục tiêu sử dụng hiệu quả tài nguyên tính toán.
Đề tài hướng đến di dời ứng dụng từ một cụm máy tính này sang một cụm máy tính khác để tăng hiệu quả sử dụng tài nguyên trên điện toán đám mây. Việc di dời động toàn bộ máy ảo được nghiên cứu trên điện toán đám mây nhưng kích thước máy ảo là rất lớn. Phương pháp di dời ứng dụng dùng kĩ thuật lưu ảnh phục hồi (checkpointing) chưa được phát triển nhưng có lợi ích là tiết kiệm thời gian và dung lượng đĩa. Ảnh di dời giữa các cụm máy tính có kích thước nhỏ tiêu tốn ít tài 11 nguyên băng thông mạng vốn ưu tiên dành cho ứng dụng.
Khi các ứng dụng được di dời, tài nguyên máy ảo được giải phóng giúp tiết kiệm năng lượng và giảm trừ các vấn đề về nhiệt tỏa ra từ các máy vật lí chạy không hoặc ít tải. Điện toán đám mây đặt ra cho việc xây dựng phần mềm những vấn đề về co giãn kích thước khi hệ thống tạo nên bởi nhiều thành phần không đồng nhất, thay đổi động và được phân bố khác nhau có tính địa phương. Những kết quả nghiên cứu về lưu ảnh ứng dụng ở mức hệ thống kết hợp các hệ thống xử lý sự kiện trên môi trường phân bố cho phép di ứng dụng một cách linh hoạt tại thời điểm thực thi. Sử dụng hệ thống hướng sự kiện phân bố để định địa chỉ đề tài phát triển hệ thống Event-based checkpointing (EBC) để di dời ứng dụng trên nền điện toán đám mây.
Kiến trúc hệ thống hương đến tính mở để hỗ trợ những dịch vụ quản lý ở mức cao hơn như lập lịch, cân bằng tải. Mức độ quản lý hệ thống chi tiết đến từng máy ảo mở ra khả năng quản lý môi trường thực thi bên trong máy ảo nơi mà những công vụ quản lý ở cấp độ máy ảo không can thiệp được. Những đóng góp của đề tài bao gồm: a) Kháng lỗi: cung cấp cơ sở hiện thực cho phép chạy ứng dụng cần thời gian dài trong điều kiện có lỗi xảy ra b) Kiến trúc: Phù hợp triển khai trên nền điện toán đám mây: xây dựng kiến trúc mềm dẻo giữa các kết nối Kiến trúc mở: hỗ trợ những dịch vụ ở cấp cao hơn Chi phí thấp: không yêu cầu về tính đồng bộ hóa giữa các thành phần c) Mô hình quản lí môi trường thực thi trên máy ảo: đề tài cung cấp một hiện thực về khả năng quản lý ở mức độ môi trường thực thi trên điện toán đám mây. 12 d) Nâng cao hiệu quả sử dụng tài nguyên (i) cân bằng tải, các ứng dụng có nhiều tài nguyên thực thi hơn (ii) sử dụng hiệu quả năng lượng: các tác vụ trên cái máy vật lí rỗi có thể được gom lại.
e) Phát triển công cụ: quản lí tài nguyên trên các cụm máy và trên từng máy ảo. Phần còn lại của luận văn trình bày được tổ chức như sau. Chúng tôi giới thiệu về các đặc điểm của điện toán đám mây trong Chương 2 và giới thiệu về mô hình cũng như phép toán kell-m biểu diễn hệ thống hướng sự kiện phân bố trong chương 3. Trong Chương 4, các phương án di dời được xem xét làm và hệ thống EBC được mô tả trong Chương 5.
Trong Chương 6 là phần kiểm tra và đánh giá hệ thống được xây dựng. Chúng tôi kết thúc luận văn bằng các kết luận trong Chương 7 và các kiến nghị nghiên cứu tiếp theo trong Chương 8. 13 Chương 2 Điện toán đám mây Có nhiều định nghĩa về điện toán đám mây khác nhau nhưng đều nhấn mạnh về kích thước cực lớn của một hệ thống phân bố và sự thay đổi linh hoạt bên trong của hệ thống đó. Để có được những đặc tính đó, việc ứng dụng những kết quả nghiên cứu trong lĩnh vực ảo hóa các tài nguyên tính toán là một bước tiến quan trọng trong phân phối hiệu quả tài nguyên và đáp ứng yêu cầu về sự co giãn về kích thước của hệ thống tính toán.
Điện toán đám mây là một chủ đề đang được nghiên cứu phát triển với nhiều nhà cung cấp tham gia cung cấp nhiều dịch vụ khác nhau. Điện toán đám mây thường được cung cấp dưới 3 dạng dịch vụ [2]: dịch vụ phần mềm (Software as a Service-SaaS), dịch vụ nền tảng (Platform as a Service- PaaS) và dịch vụ hạ tầng (Infrastructure as a Service-IaaS). Trong đó dịch vụ hạ tầng là cơ sở để triển khai các dịch vụ nền tảng và dịch vụ phần mềm. Khi người dùng sử dụng các dịch vụ phần mềm họ không thấy trưc tiếp các yếu tố về hạ tầng.
Nhưng khi dịch vụ hạ tầng cung cấp một cách thức quản lý tài nguyên tốt thì hiệu quả của các dịch vụ đáp ứng yêu cầu của người dùng cũng được cải thiện. Dịch vụ nền tảng tập trung vào môi trường lập trình và môi trường thực thi như một dịch vụ trên Web. Hai dạng dịch vụ đầu của điện toán đám mây tách biệt, che dấu các yếu tố phần cứng. 14 Ứng dụng Người dùng Máy Dịch vụ phần mềm (SaaS) Thành phần Dịch vụ (service) (component) Dịch vụ nền tảng (PaaS) Tính toán Mạng Lưu trữ Dịch vụ hạ tầng (IaaS) Phần cứng Hình 1.
Điện toán đám mây Trong phần tiếp theo của chương sẽ trình bày các khái niệm về dịch vụ hạ tầng IaaS trong mục 2.1 và phần mềm quản lý hạ tầng điện toán đám mây trong mục 2. Những so sánh hình thức cung cấp dịch vụ điên toán đám mây cá nhân và điện toán đám mây công cộng được đề cập trong mục 2. Trên cơ sở đó, những mô tả về mô hình kết hợp nhiều nền tảng của các nhà cung cấp dịch vụ điện toán đám mây khác nhau, mục 2.4, cũng là môi trường triển khai hệ thống được xây dựng trong đề tài hướng đến. Các thảo luận về giới hạn phần mềm quản lí máy ảo ở mục 2.5 làm rõ mối quan tâm mà mục tiêu đề tài hướng đến.
Dịch vụ hạ tầng IaaS Dịch vụ hạ tầng cung cấp cho người dùng tài nguyên tính toán thông qua các thực thể máy áo được triển khai trên các máy vật lý. Dịch vụ hạ tầng gắn với các yếu tố phần cứng và mặc dù vẫn có thể được cung cấp ở dạng tài nguyên vật lý nhưng không phải là hình thức được chú trọng nhiều do những lợi điểm của việc ảo hóa mang lại. Thông qua ảo hóa, các tài nguyên vật lý có thể được chia nhỏ, phân 15 phát hay thay đổi động tùy theo yêu cầu. Dịch vụ hạ tầng là một dạng cung cấp máy chủ nhưng ở dạng trừu tượng hóa.
Dịch vụ hạ tầng Dịch vụ hạ tầng cung cấp phần cứng và dịch vụ quản lý các phần cứng đó qua các mức giá ứng với các thỏa thuận về chất lượng dịch vụ. Các tài nguyên lưu trữ (đĩa cứng), kết nối mạng và năng lực tính toán (CPU và bộ nhớ RAM) được cung cấp dưới dạng dịch vụ cho người dùng. Chất lượng dịch vụ (về băng thông kết nối, bộ nhớ và không gian lưu trữ) được cung cấp nhiều mức tương ứng với các mức giá Chính vì vậy, người dùng quan tâm điểm mạnh của dịch vụ nền tảng ở điểm linh hoạt về giá cả. Việc sử dụng tài nguyên tính toán có thể đo đạc [3] giúp làm rõ hoạch định đầu tư và người dùng chỉ phải cần phải chi trả cho những tài nguyên mà ứng dụng của họ yêu cầu.
Ở khía cạnh khác, nhà cung cấp dịch vụ cố gắng cải tiến, nâng cấp cơ sở hạ tầng của mình để tăng tính cạnh tranh. Như vậy trên một hạ tầng tính toán, hiệu quả sử dụng tài nguyên được gia tăng. Điện toán đám mây công cộng (public cloud) và điện toán đám mây cá nhân (private cloud) Khi một hệ thống điện toán đám mây được xây dựng và chia sẻ nhiều người dùng cùng sử dụng khi đó chúng ta nói hệ thống đó là điện toán đám mây công 16 cộng. Còn khái niệm điện toán đám mây cá nhân để chỉ những hệ thống được xây dựng không phải để sử dụng chung rộng rãi mà để phục vụ riêng cho một công việc nào đó.
Tuy nhiên, kích thước của hệ thống cũng phải đủ lớn để có thể tận dụng các thế mạnh của điện toán đám mây. Điện toán đám mây công cộng Điện toán đám mây cá nhân Tính sẵn sàng Sẵn sàng trong ngữ cảnh sử dụng Sẵn sàng nội bộ cho bao nhiêu-chi trả bấy nhiêu một công ty hoặc tổ chức Tính đại chúng Có Không Dịch vụ Bán tính toán tiện ích Phân phối/bán trong nội bộ cung cấp (utility computing) 2. Phần mềm quản lý đám mây mã nguồn mở Trong một phần mềm quản lý đám mây mã nguồn mở, chúng ta có thể xác định 6 thành phần thường gặp [4] với kiến trúc chung như mô tả trong hình 3 Máy vật lý gồm cấu hình phần cứng và hệ điều hành Kết nối mạng Chương trình quản lý máy ảo VMM Kho lưu trữ ảnh các đĩa cứng của các máy ảo Front-end để giao tiếp với người dùng Chương trình quản lý điện toán đám mây Thành phần đầu tiên máy vật lý: ở đây xem xét cả cấu hình phần cứng và hệ điều hành được cài đặt. Sở dĩ cấu hình phần cứng được quan tâm vì bộ vi xử lý của máy vật lý phải hỗ trợ tính năng virtualization thì hệ thống mới có thể triển khai các tính năng full-virtualization.
Nếu không có sự hỗ trợ phần cứng, hệ thống chỉ bị giới hạn ở mức độ paravirtulization. Hệ điều hành trong dự án đám mây mã nguồn mở cũng được quan tâm vì nó phải hỗ trợ hoạt động với những thành phần bên dưới của hệ thống. Các phần mềm quản lý đám mây thương mại được xây dựng trên nền tảng 17 phần cứng riêng, các dự án phần mềm quản lý đám mây mã nguồn mở phải hỗ trợ xây dựng trên nền tảng sẵn có gồm nhiều cấu hình phần cứng khác nhau.