Nhà quản trị

Một phần của tài liệu Nghiên cứu phát triển ứng dụng trên GRID (Trang 35 - 59)

Mục này miêu tả những hoạt động trong môi trường grid dưới vai trò của một người quản trị.

3.2.1. Cài đặt

Đầu tiên, hệ thống grid phải được cài đặt trên các máy đã được cấu hình. Các máy này phải được kết nối với băng thông đủ rộng tới các máy khác trên mạng grid. Cần dự đoán được các sự cố có thể xảy ra và đưa hệ thông hoạt động trở lại khi gặp các sự cố này. Các máy trong mạng phải được cấu hình có khả năng khôi phục hệ thống khi gặp hỏng hóc. Các dữ liệu quan trọng cần được theo dõi và sao lưu thường xuyên.

Sau khi đã cài đặt, các phần mềm trong grid cần được cấu hình về địa chỉ và định danh. Nhà quản trị có mọi quyền để quản lý grid.

3.2.2. Quản lý người dùng

Một trong các chức năng của nhà quản trị là quản lý người dùng. Nhà quản trị có nhiệm vụ quản lý quyền hạn của những người dùng tren mạng. Khi một người dùng đăng nhập vào hệ thống, định danh của họ phải được thông qua cơ quan chứng thực CA. Người dùng này và thẻ chứng thực của họ được đưa vào danh sách người dùng trên hệ thống grid. Trong nhiều trường hợp, nhà quản trị cần đưa thông tin của người dùng đến các máy khác trên mạng.

3.2.3. Chứng thực

Cần phải đảm bảo mức bảo mật cao nhất cho grid vì grid được dùng để chạy các công việc chứ không chỉ là để chia sẻ dữ liệu. Chính vì thế nó có thể nảy sinh virus, “ngựa thành Troa”, hay các cuộc tấn công vào mạng grid. Cơ quan chứng thực (Certificate Authority) là một phần rất quan trọng trong bảo mật của grid. Một tổ chức có thể chọn cơ quan chứng thực ở ngoài và tự xử lý nó.

Những nhiệm vụ cơ bản của cơ quan chứng thực là:  Xác định định danh cửa người yêu cầu chứng thực.  Phân phát, xóa, lưu trữ chứng thực.

 Bảo vệ máy chủ của cơ quan chứng thực.

 Duy trì, bảo dưỡng tên và chứng thực của người dùng.  Hoạt động đăng nhập

Cơ quan chứng thực dùng hệ thống mã hóa khóa công khai. Trong hệ thống này, khóa được đi theo cặp, khóa công khai và khóa bí mật. Một người có thể mã hóa dữ liệu và người kia có thể giải mã nó. Khóa bí mật được người dùng giữ kín và không để lộ cho ai khác biết. Khi người dùng dùng khóa bí mật để mã hóa, người nhận dùng khóa công khai để giải mã nó. Tuy nhiên ai nhận được dữ liệu cũng có thể giải mã nó khi biết

khóa công khai. Nếu người gửi dùng mã hóa kép với cả khóa công khai và mã bí mật, thì tạo ra sự bảo mật tốt hơn. Người nhận dùng khóa bí mật của anh ta để giải mã, sau đó dùng khóa công khai của người gửi để giải mã lần hai.

3.2.4. Quản lý tài nguyên

Một nhiệm vụ khác của nhà quản trị là quản lý các tài nguyên trong mạng grid. Nó bao gồm thiết lập các quyền sử dụng của người dùng đối với tài nguyên, theo dõi tài nguyên, và quản lý hệ thống tài chính. Sử dụng các thống kê có thế giúp dự đoán được xu hướng cần thêm phần cứng, giảm lãng phí phần cứng, cũng như điều chỉnh độ ưu tiên và chính sách để đạt được kết quả chung tốt nhất.

Một vài gói phần mềm grid, như bộ lập lịch, sử dụng độ ưu tiên và các chính sách để lập lịch. Nhà quản trị có trách nhiệm cấu hình các ưu tiên hay chính sách để đạt được kết quả chung tốt nhất.

Chương 4.Một số chuẩn trong môi trường Grid

Tính toán mạng lưới có thể mô tả bằng nhiều khái niệm và có thể được định nghĩa theo nhiều cách khác nhau. Nhưng về cơ bản nó cung cấp khả năng tính toán phân tán và tận dụng các tài nguyên. Để có thể thống nhất và làm cho các tài nguyên trên nhiều nền tảng phần cứng, phần mềm khác nhau có thể cùng tồn tại, và hoạt động với nhau đòi hỏi phải có các chuẩn. Trong chương này chúng ta sẽ xem xét một số chuẩn cơ bản được áp dụng cho tính toán mạng lưới.

