Giải pháp lưu ảnh cho ứng dụng song song truyền thông điệp chạy trong môi trường đám mây

Trang nhan đề Lời cảm ơn Mục lục Danh mục Chương 1: Giới thiệu Chương 2: Công nghệ tính toán đám mây Chương 3: Lưu ảnh và phục hồi Chương 4: Lưu ảnh và phục hồi cho ứng dụng MPI trên môi trường tính toán đám mây Chương 5 Thử nghiệm và đánh giá Chương 6 Tổng kết và hướng phát triển Tài liệu tham khảo MỤC LỤC LỜI CẢM ƠN . 1 MỤC LỤC 2 Danh mục thuật ngữ, từ viết tắt .5 Danh mục các hình . .6 Danh mục các bảng .8 Chương 1 Giới thiệu .9 Chương 2 Công nghệ tính toán đám mây 12 2.1 Giới thiệu công nghệ tính toán đám mây .12 2.1.1 Quá trình phát triển 12 2.1.2 Định nghĩa điện toán đám mây .14 2.1.3 Các đối tượng hoạt động trên đám mây 14 2.1.4 Các dịch vụ được cung cấp trên hệ thống đám mây 15 2.2 Một số công nghệ nền tảng 16 2.2.1 Công nghệ Web service . .16 2.2.2 Công nghệ ảo hóa .19 2.3 Kiến trúc một hệ thống tính toán đám mây 22 2.4 Phân loại các hệ thống đám mây .23 2.4.1Hệ thống đám mây công cộng 23 2.4.2Hệ thống đám mây riêng 24 2.4.3Hệ thống đám mây lai 24 2.5 Một số dự án thực tế về tính toán đám mây .25 2.5.1 Amazon Elastic Compute Cloud (EC2) 26 2.5.2 Google App Engine 27 2.5.3 Microsoft Live Mesh 27 2.5.4 Sun Grid .27 2.5.5GRIDs Lab Aneka . .27 Chương 3 Lưu ảnh và phục hồi .29 3.1 Một số vấn đề cơ bản 29 3 3.1.1Sơ lược về lưu ảnh .29 3.1.2 Ứng dụng của lưu ảnh 30 3.1.3 Trạng thái lưu ảnh 31 3.1.4 Vùng nhớ ổn định . 34 3.1.5Dọn rác 35 3.2 Các cấp độ lưu ảnh . .36 3.2.1Lưu ảnh cấp hệ điều hành . 36 3.2.2Lưu ảnh trong suốt cấp người dùng 36 3.2.3Lưu ảnh không trong suốt cấp người dùng .37 3.3 Các tiêu chí đánh giá .37 3.3.1Thời gian lưu ảnh .38 3.3.2Tổng chi phí lưu ảnh 38 3.3.3 Độ trễ .38 3.4 Kỹ thuật lưu ảnh tiến trình đơn và một số cải tiến .39 3.4.1 Main memory checkpointing . .41 3.4.2 Copy-on-write 43 3.4.3 Concurrent low latency 45 3.4.4 Memory exclusion . .47 3.4.5 Nén dữ liệu lưu ảnh 48 3.4.6Một số dự án nổi bật . 49 3.5 Các kỹ thuật lưu ảnh chương trình song song 52 3.5.1 Checkpoint based .52 3.5.2 Log-based 59 3.5.3 So ánh các phương pháp . 68 3.5.4Một số dự án nổi bật . 69 3.5.5 Phân tích các giải thuật . 80 Chương 4 Lưu ảnh và phục hồi cho ứng dụng MPI trên môi trường tính toán đám mây 82 4.1 Triển khai ứng dụng trên môi trường tính toán đám mây .82 4.2 Vấn đề lưu ảnh và phục hồi trên môi trường điện toán đám mây .83 4.2.1Thuận lợi trong điều kiện mới 83 4.2.2 Khó khăn trong điều kiện mới 84 4 4.3 Giải pháp của luận văn 85 4.3.1 Giới hạn phạm vi giải quyết .85 4.3.2 Giải thuật đề xuất .87 4.3.3 Hiện thực giải thuật 90 Chương 5 Thử nghiệm và đánh giá .94 5.1 Hệ thống thử nghiệm .94 5.2 Ứng dụng thử nghiệm .95 5.3 Đánh giá giải thuật 97 Chương 6 Tổng kết và hướng phát triển . .99 6.1 Kết quả về lý thuyết 99 6.2 Kết quả về hiện thực .99 6.3 Hướng phát triển trong tương lai .100 TÀI LIỆU THAM KHẢO .101

