Chương I: Tổng quan về điện toán đám mây 24 Câu hỏi và bài tập 1. Điện toán đám mây bao gồm những mô hình nào? Liệt kê cụ thể từng loại mô hình? 2. Thành phần của điện toán đám mây bao gồm những hạ tầng nào? Liệt kê những hạ tầng đó? 3. Tìm hiểu những sản phẩm, ứng dụng của điện toán đám mây trong Internet? Chương II: Mô hình soa và tiềm năng của điện toán đám mây 25 Chương II: MÔ HÌNH SOA VÀ TIỀM NĂNG CỦA ĐIỆN TOÁN ĐÁM MÂY Mục tiêu: - Trình bày được SOA và điện toán đám mây; - Phân biệt được sự khác biệt giữa Grids và Clouds.
Nội dung chương: I. SOA VÀ ĐIỆN TOÁN ĐÁM MÂY 1. Mô hình hướng dịch vụ (Service Oriented Architechture –SOA) 1. Khái niệm Mô hình hướng dịch vụ (Service Oriented Architechture – SOA) là một khái niệm về kiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc là những quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động trên môi trường mạng có khả năng chia sẻ và sử dụng lạị.
Dịch vụ ở đây được hiểu là những mô-đun nghiệp vụ hoặc chức năng ứng dụng với giao diện được thiết kế theo quy định và được tương tác bằng cách gửi nhận thông điệp. Kiến trúc mô hình hướng dịch vụ Kiến trúc hướng dịch vụ (SOA) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng mô-đun, trong đó mỗi mô-đun đóng vai trò là một “dịch vụ có tính loose coupling”, và có khả năng truy cập thông qua môi trường mạng. Hiểu một cách đơn giản thì một hệ thống SOA là một tập hợp các dịch vụ được chuẩn hóa trên mạng trao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ. Trong SOA có ba đối tượng chính 1.
Các tính chất của một hệ thống hướng dịch vụ 1. Liên kết lỏng (Loose coupling) Mọi kiến trúc phần mềm đều hướng đến liên kết lỏng giữa các mô-đun. Mức độ kết dính của mỗi hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa và mở rộng của chính nó. Kết dính càng chặt bao nhiêu thì càng có nhiều thay đổi liên quan cần chỉnh sửa ở phía sử dụng dịch vụ mỗi khi có sự thay đổi nào đó xảy ra hậu quả về thông tin qua một kênh thông điệp, bên gọi không phải chờ cho đến khi thông điệp được sử lý xong.
Do bên gọi không phải chờ cho đến khi yêu cầu được xử lý xong và trả về nên không bị ảnh hưởng bởi việc xử lý trễ và lỗi khi thực thi các dịch vụ bất đồng bộ. Quản lý các chính sách Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là policy. Các policy cần được quản lý các áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn thực thi trong thời gian thực thi. Chương II: Mô hình soa và tiềm năng của điện toán đám mây 26 1.
Khả năng cộng tác Kiến trúc hướng dịch vụ nhấn mạnh đến khả năng cộng tác, khả năng mà các hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau. Mỗi dịch vụ cung cấp một interface (giao diện) có thể được gọi qua một dạng kết nối. Tự động dò tìm và ràng buộc SOA hỗ trợ khái niệm về truy tìm dịch vụ (service discovery). Một người sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên các số tiêu chuẩn khi cần.
Người sử dụng chỉ cần đăng ký về dịch vụ nào thỏa yêu cầu tìm kiếm. Đăng ký trả về một tập các điều kiện thỏa yêu cầu. Tự phục hồi Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng. Mỗi hệ thống tự hồi phục (self- healing) là một hệ thống có khả năng tự hồi phục sau khi bị lỗi mà không cần sự can thiệp của con người.
Lợi ích và hạn chế của việc sử dụng mô hình SOA a/ Lợi ích - Cho phép hướng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển phần mềm. - Giảm thiểu chi phí trong quá trình phát triển. - Giảm thiểu yêu cầu về đào tạo và kỹ năng. - Chi phí bảo trì thấp.
- Chu trình phát triển phần mềm nhanh chóng hơn. - Độc lập hệ thống, những service không phụ thuộc vào hệ thống và mạng cụ thể. - Có khả năng tái sử dụng. - Khả năng hồi đáp thích nghi tốt và nhanh hơn để đáp ứng với sự thay đổi về yêu cầu giao dịch.
- Những xác nhận và chứng minh của dịch vụ khách hàng về những tính năng bảo vệ dựa trên giao tiếp dịch vụ tốt hơn cơ chế kết nối chặt chẽ. - Kiến trúc kết nối lỏng lẻo cho phép dễ dàng tích hợp thành phần những chương trình, tiến trình hay những dịch vụ phức tạp từ những dịch vụ đơn giản. - Cho phép dịch vụ khách hàng tìm kiếm và kết nối với những dịch vụ động khác. b/ Hạn chế - Hệ thống phức tạp.
- Khó miêu tả dữ liệu không cấu trúc. So sánh mô hình SOA với các mô hình truyền thống 2. Mô hình SOA với OOP (Hướng đối tượng) SOA sử dụng cùng một số nguyên lý như OOP, tuy nhiên triết lý SOA có khác biệt đáng kể so với OOP. SOA có thể thực hiện với cả chương trình theo hướng đối Chương II: Mô hình soa và tiềm năng của điện toán đám mây 27 tượng (OOP) và chương trình không hướng đối tượng.
SOA hỗ trợ việc kết nối lỏng lẻo các dịch vụ. OOP dựa nhiều trên các lớp được định nghĩa sẵn, kết quả là các đối tượng kết nối chặt chẽ với nhau. Dịch vụ định hướng sử dụng các message để miêu tả thông tin về dịch vụ để thực hiện chức năng của mình OOP lại sử dụng các hàm API để miêu tả các đối tượng của mình. Phạm vi hoạt động của các dịch vụ trong SOA rộng lớn hơn là các đối tượng của OOP.
SOA khuyến khích các dịch vụ được thiết kế phi trạng thái càng nhiều càng tốt còn OOP thì lại liên kết dữ liệu một cách logic từ đó tạo ra các đối tượng có trạng thái. SOA hỗ trợ việc kết nối lỏng lẻo các dịch vụ với nhau, còn OOP thì khuyến khích việc kế thừa các đối tượng từ đó các đối tượng liên kết với nhau một cách chặt chẽ. So sánh mô hình SOA với OOP 2. Mô hình SOA với WEB Đặc điểm chính của SOA là tách rời phần giao tiếp với phần thực hiện dịch vụ.
Điều này có thể làm liên tưởng đến một công nghệ được đề cập gần đây: Dịch vụ web. Dịch vụ web cho phép truy cập thông qua định nghĩa giao thức và giao tiếp. SOA và dịch vụ web thoạt trông có vẻ giống nhau nhưng chúng không phải là một. Về cơ bản, SOA là kiến trúc phần mềm xuất phát từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng như là mô hình các giao tiếp, hiện thực giao tiếp và phương thức gọi giao tiếp.
Giao tiếp là trung tâm của toàn bộ triết lý kiến trúc này. Thực ra, tên gọi “kiến trúc định hướng giao tiếp” thích hợp hơn cho SOA. Dịch vụ và mô-đun phần mềm nghiệp vụ được truy cậP. thông qua giao tiếp, thường theo cách thức yêu cầu và đáp trả.
Ngay cả với yêu cầu dịch vụ một chiều thì nó vẫn là yêu cầu trực tiếp có chủ đích từ một phần mềm này đến một phần mềm khác. Một tương tác định hướng dịch vụ luôn bao hàm một cặp đối tác là nguồn cung cấp dịch vụ và khách hàng sử dụng dịch vụ. ĐẶC ĐIỂM GIỮA MÔ HÌNH GRIDS VÀ CLOUD 1. Điện toán lưới (Grid Computing) Chương II: Mô hình soa và tiềm năng của điện toán đám mây 28 Grid là một loại hệ thống song song phân tán cho phép chia sẻ, lựa chọn và kết hợp các tài nguyên phân tán theo địa lý thuộc nhiều tổ chức khác nhau, dựa trên tính sẵn sàng, khả năng, chi phí của chúng và các yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại.
Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và hoặc kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính. Một hệ thống Grid có 3 đặc điểm chính: - Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung. - Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng. - Đáp ứng yêu cầu cao về chất lượng dịch vụ.
Kiến trúc điện toán lưới Lưới được xây dựng trên nền tảng kiến trúc mở và phân tầng theo vai trò của các thành phần trong lưới, các tầng chia sẻ thuộc tính chung và mỗi tầng có thể bổ sung thêm những tính năng mới mà không ảnh hưởng đến hoạt động của tầng khác. Tầng thiết bị Gồm các tài nguyên được truy cập và sử dụng bởi các dịch vụ hay các ứng dụng thông qua giao thức lưới, thực hiện các thao tác trên tài nguyên cụ thể và được gọi bởi các ứng dụng hay dịch vụ ở các tầng trên như tầng liên kết, tầng tài nguyên. Tầng kết nối Định nghĩa các giao thức truyền thông và chứng thực hiện việc giao tiếp trong lưới. Các giao thức cho phép thực hiện trao đổi dữ liệu giữa các tài nguyên trong tầng thiết bị.
Các giao thức chứng thực cung cấp cơ chế mã hóa, giải mã, kiểm tra định danh của người dùng cũng như tài nguyên. Chương II: Mô hình soa và tiềm năng của điện toán đám mây 29 Hình 2. Điện toán lưới (Grid) 2. Tầng tài nguyên Xây dựng dựa trên tầng kết nối, sử dụng các giao thức truyền thông và bảo mật của tầng kết nối.
Từ đó xây dựng dịch vụ, giao thức đàm phán khởi tạo theo dõi và điều khiển các thủ tục giao tiếp với các tài nguyên cụ thể. Tầng kết hợp Quản lý các tài nguyên ở mức hệ thống. Các giao thức trong tầng này thao tác trên tất cả các tài nguyên lưới tại các node (nút). Tầng ứng dụng Các ứng dụng này được xây dựng dựa trên cơ sở các hàm, các dịch vụ được cung cấp bởi hàm dưới.