Một số yêu cầu với tính toán mạng lưới:

• Hỗ trợ việc thực thi chương trình trên nhiều nền tảng khác nhau • Cơ sở hạ tầng an toàn

• Khả năng di chuyển, tái tạo và tập hợp dữ liệu • Khả năng phát hiện tài nguyên

• Quản lí tài nguyên

Có nhiều chuẩn khác nhau cho mỗi yêu cầu kể trên. Sau đây là một số chuẩn tiêu biểu.

4.1. Kiến trúc dịch vụ Grid mở - Open Grid Services Architecture (OGSA)

Kiến trúc dịch vụ Grid mở là một mở rộng của kiến trúc tính toán mạng lưới nhằm kết hợp với kiến trúc dịch vụ Web (Web service), được phát triển bởi nhóm Globus và IBM. Khái niệm này lần đầu tiên được đưa ra tại diễn đàn Grid toàn cầu (Global Grid Forum), Toronto, Canada năm 2002.

Ý tưởng này bắt nguồn từ thực thế rằng hai công nghệ Grid và dịch vụ Web tuy có cách tiếp cận khác nhau như cùng chung một mục đích: "Chia sẻ tài nguyên và hỗ trợ tạo ra các tổ chức ảo". Trong kiến trúc dịch vụ Web, điều này được thực hiện bằng cách chia sẻ dữ liệu, lôgic, và qui trình giao dịch thương mại giữa các thành viên tham gia vào thương mại điện tử (một dạng tổ chức ảo). Đối với Grid, tổ chức ảo chia sẻ cho nhau các tài nguyên tính toán và cơ sở dữ liệu nhằm mục đích giải quyết các bài toán khoa học công nghệ. Cả hai loại tổ chức ảo nói trên đều không giới hạn về không gian địa lý. Điểm khác biệt chính đó là "dịch vụ Web" nhắm tới các dịch vụ liên tục (persistent), trong khi Grid hỗ trợ dịch vụ tạm thời (transient).

Một số quy ước đã được mô tả trong tài liệu đặc tả dịch vụ Grid bao gồm: • Cách thức tạo và khai thác dịch vụ Grid

• Cách thức đặt tên và tham chiếu tới các thể hiện (instance) của dịch vụ Grid.

• Cách mô tả các giao diện cho dịch vụ Grid.

Hình 9: Kiến trúc OGSA

4.2. Cơ sở hạ tầng của dịch vụ Grid mở - Open Grid Service Infrastructure (OGSI) (adsbygoogle = window.adsbygoogle || []).push({});

OGSI là một mở rộng của OGSA, OGSI định nghĩa các giao diện cụ thể cho các dịch vụ thực thi các chức năng được định nghĩa trong OGSA.

Hơn nữa OGSI còn định ra các cơ chế cho việc khởi tạo, quản lí và trao đổi thông tin giữa các dịch vụ Grid. Theo OGSI thì dịch vụ Grid là một dịch vụ Web mà tuân theo một tập các giao diện và hoạt động, các giao diện và hoạt động này xác định cách thức mà một client tương tác với dịch vụ Grid.

Các giao diện và hoạt động đó cùng với các cơ chế khác của OGSI về khởi tạo và phát hiện dịch vụ Grid cung cấp một nền tảng cho môi trường Grid. OGSI cũng đưa ra ngôn ngữ mô tả dịch vụ Web – Web serivce definition Language (WSDL) để mô tả các giao diện.

Hình 10: Các thành phần trong OGSI

4.3. GridFTP

GridFTP là một giao thức truyền dữ liệu an toàn và tin cậy, với hiệu xuất cao và tối ưu cho mạng diện rộng, có băng thông lớn. Giao thức GridFTP dựa trên nền tảng của giao thức FTP với những mở rộng cho phù hợp với môi trường Grid. Các tài liệu đặc tả về giao thức GridFTP có thể được tìm thấy trong diễn đàn Grid toàn cầu.

GridFTP sử dụng khả năng bảo mật cơ bản của Grid trên cả hai kênh: kênh điều khiển và kênh dữ liệu.Sử dụng nhiều kênh dữ liệu để truyền song song, truyền từng phần tệp, truyền cho bên thứ ba…Do vậy GridFTP có thể sử dụng để chuyển những tệp (đặc biệt là những tệp có dung lượng lớn) trong mạng một cách hiệu quả và tin cậy.