pdf17 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2598 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Giải pháp lưu ảnh cho ứng dụng song song truyền thông điệp chạy trong môi trường đám mây, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
12 Chương 2 Công nghệ tính toán đám mây 2.1 Giới thiệu công nghệ tính toán đám mây 2.1.1 Quá trình phát triển Điện toán đám mây (cloud computing [1]) là một vấn đề đang rất được quan tâm nghiên cứu. Tuy nhiên, nó không phải là một sự phát triển mới mang tính cách mạng. Thực ra nó là một sự tiến hóa đã diễn ra trong suốt một vài thập kỷ như được trình bày trong hình 2.1. Hình 2.1: Sự phát triển hướng tới điện toán đám mây Xu thế hướng tới điện toán đám mây bắt đầu vào cuối những năm 80 với những khái niệm về điện toán lưới (grid computing [2]). Điện toán lưới, phổ biến với Globus Aliance vào năm 2003, giúp cho việc phối hợp hoạt động của các hệ thống tính toán nằm phân tán với nhau về mặt địa lý trở nên dễ dàng hơn. So với công nghệ ra đời trước là máy tính cụm (cluster computing [4]), điện toán lưới có phạm vi phân tán và hoạt động rộng hơn, mỗi một cluster có thể trở thành một thành phần tính toán (node) trong hệ thống lưới. Công nghệ lưới không đòi hỏi các thành phần 13 phải có sự tương đồng với nhau về cấu trúc, năng lực xử lý. Có thể xem môi trường lưới là một tập hợp rộng lớn các tài nguyên tính toán và có cấu trúc phân tán, không đồng nhất, mỗi nguồn tài nguyên có thể do một tổ chức riêng biệt quản lý. Người dùng sẽ thấy môi trường lưới như một máy chủ ảo khổng lồ với hệ thông phần cứng và hệ điều hành bên dưới được ảo hóa bởi một hệ thống trung gian (middleware [3]). Tuy nhiên, chính từ việc có một hạ tầng hỗn tạp nên hệ thống trung gian của một lưới tính toán thường rất phức tạp [5] và điều này khiến cho các thao tác tạo lập, triển khai và quản lý một dịch vụ trên môi trường lưới gặp nhiều khó khăn. Vào những năm 90, khái niệm ảo hóa được mở rộng, vượt khỏi phạm vi các máy chủ ảo sang những cấp độ cao hơn của sự trừu tượng hóa, đầu tiên đó là nền tảng ảo (virtual platform), và tiếp đó là ứng dụng ảo (virtual application). Điện toán theo nhu cầu (utility computing) cung cấp các máy cụm (cluster) theo yêu cầu để làm nền tảng ảo cho các ứng dụng. Và tiếp ngay sau đó là phần mềm như một dịch vụ (software as a service – SaaS) ra đời và phổ biến trong năm 2001, cung cấp cho người sử dụng các dịch vụ phần mềm trực tuyến. Điểm chung của điện toán theo nhu cầu và SaaS là người dùng có thể dễ dàng tùy chọn định mức sử dụng của mình và cũng chỉ phải trả phí cho định mức này mà thôi. Khái niệm điện toán đám mây (cloud computing [1]) được phát triển từ điện toán lưới, điện toán theo nhu cầu và SaaS. Trong môi trường đám mây, các tài nguyên điện toán như máy chủ, có thể được định hình động hoặc được cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nên sẵn sàng tiếp nhận tải công việc. Thế mạnh của hệ thống đám mây nằm ở khả năng quản lý cơ sở hạ tầng cùng với sự trưởng thành và tiến bộ của công nghệ ảo hóa để quản lý và sử dụng tốt hơn các tài nguyên vật lý thông qua sự tự động hóa việc cung cấp, tạo bản sao, cân bằng tải công việc, giám sát và xử lý yêu cầu thay đổi hệ thống. Các ứng dụng chạy trên môi trường đám mây sẽ nằm tại các trung tâm dữ liệu có tính mở rộng rất lớn, trong đó các tài nguyên điện toán có thể được cung cấp động và được chia sẽ để đạt được hiệu quả về kinh tế, và có thể được truy cập từ bất 14 cứ đâu thông qua các thiết bị được kết nối mạng. Sự phổ biến của các thiết bị di động thông minh, kết nối không dây tốc độ cao và các giao diện Web 2.0 phong phú đã biến mô hình điện toán đám mây qua mạng không chỉ trở thành hiện thực mà còn là một cách để giảm mức độ phức tạp của hạ tầng công nghệ thông tin. 2.1.2 Định nghĩa điện toán đám mây Có rất nhiều định nghĩa được đưa ra theo nhiều góc nhìn khác nhau về một hệ thống tính toán đám mây [28]. Với mục tiêu xác định các bản chất thực sự của một hệ thống đám mây, giáo sư Rajkumar Buyya [22] đã đưa ra một định nghĩa khá hoàn chỉnh như sau: “Điện toán đám mây là một dạng hệ thống song song phân tán bao gồm tập hợp các máy chủ ảo kết nối với nhau, các máy chủ ảo này được cấp phát tự động và thể hiện như một hay nhiều tài nguyên tính toán độc lập dựa trên sự đồng thuận ở mức dịch vụ (service-level agreement) được thiết lập thông qua quá trình đàm phán giữa người sử dụng và nhà cung cấp.” Điện toán đám mây rõ ràng là một hướng phát triển mới của các trung tâm dữ liệu (data center). Các máy chủ trong trung tâm dữ liệu mới này được ảo hóa bằng các công nghệ ảo hóa và được cấp phát động tùy theo nhu cầu sử dụng tài nguyên của người dùng để thỏa mãn một sự đồng thuận cụ thể ở mức dịch vụ. Sự đồng thuận này được thiết lập và có thể sử dụng như một dịch vụ có thể mở rộng (composable service) thông qua công nghệ web 2.0. 2.1.3 Các đối tượng hoạt động trên đám mây Hình 2.2 mô tả các đối tượng và các hoạt động cũng như mối quan hệ của chúng trên hệ thống đám mây. 15 Hình 2.2: Các đối tượng hoạt động trên đám mây [23] Các dịch vụ trên đám mây điện toán được những nhà cung cấp dịch vụ (service provider – SP) xây dựng và cung cấp cho người dùng thông qua các giao diện dựa trên Internet (Internet-base). Các hệ thống đám mây hướng tới việc chuyển hoạt động cấp phát nền tảng tính toán được yêu cầu về cho các dịch vụ ở host. Các cơ sở hạ tầng này được cung cấp như một dịch vụ bởi các nhà cung cấp cơ sở hạ tầng (infrastructure provider – IP). Chính điều này làm tăng độ linh động và giảm chi phí cho những nhà cung cấp dịch vụ khi triển khai dịch vụ cho khách hàng. 2.1.4 Các dịch vụ được cung cấp trên hệ thống đám mây Tùy theo loại năng lực được cung cấp, ta có thể chia các dịch vụ được cung cấp trên hệ thống đám mây thành ba dạng như sau 2.1.4.1 Cơ sở hạ tầng như một dịch vụ (Infrastructure as a Service – IaaS) Những nhà cung cấp cơ sở hạ tầng quản lý một tập hợp lớn các tài nguyên tính toán như các bộ lưu trữ hay bộ xử lý. Thông qua các công nghệ ảo hóa, các tài nguyên này có thể được chia nhỏ, gán hay thay đổi kích thước một cách linh động để xây dựng một hệ thống theo kiểu ad-hoc tùy thuộc vào nhu cầu của khách hàng, mà ở đây là các nhà cung cấp dịch vụ. 16 2.1.4.2 Nền tảng như một dịch vụ (Platform as a Service – PaaS) Các hệ thống đám mây thay vì chỉ cung cấp cơ sở hạ tầng như một dịch vụ, nó còn có thể đưa ra thêm một tầng trừu tượng hóa để cung cấp nền tảng phần mềm cần thiết cho các hệ thống có thể thực thi được. Kích thước của tài nguyên phần cứng tùy thuộc vào yêu cầu của các dịch vụ cần thực thi và được tạo ra một các trong suốt. 2.1.4.3 Phần mềm như một dịch vụ (Software as a Service – SaaS) Cuối cùng, còn có những dịch vụ hướng tới phục vụ trực tiếp cho các nhu cầu đa dạng của người dùng được triển khai trên đám mây điện toán. Đây là một sự lựa chọn thay thế cho việc thực thi một ứng dụng trên cục bộ. Một ví dụ có thể thấy được của dạng dịch vụ này là các ứng dụng văn phòng trực tuyến. 2.2 Một số công nghệ nền tảng 2.2.1 Công nghệ Web service Web service là một công nghệ được sử dụng rộng rãi để triển khai mô hình SOA vào thực tế, nó đưa ra mô hình liên lạc, trao đổi giữa ứng dụng với ứng dụng trên cơ sở ngôn ngữ đặc tả XML. Web Service là nền tảng của hệ thống đám mây, cung cấp giao diện tương tác với người dùng. Web Service sử dụng ngôn ngữ Web Services Description Language (WSDL) để mô tả nội dung và cách sử dụng service; sử dụng protocol SOAP để trao đổi các thông điệp giữa các Web service. Sử dụng ngôn ngữ đặc tả Universal Description, Discovery and Integration (UDDI) để cho phép các nhà cung cấp Web service đăng ký service của mình và cho phép người sử dụng Web service tìm được nhà cung cấp thỏa điều kiện mong muốn. Ngoài ra, còn một số chuẩn về định nghĩa và triển khai chất lượng dịch vụ của Web service đang được xây dựng như WS-Security, WS-Reliable Messaging, WS- Coordination, và WS-Transaction,… 17 Ưu điểm của dịch vụ Web so với các công nghệ khác:  Dịch vụ Web là độc lập với nền tảng và ngôn ngữ (platform-independent và language-independent), bởi vì nó sử dụng ngôn ngữ chuẩn XML. Nghĩa là, chương trình chạy trên máy khách có thể được lập trình bằng C++ và chạy trên hệ điều hành Windows, trong khi dịch vụ Web được viết bằng Java và chạy trên Linux.  Hầu hết các dịch vụ Web dùng giao thức HTTP để trao đổi thông điệp (như: service request và response). Điều này cho phép ta có thể xây dựng các ứng dụng ở phạm vi toàn cầu dùng Internet làm phương tiện truyền thông Nhược điểm khi dùng dịch vụ Web:  Hiệu quả: Bởi vì mọi dữ liệu trao đổi với dịch vụ Web đều dùng XML nên chắc chắn sẽ cồng kềnh và kém hiệu quả hơn so với các ứng dụng sử dụng mã nhị phân. Tuy nhiên với sự tăng tốc mạnh mẽ của công nghệ máy tính điện tử, tốc độ và hiệu quả của các ứng dụng dựa trên dịch vụ web ngày càng được cải thiện.  Tính phong phú: Hiện tại, các dịch vụ Web mới chỉ cung cấp một vài dạng dịch vụ cơ bản. Phần tiếp theo sẽ trình bày tóm tắt về các khái niệm liên quan đến web service. 2.2.1.1 SOA SOA là một hướng tiếp cận mới trong kiến trúc phần mềm ứng dụng, trong đó, một ứng dụng được cấu thành từ một tập các thành phần độc lập, phân tán, phối hợp hoạt động với nhau được gọi là các service. Điểm mấu chốt của SOA là các chức năng của service được công bố dưới dạng một giao diện chuẩn. Chi tiết cài đặt cụ thể các chức năng được che dấu, và người dùng dịch vụ cũng không cần quan tâm đến; người dùng chỉ gọi sử dụng các chức năng của dịch vụ thông qua các phương thức công bố trên giao diện. 18 Cùng với sự hỗ trợ của các dịch vụ cơ bản như lập lịch truy xuất tài nguyên (scheduler service), chỉ mục (index service), tìm kiếm tài nguyên (discovery service),… ứng dụng có thể xác định thời gian thực thi của các dịch vụ có chức năng giống nhau từ nhiều nguồn, từ đó chọn ra cái tốt nhất để sử dụng, đáp ứng nhu cầu của ứng dụng. 2.2.1.2 SOAP SOAP (giao thức truy cập đối tượng giản đơn) là giao thức triệu gọi các đối tượng dựa trên nền giao thức HTTP và định dạng XML. Giao thức SOAP cho phép các thành phần đối tượng và ứng dụng Internet có thể dễ dàng trao đổi với nhau thông qua chuẩn HTTP. Nói cách khác, SOAP là giao thức được xây dựng dựa trên giao thức sẵn có HTTP. Nếu như HTTP chỉ cung cấp cơ chế gửi nhận (get/post) dữ liệu thô một cách thuần túy thì SOAP sẽ giúp ta nhận gửi dữ liệu theo mô hình XML có cấu trúc và dễ xử lý hơn. 2.2.1.3 WSDL WSDL là một dạng ngôn ngữ XML dùng để mô tả một Web Service. Một tài liệu WSDL cung cấp các thông tin cần thiết cho một máy khách (client) có thể tương tác với Web Service. Cấu trúc tài liệu WSDL Gốc của một tài liệu WSDL là các phần tử (element) định dạng. Gồm có 4 phần tử sau:  Data types: Các kiểu chính của thông tin được chuyển đổi.  Operations : Các endpoint dịch vụ hay các chức năng mà muốn hỗ trợ  Messages : Các loại thông điệp gửi/nhận  Message formats : Định dạng của thông điệp 2.2.1.4 UDDI UDDI (Universal Description, Discovery and Integration) được đưa ra vào năm 2000, xuất phát từ dự đoán trong tương lai người sử dụng các dịch vụ web sẽ liên 19 lạc với các nhà cung cấp thông qua một hệ thống môi giới. Bất kì người nào cần một dịch vụ, sẽ liên lạc với dịch vụ môi giới này và lựa chọn dịch vụ thích hợp. Thực thể danh bạ (directory) UDDI là một tập tin XML dùng để mô tả doanh nghiệp và các dịch vụ mà doanh nghiệp đó cung cấp. 2.2.2 Công nghệ ảo hóa Ảo hóa chính là khái niệm về việc các tài nguyên điện toán có thể được tạo ra với một mức độ uyển chuyển và linh hoạt rất cao mà không đòi hỏi người dùng phải có kiến thức chuyên sâu về các tài nguyên vật lý nằm ở dưới. Trong một môi trường ảo hóa, các môi trường điện toán có thể được tạo ra, thay đổi kích thước, hoặc di chuyển một cách linh động khi nhu cầu biến đổi. Ảo hóa cung cấp những lợi thế quan trọng trong việc chia sẻ, quản lý và cô lập (khả năng cho phép nhiều người dùng và ứng dụng có thể chia sẻ các tài nguyên vật lý mà không gây ra ảnh hưởng lẫn nhau) trong một môi trường điện toán đám mây. Công nghệ ảo hóa không chỉ giới hạn ở máy chủ. Ảo hóa còn được áp dụng rất thích hợp đối với lưu trữ, kết nối mạng và ứng dụng. Ba phương pháp triển khai ảo hóa chính và một số ứng dụng có thể được liệt kê như sau :  Mô phỏng hệ thống (system emulation) : Phương pháp này xây dựng nên một môi trường máy ảo mô phỏng tất cả các tài nguyên phần cứng. Hệ điều hành cài trên các máy ảo sẽ sử dụng tài nguyên phần cứng thông qua lớp mô phỏng này thay vì sử dụng trực tiếp các phần cứng trên máy thật. Một số sản phẩm như VMware ( Microsoft Virtual PC ( spx), và Parallels ( tiếp cận theo hướng này.  Paravirtualization : Các hệ điều hành chạy trên các máy ảo được điều chỉnh để nhận ra rằng nó đang chạy trong một trình siêu quản lý (hypervisor) ảo hóa. Phương pháp này không tiến hành mô phỏng các phần cứng nên sẽ thực thi tốt hơn và gần với tốc độ thật hơn. Kỹ thuật này được áp dụng trong Xen 20 ( và User-Mode Linux (  Ảo hóa mức hệ điều hành (OS level virtualization) : Kỹ thuật này thực hiện việc chạy nhiều thể hiện (instance) của hệ điều hành trên máy thật, mỗi thể hiện được cô lập và chạy trên một môi trường an toàn. Có thể kể đến các đại diện như FreeBSD jails ( và Solaris10 zones ( Trong phần lớn các trường hợp, ảo hóa máy chủ được sử dụng bởi một bộ công cụ siêu quản lý (hypervisor/ Virtual Machine Monitor - VMM) để chỉ định và phân tách một cách logic các tài nguyên vật lý. Bộ siêu quản lý cho phép các hệ điều hành khách (GuestOS), chạy trên máy ảo tin rằng nó đang chạy trên phần cứng thật sự mà không biết rằng các hệ điều hành khác cũng đang cùng chia sẻ phần cứng đó. Mỗi hệ điều hành khách được bảo vệ khỏi những hệ điều hành khác mà không bị tác động bởi bất cứ sự bất ổn nào hoặc bởi các vấn đề cấu hình của các hệ điều hành khác. Có hai kiểu hypervisor chính : bare-metal và hosted. 2.2.2.1 Bare-metal hypervisor Trong kiến trúc này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác. Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ. Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó. Nói cách khác, các hệ điều hành sẽ chạy trên một lớp nằm phía trên các hypervisor dạng bare-metal. Một số ví dụ về các hệ thống bare-metal hypervisor như là: Oracle VM, VMware ESX Server, IBM's POWER Hypervisor (PowerVM), Microsoft's Hyper- V (6/2008), Citrix XenServer… 21 Hình 2.3: Bare-metal hypervisor 2.2.2.2Hosted hypervisor Kiến trúc này sử dụng một lớp hypervisor chạy trên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia tài nguyên tới các máy ảo. Ta xem hypervisor này là một lớp phần mềm riêng biệt, do đó thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ 3 so với phần cứng máy chủ. Một số hệ thống hypervisor dạng Hosted có thể kể đến như VMware Server, VMware Workstation, Microsoft Virtual Server… Hình 2.4: Hosted hypervisor 22 2.3 Kiến trúc một hệ thống tính toán đám mây Về tổng quan, ta có thể chia kiến trúc một hệ thống đám mây thành bốn tầng như thể hiện ở hình 2.5 [22]. Hình 2.5: Kiến trúc một hệ thống tính toán đám mây [22] Tầng đáy của đám mây là tầng các dịch vụ cơ sở hạ tầng. Ở đây, chúng ta thấy một tập hợp các tài sản vật lí như các máy chủ, các thiết bị mạng và các đĩa lưu trữ được đưa ra như là các dịch vụ được cung cấp cho người tiêu dùng. Tầng core middleware cung cấp các dịch vụ nền tảng để triển khai hệ thống đám mây. Ngoài các công nghệ ảo hóa được sử dụng để tạo ra chế độ phân phối các nguồn tài nguyên theo yêu cầu, các dịch vụ về quản lý, theo dõi, QoS… cũng được cung cấp ở tầng này. Tầng user-level middleware cung cấp cho ngưởi sử dụng hệ thống khả năng truy cập sử dụng các tài nguyên trên đám mây điện toán thông qua các giao diện web 2.0 dựa trên trình duyệt phong phú, hay các thư viện lập trình song song phân tán. Trên cùng là tầng dịch vụ ứng dụng chứa các ứng dụng chạy trên nền tảng đám mây. 23 2.4 Phân loại các hệ thống đám mây Trong thực tế, các hệ thống đám mây được triển khai rất đa dạng để phù hợp với nhu cầu sử dụng của từng tổ chức cụ thể. Nhìn chung, ta có thể chia hệ thống đám mây ra thành ba loại như hình 2.6. Hình 2.6: Các loại điện toán đám mây 2.4.1 Hệ thống đám mây công cộng (public cloud) Các đám mây công cộng là các dịch vụ đám mây được một bên thứ ba (người bán) cung cấp. Chúng nằm ngoài hệ thống mạng của tổ chức và chúng được lưu trữ đầy đủ và được nhà cung cấp đám mây quản lý. Các đám mây công cộng cố gắng cung cấp cho người tiêu dùng các thành phần công nghệ tối ưu nhất, cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ sở hạ tầng vật lý. Nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cung cấp và bảo trì các thành phần này. Khách hàng chỉ chịu phí cho các tài nguyên nào mà họ sử dụng, vì thế cái chưa sử dụng được loại bỏ. Tất nhiên điều này liên quan đến chi phí. Các dịch vụ này thường được cung cấp với "quy ước về cấu hình" nghĩa là chúng được phân phối với ý tưởng cung cấp các trường hợp sử dụng phổ biến nhất. Các tùy chọn cấu hình thường là một tập hợp con nhỏ hơn so với những gì mà chúng đã có nếu nguồn tài nguyên đã được người dùng kiểm soát trực tiếp. Một điều khác cần lưu ý là kể từ khi người dùng có quyền 24 kiểm soát cơ sở hạ tầng, các quy trình đòi hỏi tuân thủ quy định an ninh chặt chẽ và điều này không phải lúc nào cũng thích hợp cho các đám mây chung. 2.4.2 Hệ thống đám mây riêng (private cloud) Các đám mây riêng là các dịch vụ đám mây được xây dựng trong hệ thống của doanh nghiệp. Những đám mây này tồn tại bên trong tường lửa công ty và chúng được doanh nghiệp quản lý. Các vấn đề khó khăn và chi phí của việc thiết lập một đám mây riêng đôi khi có thể có chiều hướng ngăn cản việc xây dựng và sử dụng hệ thống loại này. Ngoài ra chi phí hỗ trợ hoạt động liên tục của đám mây riêng có thể vượt quá chi phí của việc sử dụng một đám mây công cộng. Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại công cộng. Việc kiểm soát chi tiết hơn trên các tài nguyên khác nhau sẽ tạo thành một đám mây mang lại cho công ty tất cả các tùy chọn cấu hình có sẵn. Ngoài ra, các đám mây riêng là lý tưởng khi các kiểu công việc được thực hiện có các yêu cầu về an ninh và quản lý không phù hợp cho một đám mây công cộng. 2.4.3 Hệ thống đám mây lai (hybrid cloud) Các đám mây lai là một sự kết hợp của các đám mây công cộng và riêng. Những đám mây này thường do doanh nghiệp tạo ra và các trách nhiệm quản lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng. Đám mây lai sử dụng các dịch vụ có trong cả không gian công cộng và riêng. Các đám mây lai là câu trả lời khi một công ty cần sử dụng các dịch vụ của cả hai đám mây riêng và công cộng. Theo hướng này, một công ty có thể lựa chọn đám mây công cộng hay riêng dựa trên các mục tiêu và nhu cầu của các dịch vụ cần triển khai. Một đám mây lai được xây dựng tốt có thể phục vụ các quy trình nhiệm vụ quan trọng của doanh nghiệp yêu cầu cao về tính ổn định, an toàn, cũng như những ứng dụng không quan trọng. Hạn chế chính với đám mây này là sự khó khăn trong việc tạo ra và quản lý có hiệu quả một giải pháp như vậy. Hệ thống phải có thể tiếp nhận được và cung cấp 25 các dịch vụ lấy từ các nguồn khác nhau như thể chúng có chung nguồn gốc, hay phức tạp hơn là hỗ trợ tương tác giữa các thành phần riêng và chung. Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám mây, nên cách hiện thực và các công cụ hỗ trợ mô hình này vẫn còn được nghiên cứu. 2.5 Một số dự án thực tế về tính toán đám mây Các phân tích của giới công nghiệp đã cho thấy sự ảnh hưởng ngày càng lớn của công nghệ điện toán đám mây vào toàn bộ nền công nghiệp tính toán (computing industry). Theo một nghiên cứu mới đây của Merrill Lynch [22], điện toán đám mây được trông đợi sẽ mang lại cơ hội tạo ra 160 tỷ USD cho thị trường bao gồm 95 tỷ trong kinh doanh và xây dựng ứng dụng và 65 tỷ còn lại trong quảng cáo trực tuyến. Một nghiên cứu khác của Morgan Stanley cũng đã khẳng định tính toán đám mây là một trong các xu hướng công nghệ nổi bật. Với những thay đổi trong giới công nghiệp đó, ngày càng có nhiều mô hình nền tảng cloud được xây dựng, vài tổ chức học thuật và công nghiệp cũng đã bắt đầu nghiên cứu tỉ mỉ và phát triển các công nghệ cũng như cơ sở hạ tầng cho điện toán đám mây. Một vài kết quả của các tổ chức học thuật có thể kể đến như Virtual Workspaces [24], OpenNebula [32]. Phần tiếp theo sẽ giới thiệu sáu nền tảng Cloud được hiện thực theo hướng công nghiệp được so sánh trong bảng 2.1. 26 Bảng 2.1: So sánh một vài dự án Cloud nổi bật [22] 2.5.1 Amazon Elastic Compute Cloud (EC2) Dự án EC2 [33] cung cấp một môi trường tính toán ảo để người dùng có thể chạy các ứng dụng trên Linux. Người dùng EC2 có thể tự tạo một máy ảo mới, được gọi là Amazone Machine Image (AMI) chứa các ứng dụng, thư viện, dữ liệu và các cấu hình thích hợp hoặc có thể chọn AMI từ một thư viện có sẵn. Sau đó, người sử dụng phải upload AMI này lên Amazon Simple Stogre Service (S3) để có thể sử dụng được. Amazon EC2 sẽ tính phí dựa trên thời gian hoạt động của máy ảo người dùng và Amazon S3 sẽ tính phí trên khối lượng dữ liệu gởi và nhận. 27 2.5.2 Google App Engine Google App Engine [34] cho phép người dùng chạy các ứng dụng web viết bằng ngôn ngữ Python. Ngoài việc hỗ trợ các thư viện Python chuẩn, Google App Engine còn hỗ trợ một số API về lưu trữ dữ liệu, quản lý tài khoản Google, dịch vụ email… Bên cạnh đó Google App Engine còn hỗ trợ giao diện quản trị qua web cho người dùng dễ dàng quản lý các ứng dụng web đang chạy. Hiện tại Google App Engine đang cho sử dụng miễn phí với dung lượng lưu trữ lên đến 500 MBs và có khoảng 5 triệu lượt truy cập mỗi tháng. 2.5.3 Microsoft Live Mesh Microsoft Live Mesh [35] hướng tới việc cung cấp cho người dùng một nơi lưu trữ dữ liệu, ứng dụng tập trung và có thể truy xuất được bằng nhiều loại thiết bị (có thể là máy tính hay điện thoại di động) từ bất kỳ đâu trên thế giới. Người dùng có thể truy xuất đến dữ liệu hay ứng dụng của mình thông qua Web-based Live Desktop hay từ chính các thiết bị của mình bằng cách cài đặt phần mềm Lite Mesh lên thiết bị đó. Mỗi người dùng sẽ có một mật khẩu bảo vệ và chứng thực thông qua Windows Live Login trên kênh truyền sử dụng SSL để bảo vệ. 2.5.4 Sun Grid Sun network.com (Sun Grid) [36] cho phép người dùng chạy các ứng dụng Solaris OS, Java, C, C++ và FORTRAN. Đầu tiên người dùng phải xây dựng ứng dụng của mình trên môi trường phát triển cục bộ đã được cấu hình lại sao cho giống với trên hệ thống Sun Grid . Sau đó, người dùng phải đóng gói toàn bộ các tập tin liên quan đến ứng dụng và upload lên Sun Grid. Cuối cùng, người dùng có thể thực thi và theo dõi ứng dụng đó trên Sun Grid thông qua một web portal hay các API. Sau khi ứng dụng chạy xong, người dùng có thể tải kết quả về để xem. 2.5.5 GRIDs Lab Aneka GRIDs Lab Aneka [25] là một nền tảng hướng dịch vụ dựa trên .NET nhằm xây dựng một lưới tính toán cho doanh nghiệp (enterprise Grid). Nó được thiết kế để hỗ trợ nhiều mô hình ứng dụng, nhiều giải pháp lâu dài và bảo mật, cũng như 28 nhiều giao thức giao tiếp để một vài lựa chọn ưu tiên có thể được thay đổi bất kỳ khi nào mà vẫn không ảnh hưởng đến hệ thống Aneka sẵn có. Để tạo ra một lưới cho doanh nghiệp, nhà cung cấp dịch vụ chỉ cần cấu hình chạy một thể hiện Aneka container có chứa các dịch vụ yêu cầu lên các máy tính được lựa chọn. Aneka còn hỗ trợ SLA để người dùng có thể đặc tả các yêu cầu QoS như deadline hay budget. Người dùng có thể truy xuất Aneka từ xa thông qua Gridbus broker [26].

Các file đính kèm theo tài liệu này:

  • pdf5.pdf
  • pdf0.pdf
  • pdf1.pdf
  • pdf10.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
Luận văn liên quan