CÁC CHỦ ĐỀ NÂNG CAO
6.5. CÁC ỨNG DỤNG HỖ TRỢ CHO ĐIỆN TỐN ĐÁM MÂY
ĐÁM MÂY
Những năm trở lại đây, cùng với sự phát triển của cơng nghệ điện tốn đám mây, rất nhiều các ứng dụng hoặc giải pháp ra đời với mục đích hỗ trợ cho các dịch vụ này. Bên cạnh một số giải pháp hướng tới việc đưa ra các chuẩn và tiêu chuẩn hĩa đám mây như OCCI, CDMI, OVF, một số ứng dụng khác lại hướng tới giúp người dùng dễ dàng hơn trong việc sử dụng điện tốn đám mây. Hầu hết các dịch vụ này đều hướng vào mơ hình dịch vụ IaaS và một số dịch vụ PaaS, chúng cĩ thể chia thành hai hướng chính như sau:
– Các giải pháp trừu tượng hĩa API (API abstraction) của các đám mây. – Các giải pháp triển khai ứng dụng trong các hệ phân tán.
Các giải pháp trừu tượng hĩa API tập trung vào hướng cho phép điều khiển, quản lý các
dịch vụ đám mây thơng qua một giao diện duy nhất. Ban đầu các giải pháp này phục vụ cho các đám mây IaaS, sau đĩ mở rộng chức năng cho phép phát triển và triển khai ứng dụng lên IaaS và PaaS. Một số ví dụ về các giải pháp này bao gồm:
– Simple Cloud API là một thư viện PHP trừu tượng hĩa API của nhiều đám mây để cung cấp giao diện lập trình thống nhất cho người dùng. Một giải pháp tương tự là Apache LibCloud, cung cấp thư viện Python. Tuy nhiên, khác với OCCI, các bộ thư viện này khơng yêu cầu sự hỗ trợ về cơng nghệ và kỹ thuật từ phía nhà cung cấp.
– Deltacloud định nghĩa REST API để quản lý tài nguyên từ các đám mây. Các API của Deltacloud được xây dựng và hoạt động thơng qua các yêu cầu/trả lời HTTP tới một service của Deltacloud. Để dễ sử dụng, giải pháp này cung cấp một giao diện dịng lệnh (command line). Khác với các giải pháp khác như Simple Cloud API hay Apache Libcloud, trong đĩ trĩi buộc người sử dụng sử dụng một ngơn ngữ lập trình cụ thể nào đĩ, Deltacloud cho phép người dùng gọi các yêu cầu HTTP bằng bất kỳ ngơn ngữ lập trình nào cũng như nhận trả lời là các tệp mơ tả dữ liệu dạng XML. Đây là các chuẩn được chấp nhận rộng rãi.
Bên cạnh các giải pháp trên cịn cĩ một loạt các cơng cụ khác như: jCloud, boto, enStartus, Dasein Cloud, Scalr, SAGA API đưa ra giải pháp tạo abstraction API tương tự. Một số giải pháp cho phép phát triển và triển khai ứng dụng dạng phần mềm định nghĩa (software defined) lên các đám mây mà nĩ hỗ trợ.
Các giải pháp triển khai ứng dụng trong các hệ phân tán. Các giải pháp này hướng vào việc
cho phép triển khai tự động các ứng dụng vào mơi trường phân tán các máy chủ, trong đĩ các máy ảo đám mây cũng là các máy chủ ở mơi trường phân tán. Lấy ví dụ, để xây dựng dịch vụ đám mây Hadoop-as-a-service, người quản trị hệ thống cần phải cài đặt hàng chục hoặc thậm chí hàng trăm máy ảo chứa Hadoop để chứa một khối lượng dữ liệu lớn của các ứng dụng. Theo kiểu thơng thường, người quản lý phải cài đặt bằng tay và cấu hình tuần tự từng máy ảo một. Cơng việc này sẽ tốn rất nhiều thời gian và cĩ thể dẫn đến khả năng xảy ra lỗi. Nhờ cĩ giải pháp tự động cài đặt, các nhà quản trị hệ thống chỉ việc định nghĩa các tệp cấu hình bằng ngơn ngữ dễ đọc, dễ mơ tả và các thành phần của Hadoop sẽ tự động được cài đặt trên các nút (các máy ảo). Các sản phẩm tiêu biểu cho hệ thống này gồm:
CFEngine là một phần mềm mã nguồn mở được viết bằng ngơn ngữ C. CFEngine sử dụng
mơ hình server/client. Bất kỳ trạng thái nào của máy khách (client) khác với máy chủ (server) (được người dùng định nghĩa trong tệp mơ tả) sẽ tự động cấu hình để trở thành trạng thái mong muốn.
Puppet được thiết kế bởi Puppet Labs. Puppet cũng là một cơng cụ mã nguồn mở được viết
bằng ngơn ngữ Ruby. Phần hạt nhân của giải pháp này cũng hoạt động giống CFEngine: cung cấp cho người sử dụng ngơn ngữ mơ tả cho phép họ viết các mã miêu tả trạng thái máy chủ dễ đọc và hiểu dưới dạng các đối tượng (object). Về kỹ thuật, máy chủ cài Puppet là tập hợp các tài nguyên đối tượng cĩ các thuộc tính. Máy khách cài Puppet giao tiếp với máy chủ thơng qua certificate được chứng thực SSL. Sau khi giao tiếp được kết nối, cấu hình được mơ tả trong tệp trạng thái sẽ được tự động áp dụng trên các máy khách. Thêm vào đĩ, cả máy chủ Puppet và máy khách đều cĩ API để quản lý và điều khiển các hoạt động cài đặt. Tuy nhiên, thơng thường chỉ cĩ máy chủ nghe các liên kết API. Điều này là phù hợp vì các máy khách khơng cần thiết phải đưa ra các lệnh gọi đồng bộ hĩa.
Chef cũng là một cơng cụ mã nguồn mở được phát triển bởi Opscode. Thiết kế của nĩ rất
giống với Puppet mặc dù nĩ khơng phải là một sản phẩm xuất phát từ mã phát triển của Puppet. Theo hướng này, Chef cũng được viết bằng ngơn ngữ Ruby và cũng được thiết kế lấy cảm hứng từ CFEngine.
Bcfg2 cũng là cơng cụ cấu hình tự động cho các máy chủ ở mơi trường phân tán được phát
triển bởi bộ mơn tốn và khoa học máy tính thuộc phịng thí nghiệm quốc gia Argonne. Bcfg2 được viết bằng Python, cấu hình của cơng cụ này sử dụng mơ hình miêu tả dữ liệu XML.
Hiện nay, các hướng nghiên cứu liên quan đến các ứng dụng của điện tốn đám mây này tập trung vào việc sử dụng các giải pháp trừu tượng để cĩ thể triển khai nhanh chĩng các ứng
dụng lên mây. Sau đĩ, mơ hình này sẽ cung cấp dịch vụ nền tảng triển khai ứng dụng IT cho phép khả năng tương tác giữa các đám mây với nhau (chỉ cần phát triển ứng dụng một lần nhưng triển khai được ứng dụng đĩ trên các đám mây khác nhau). Bên cạnh đĩ, giải pháp theo hướng này cũng mở ra khả năng cho phép các phần mềm cĩ sẵn đưa vào đám mây mà khơng cần phải phát triển lại. Song song với việc phát triển các giải pháp trừu tượng, việc sử dụng các cơng cụ triển khai ứng dụng trên các hệ phân tán cũng đang thu hút các nhà nghiên cứu về điện tốn đám mây hiện nay. Các cơng cụ này về bản chất cho phép khả năng triển khai các ứng dụng cĩ sẵn vào nhiều đám mây khác nhau. Tuy nhiên, hạn chế duy nhất là mơ hình này địi hỏi khả năng tạo ra nền tảng phát triển ứng dụng cho người dùng. Hiện tại, ngồi việc định nghĩa các tệp cấu hình cho máy khách, người dùng vẫn chưa cĩ phương pháp nào phát triển hiệu quả các ứng dụng để đưa lên mây.
6.6. CÂU HỎI VÀ BÀI TẬP
1. Trình bày khả năng tương tác (interoperability) của đám mây và khả năng tương tác của các dịch vụ đám mây.
2. Open Virtualization Format (OVF) là gì? Trình bày mơ hình hoạt động của OVF? 3. OCCI là gì? Trình bày mơ hình hoạt động của OCCI.
4. Vai trị của OVF và OCCI trong việc cho phép khả năng tương tác của các đám mây là gì?
5. Thế nào là khả năng tương tác các đám mây theo chiều dọc của dịch vụ và khả năng tương tác theo chiều ngang của dịch vụ.
7. CDMI là gì? Trình bày mơ hình hoạt động của CDMI.
8. Trình bày về các chuẩn đề nghị cho cơng nghệ điện tốn đám mây hiện nay, bao gồm các chuẩn cơng nghệ phát triển dịch vụ điện tốn đám mây.
9. Thế nào là một đám mây liên bang?
10. Trình bày về cấu trúc chung của một đám mây liên bang. 11. Nêu một số ví dụ về đám mây liên bang.
12. Các yếu tố cản trở sự hình thành đám mây liên bang là gì?
13. Trình bày sự khác biệt giữa đám mây riêng và đám mây cơng cộng, đám mây lai, đám mây cộng đồng dưới gĩc nhìn về bảo mật an tồn dữ liệu.
14. Trình bày một số rủi ro chính gặp phải với dữ liệu trong mơi trường đám mây. 15. Trình bày về kỹ thuật mã hĩa cho Public Key Infrastructure (KPI). Trình bày về
các kỹ thuật mã hĩa dữ liệu đám mây.
16. Trình bày về các kỹ thuật bảo đảm an tồn truy cập dịch vụ đám mây.
17. Trình bày phương pháp chính đảm bảo an tồn tránh thảm họa xảy ra đối với các máy chủ dữ liệu đám mây.
18. Trình bày về mơ hình mơi giới dịch vụ đám mây.
19. Các yêu cầu đặt ra trong mơ hình mơi giới dịch vụ đám mây là gì? 20. Trình bày về dịch vụ giám sát cho mơi hình mơi giới dịch vụ đám mây. 21. Trình bày các giải pháp và cơng cụ phục vụ cho điện tốn đám mây.
22. Nêu ví dụ và đặc điểm của một trong số các cơng cụ phục vụ cho điện tốn đám mây. So sánh cơng cụ này và các cơng cụ cĩ chức năng tương đương.