4.4. Cơ chế tài nguyên của dịch vụ Web – Web service resource framework.

Về cơ bản WSRF định ra một tập các đặc tả để mô tả mối quan hệ giữa các dịch vụ Web (thông thường là không có trạng thái) và các tài nguyên trạng thái (stateful resources). Bằng việc kết hợp giữa các dịch vụ Web chuẩn với sự quản lí các tài nguyên trạng thái, WSRF cung cấp khả năng lưu trạng thái cho dịch vụ Web.

• Tài nguyên

• Vòng đời của tài nguyên • Các thuộc tính của tài nguyên • Nhóm dịch vụ

• Các lỗi

• Các thông báo • Các chủ đề

Hình sau đây mô tả mối liên hệ giữa dịch vụ Web, WSRF và OGSA

4.5. Một số chuẩn của dịch vụ Web

Do sự giống nhau giữa dịch vụ Grid và dịch vụ Web mà các chuẩn của dịch vụ Web cũng được áp dụng cho dịch vụ Grid. Một số chuẩn quan trọng nhất đó là

• Ngôn ngữ Đánh dấu Mở rộng – eXtensible Markup Language (XML): là một ngôn ngữ đánh dấu với mục đích chung được tổ chức W3C đề nghị.

• Ngôn ngữ mô tả dịch vụ Web - Web Service Description Language (WSDL): là một ngôn ngữ được xây dựng dựa trên định dạng ngôn ngữ XML. Nhằm mô tả các giao

diện chung, cách giao tiếp, tên gọi, các giao thức và định dạng gói tin của dịch vụ Web.

• Giao thức truy cập đối tượng đơn giản - Simple Object Access Protocol (SOAP): giao thức mạng cho phép các đối tượng phần mềm được phát triển bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng hoàn toàn khác biệt có thể tương tác với nhau. SOAP được phát triển dựa trên chuẩn XML.

• Universal Description, Discovery and Integration (UDDI): chuẩn dịch vụ Tích hợp, Khám phá và Mô tả Toàn cầu, hoạt động như một dịch vụ đăng ký và định vị có khả năng xác nhận và phân loại các ứng dụng dịch vụ Web, giúp người sử dụng dễ dàng tìm thấy chúng trên mạng.

4.6. Tổng kết chương

Trong chương này đã giới thiệu một cách tổng quát một số chuẩn đã được đề xuất và sử dụng trong môi trường tính toán mạng lưới và các dịch vụ Grid. Cũng như một số chuẩn liên quan với công nghệ dịch vụ Web – Web service.

Chương 5. Tổng quan về dịch vụ Web

Dịch vụ Web là một công nghệ tính toán phân tán giống như CORBA, RMI, hay EJB. Nó cho phép mở rộng các ứng dụng theo mô hình client/server.

Ví dụ, giả sử một công ty có nhiều cửa hàng phân bố rải rác tại nhiều thành phố. Tuy nhiên danh sách các mặt hàng được bán chỉ nằm tại cơ sở dữ liệu của văn phòng trung tâm, do đó cần phát triển một phần mềm tại các cửa hàng để truy xuất catalog này. Danh sách này có thể được công bố (publish) thông qua dịch vụ Web gọi là ShopService. Khách hàng clients (máy tính tại các cửa hàng) sẽ liên hệ với dịch vụ Web (tại máy chủ) và gửi yêu cầu cung cấp dịch vụ (service request) về catalog. Máy chủ sẽ gửi trả lại catalog qua một đáp ứng dịch vụ (service response).

5.1. Ư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ữ, 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 hệ điều hành Linux.

• Hầu hết các dịch vụ Web dùng giao thức HTTP để trao đổi thông điệp (như: thông điệp yêu cầu dịch vụ và thông điệp trả lời của dịch vụ). Đ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 – do không bị các hạn chế về tường lửa.

5.2. Nhược điểm khi dùng dịch vụ Web (adsbygoogle = window.adsbygoogle || []).push({});

• hiệu quả không cao: 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ào 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.

• dịch vụ không 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. Trong khi CORBA đem lại cho ngừơi lập trình nhiều dịch vụ hỗ trợ như lưu trữ, thông báo, quản lí vòng đời, quản lí các giao dịch.

Một tính chất quan trọng của dịch vụ Web đó là nó hướng tới các hệ thống phân tán liên kết lỏng, trong khi các công nghệ khác như CORBA và EJB phát triển trên các hệ thống phân tán liên kết chặt trong đó client và server phụ thuộc vào nhau. Đối với dịch vụ Web, client không cần phải duy trì liên kết với dịch vụ Web cho tới khi nó thực sự cần tới dịch vụ này. Các hệ thống phân tán liên kết chặt rất thích hợp với các ứng dụng intranet trong phạm vi một công ty, nhưng không khả thi hoặc kém hiệu quả ở qui mô Internet. Đây chính là thế mạnh của dịch vụ Web Services, vì thế nó được chọn để phát triển dịch vụ Grid.

5.3. Lời gọi dịch vụ Web điển hình

Sơ đồ dưới đây liệt kê toàn bộ các bước liên quan tới một lời gọi dịch vụ Web hoàn chỉnh.

• Bởi chương trình khách không chứa bất cứ thông tin về các dịch vụ Web hiện thời, vì vậy trước hết nó phải đi tìm dịch vụ Web nào phù hợp với yêu cầu. Ví dụ như ta đang quan tâm đến nơi chứa dịch vụ Web cung cấp thông tin về nhiệt độ tại các thành phố. Chúng ta sẽ liên hệ với UDDI registry để hỏi về điều này.

• UDDI registry sẽ trả lời cho chúng ta biết server nào cung cấp dịch vụ mà ta cần (ví dụ như. nhiệt độ tại các thành phố).

• Tuy biết được nơi cung cấp dịch vụ, ta cần phải biết cách thức gọi dịch vụ. Ví dụ, phương thức gọi dịch vụ để lấy thông tin về nhiệt độ tại một thành phố có thể là Temperature getCityTemperature(int CityPostalCode), nhưng cũng có thể là int getCityTemp(string cityName, bool isFarenheit). Vì thế ta phải hỏi server để có được mô tả chi tiết cách gọi dịch vụ.

• Dịch vụ Web sẽ trả lời bằng một thông điệp sử dụng ngôn ngữ chung WSDL.

• Tại bước này chương trình khách sẽ thực hiện lời gọi dịch vụ bằng ngôn ngữ SOAP, ví dụ như gửi một yêu cầu SOAP request về nhiệt độ tại một thành phố nào đó. • Server sẽ trả lời bằng một thông điệp SOAP response chứa thông tin được yêu cầu

hoặc thông báo lỗi trong trường hợp sự cố hoặc yêu cầu sai.

5.4. Địa chỉ dịch vụ Web

Địa chỉ của dịch vụ Web cũng có dạng giống như địa chỉ trang Web. Địa chỉ một dịch vụ Web được mô tả bằng một URI (Uniform Resource Identifiers) tương tự như URL cho một trang Web.

Ví dụ, UDDI registry có thể trả về một URI sau cho dịch vụ Web cung cấp thông tin thời tiết tại Mỹ:

http://webservices.mysite.com/weather/us/WeatherService

5.5. Kiến trúc dịch vụ Web

• Service Discovery: Phần này chịu trách nhiệm tìm kiếm các dịch vụ Web phù hợp với yêu cầu đặt ra. Nó thường được điều khiển bởi UDDI (Universal Description, Discovery, and Integration).

• Service Description : Một trong những đặc trưng của dịch vụ Web là tự mô tả (self- describing). Nghĩa là, nó sẽ tự mô tả các thao tác mà nó cung cấp cũng như cách thức gọi nó. Mô tả này được viết bằng ngôn ngữ đặc tả dịch vụ Web - Web Services Description Language (WSDL).

• Service Invocation : Việc gọi hay yêu cầu thực thi một dịch vụ Web bao gồm việc chuyền thông điệp SOAP giữa client và server. SOAP đặc tả cách thức định dạng yêu cầu tới server cũng như cách thức mà server trả lời.

• Transport : Cuối cùng, toàn bộ những thông điệp này cần được trao đổi giữa client và server. Giao thức chịu trách nhiệm làm việc này là HTTP (HyperText Transfer Protocol), cũng là giao thức trao đổi trang Web truyền thống.

5.6. Ứng dụng dịch vụ Web

Một ứng dụng dịch vụ Web có cấu trúc giống như một ứng dụng client/server viết bằng CORBA hay RMI. Một khi trong ứng dụng cho client cần gọi một dịch vụ Web, các lập trình viên cần phải viết một đoạn mã gọi là client stub để thực hiện công

Một phần của tài liệu Nghiên cứu phát triển ứng dụng trên GRID (Trang 35 - 59)