Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE

101 552 0
Vai trò của điện toán lưới đối với điện toán đám mây xây dựng ứng dụng web trên nền GAE

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại Học Quốc Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin BÁO CÁO HỌC PHẦN ĐỀ TÀI: Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ GVHD: PGS.TS. Nguyễn Phi Khứ Thực hiện: Nguyễn Văn Sang - CH1101128 Nguyễn Thị Phương Trang - CH1101050 Lớp: CNTT. K6 TP.HCM – 07/2013 Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -2- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ LỜI MỞ ĐẦU  Ngày nay điện toán đám mây đã đóng một vai trò hết sức quan trọng trong cuộc sống. Cùng với tính phổ biến và sự kỳ vọng cao, người ta đã có thể xếp điện toán đám mây vào vị trí thứ 5 sau nước, không khí, điện và điện thoại. Với điện toán đám mây tất cả các nguồn tài nguyên (phần cứng hay phần mềm) đều có thể được chia sẻ, phục vụ một cách đơn giản và nhanh nhất theo nhu cầu của người dùng thông qua mạng. Trong khi đó, điện toán lưới ngày nay lại ít được quan tâm và nổi trội hơn điện toán đám mây. Để giải thích cho điều này, một phần là do điện toán lưới khá cồng kềnh, đắt giá khi đặc thù của nó thường phải tập trung giải quyết các bài toán phức tạp đòi hỏi những năng lực tính toán mạnh mẽ trong một số lĩnh vực khoa học chuyên sâu như toán học, vật lý lượng tử, xử lý ảnh từ vệ tinh, phân tích địa chấn, dự báo kinh tế, … Tuy nhiên cũng không thể chối được vai trò của điện toán lưới trong việc phục vụ cho khoa học và những vấn đề xã hội toàn cầu khi mà ở đó điện toán đám mây tỏ ra lúng túng để giải quyết một số vấn đề. Trong phạm vi bài báo cáo này, nhóm chúng em tìm hiểu vai trò của điện toán lưới đối với điện toán đám mây, trình bày những khái niệm có liên quan và thông qua một số vấn đề chính để thấy được mối liên hệ của điện toán lưới và điện toán đám mây. Các phần tiếp theo, chúng em tìm hiểu để về Google App Engine (GAE) có thể phát triển ứng dụng web dựa trên nền của Google – nền tảng như một dịch vụ (Platform as a Service) của điện toán đám mây. Nhân đây, chúng em cũng xin gửi lời cảm ơn chân thành đến PGS.TS Nguyễn Phi Khứ, người đã tận tình giảng dạy và truyền đạt những kiến thức bổ ích trong lĩnh vực công nghệ thông tin nói chung và bộ môn Tính toán lưới nói riêng để giúp chúng em hoàn thành tốt bài luận này. Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -3- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ Mặc dù chúng em đã cố gắng hoàn thành bài báo cáo nhưng trong phạm vi thời gian và khả năng cho phép, chắc chắn không tránh khỏi những thiếu sót nhất định. Chúng em kính mong nhận được sự góp ý của quý Thầy Cô và sự góp ý của các bạn. Thân mến! Nhóm báo cáo. Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -4- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ LỜI MỞ ĐẦU 3 DANH SÁCH CHỮ VIẾT TẮT 8 CHƯƠNG 1: GIỚI THIỆU 9 CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN TOÁN ĐÁM MÂY 11 CHƯƠNG 3. TÌM HIỂU VỀ GOOGLE APP ENGINE 57 CHƯƠNG 4. SỬ DỤNG DATASTORE CỦA GAE TRÊN NGÔN NGỮ JAVA 67 CHƯƠNG 5. PHÁT TRIỂN ỨNG DỤNG WEB TRÊN NỀN GAE 73 CHƯƠNG 6 – KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 93 TÀI LIỆU THAM KHẢO 94 PHỤ LỤC 96 Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -5- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ MỤC LỤC HÌNH Hình 1: Mô hình cộng tác trong Grid Computing 14 Hình 2: Sự tiến hóa thành Coud computing 17 Hình 3: Mô hình cộng tác trong Cloud computing 21 Hình 4: Tổng quan về Grid và Cloud 29 Hình 5: Các lớp của Grid Computing và Cloud Computing 30 Hình 6: Các thành phần kiến trúc giám sát Grid 42 Hình 7: Một cấu trúc căn bản của một autonomic element 47 Hình 8: Kiến trúc siêu môi giới (Meta-brokering) 49 Hình 9: Tạo một project bằng công cụ của GAE 75 Hình 10: Khai báo chi tiết cho dự án mới khởi tạo 76 Hình 11: Cấu trúc thư mục dự án mới khởi tạo 77 Hình 12: Tạo một ứng dụng mới 78 Hình 13: Khai báo tạo một ứng dụng mới 79 Hình 14: Màn hình đăng ký ứng dụng thành công 79 Hình 15: Khai báo “Application Identifier” cho dự án 80 Hình 16: Chạy ứng dụng trên máy local 80 Hình 17: Màn hình thông tin chạy ở Eclipse console 81 Hình 18: Màn hình chạy ứng dụng trên máy cục bộ thành công 81 Hình 19: Deploy ứng dụng lên App Engine 82 Hình 20: Deploy dự án lên GAE 82 Hình 21: Deploy ứng dụng web lên GAE 83 Hình 22: Đăng nhập vào Google trước khi sử dụng ứng dụng 91 Hình 23: Chấp nhận điều khoản của Google 91 Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -6- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ Hình 24: Màn hình gửi mail được deploy lên Google Engine 92 Hình 25: Màn hình thông báo viêc gửi email thành công 92 Hình 26: Hộp thư đã có thư từ người gửi 92 Hình 27: Khởi động Eclipse JUNO 4.2 96 Hình 28: Các bước trong quá trình cài đặt GAE plug-in 97 Hình 29: Chọn thư mục GAE plug-in đã được giải nén 97 Hình 30: Các bước trong quá trình cài đặt GAE plug-in 98 Hình 31: Chấp thuận bản quyền cài đặt GAE plug-in 99 Hình 32: GAE plug-in đang được cài đặt 100 Hình 33 Cài đặt GAE plug-in, đồng ý với Security Warning 100 Hình 34: Các bước trong quá trình cài đặt GAE plug-in 101 Hình 35: Cài đặt plug-in GAE trên Eclipse JUNO 4.2 thành công 101 MỤC LỤC BẢNG Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -7- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ DANH SÁCH CHỮ VIẾT TẮT API Application Programming Interfaces CSDL Cơ sở dữ liệu FTP File Transfer Protocol GAE Google App Engine GWT Google Web Tootkit HTTP Hyper Text Transfer Protocol HTTPS Hypertext Transfer Protocol Secure SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service JDK Java Development Kit JPA Java Persistence API JVM Java Virtual Machine SDK Software Development Kit URL Uniform Resource Locator XMPP Extensible Messaging and Presence Protocol Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -8- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ CHƯƠNG 1: GIỚI THIỆU Các ứng dụng điện toán mạng lưới (Grid Computing), điện toán tiện ích (Utility Computing), và điện toán đám mây (Cloud Computing) đều có mục tiêu chung là sử dụng các nguồn tài nguyên có sẵn để đáp ứng một loạt các nhu cầu một cách nhanh chóng, kịp thời và tiết kiệm chi phí. Chỉ với một thời gian ngắn nhưng ngày càng nhiều doanh nghiệp dựa vào sự phát triển của các ứng dụng nền tảng CNTT qua Internet hoặc “đám mây” để cung cấp những ứng dụng CNTT. Trên khắp thế giới, công nghệ điện toán đám mây đang được nói đến như sự phát triển nổi bậc của ngành CNTT. Theo dự báo của Công ty dữ liệu quốc tế IDC, những ứng dụng dịch vụ đám mây sẽ đạt tỷ lệ tăng trưởng hàng năm khoảng 37%, cao gấp khoảng 5 lần mô hình sử dụng các dịch vụ truyền thống. Với công nghệ điện toán đám mây, chúng ta sẽ không còn trông thấy các máy tính cá nhân, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các “máy chủ ảo” tập trung trên mạng. Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho các doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ. Xu hướng này sẽ giúp nhiều cho các công ty, doanh nghiệp vừa và nhỏ không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu. Điện toán mạng lưới bắt đầu cuộc hành trình công nghệ của mình vào khoảng một thập kỷ trước khi điện toán đám mây ra đời, điện toán đám mây đã kế thừa rất nhiều công nghệ và kinh nghiệm của điện toán mạng lưới trong việc xây dựng cơ sở hạ tầng tính toán phân tán. Trong phần báo cáo này, chúng tôi trình bày về điện toán mạng lưới, điện toán đám mây và so sánh điện toán mạng lưới và điện toán đám mây ở các đặc điểm cơ bản của chúng, các mô hình tương tác với khách hàng, tài Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -9- Báo cáo học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ nguyên của người dùng và các nhà cung cấp. Tiếp đến, là những điểm tương đồng và khác biệt trong các lớp kiến trúc và các lớp mô hình sử dụng. Tiếp theo là đi sâu vào các công nghệ và các kỹ thuật triển khai tốt nhất có tính ứng dụng từ điện toán mạng lưới cho đến điện toán đám mây, bao gồm cả lập kế hoạch, định hướng dịch vụ, an ninh, quản lý dữ liệu, giám sát, khả năng tương tác, mô phỏng và tự động phục vụ. Cuối cùng, chúng tôi trình bày về cách các kỹ thuật sẽ giúp giải quyết những thách thức hiện nay phải đối mặt của điện toán đám mây. Những phần còn lại, chúng tôi trình bày về việc phát triển ứng dụng web dựa trên nền tảng của Google App Engine. Bài báo cáo gồm các phần sau: Chương 2: Vai trò của điện toán mạng lưới đối với điện toán đám mây: trong chương này chúng tôi trình bày các khái niệm về điện toán mạng lưới, điện toán đám mây, phân tích các ảnh hưởng của điện toán mạng lưới đến điện toán đám mây. Chương 3: Tìm hiểu về Google App Engine. Chương 4: Sử dụng datastore của GAE trên ngôn ngữ java. Chương 5: Phát triển ứng dụng web trên nền GAE: trình bày cách tạo một dự án web dựa trên các công cụ được cung cấp bởi Google như bộ plug-in cho Eclipse, app engine java sdk… Chương 6: Kết quả và hướng phát triển. Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -10- [...]...Báo cáo học phần Tính toán lưới Giảng viên: PGS TS Nguyễn Phi Khứ CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN TOÁN ĐÁM MÂY 2.1 Khái niệm cơ bản của điện toán lưới và điện toán đám mây: 2.1.1 Các khái niệm cơ bản của điện toán đám mây 2.1.1.1 Khái niệm điện toán lươi: Cũng như các công nghệ tính toán khác, điện toán lưới (Grid Computing) ra đời xuất phát từ nhu cầu tính toán của con người Thực tế,... không phải là điện toán lưới như Web ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0 2.2 Các mô hình được phân lớp và các mẫu sử dụng trong trong điện toán lưới và điện toán đám mây Nhóm HV : Nguyễn Văn Sang - Nguyễn Thị Phương Trang – CNTT K6 -29- Báo cáo học phần Tính toán lưới Giảng viên: PGS TS Nguyễn Phi Khứ Có nhiều điểm tương đồng trong điện toán lưới và điện toán đám mây Chúng Tôi... và điện toán đám mây Trong điện toán lưới các thủ tục và các giao thức cần thiết để hỗ trợ khách hàng từ các dịch vụ phức tạp được xây dựng trên các thành phần phân tán, để có thể tự xử lý và đưa ra quyết định, bảo mật, cung cấp cơ sở hạ tầng và trạng thái dữ liệu Điện toán đám mây có hoạt động tương tự để hỗ trợ các yêu cầu phức tạp của khách hàng với các dịch vụ trên mức khác như hỗ trợ ứng dụng, nền. .. chung của điện toán tiện ích 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) đượ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. .. cũng thích hợp cho các đám mây chung 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... một đám mây công cộng 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. .. giải pháp trên Internet (Cloud Services)" Chúng tôi sẽ tập trung vào cơ sở hạ tầng máy tính và các khía cạnh nền tảng củ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 điện toán đám mây 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 đã đưa ra một định nghĩa khá hoàn chỉnh như sau: Điện toán đám mây là một... computing 2.1.2.3 Một số công nghệ nền tảng 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... SO trong điện toán phân tán và cách áp dụng cho điện toán đám mây SO như một kiến trúc, và dịch vụ web như một cơ chế giao tiếp giữa các thành phần được tạo ra trong bối cảnh tương đồng giữa điện toán lưới và điện toán đám mây Thiết kế của Grid ít nhận được lợi thế của khách hàng và mô hình dịch vụ được triển khai một cách phù hợp trong các môi trường tính toán phân tán Cách tiếp cận ban đầu của Grid... Sự tương tác giữa mô hình điện toán lưới và điện toán đám mây Một trong những mô hình tương tác mở rộng của điện toán lưới là mô hình tính toán mạng ngang hàng peer - to - peer Trong thực tế, thường có thoả thuận về việc chia sẻ tài nguyên giữa những người sử dụng trong hệ thống mạng Hơn nữa, khách hàng thuộc đối tượng người dùng trong Grid khi thực hiện ứng dụng thường sử dụng không đồng nhất các nguồn . học phần Tính toán lưới Giảng viên: PGS. TS. Nguyễn Phi Khứ CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN TOÁN ĐÁM MÂY 2.1 Khái niệm cơ bản của điện toán lưới và điện toán đám mây: 2.1.1 của điện toán mạng lưới đối với điện toán đám mây: trong chương này chúng tôi trình bày các khái niệm về điện toán mạng lưới, điện toán đám mây, phân tích các ảnh hưởng của điện toán mạng lưới. hiểu vai trò của điện toán lưới đối với điện toán đám mây, trình bày những khái niệm có liên quan và thông qua một số vấn đề chính để thấy được mối liên hệ của điện toán lưới và điện toán đám mây.

Ngày đăng: 09/04/2015, 19:20

Từ khóa liên quan

Mục lục

  • DANH SÁCH CHỮ VIẾT TẮT

  • CHƯƠNG 1: GIỚI THIỆU

  • CHƯƠNG 2: VAI TRÒ CỦA ĐIỆN TOÁN LƯỚI ĐỐI VỚI ĐIỆN TOÁN ĐÁM MÂY

    • 2.1 Khái niệm cơ bản của điện toán lưới và điện toán đám mây:

      • 2.1.1. Các khái niệm cơ bản của điện toán đám mây

        • 2.1.1.1. Khái niệm điện toán lươi:

        • 2.1.1.2. Một số lợi ích khi sử dụng công nghệ điện toán lưới:

        • 2.1.2. Khái niệm cơ bản của Điện toán đám mây:

          • 2.1.2.1. Quá trình phát triển:

          • 2.1.2.2. Định nghĩa điện toán đám mây:

          • 2.1.2.3. Một số công nghệ nền tảng

          • 2.1.2.4. Phân loại các hệ thống Cloud:

          • 2.1.2.5. Một số ứng dụng thực tế về điện toán đám mây

          • 2.1.3. Sự tương tác giữa mô hình điện toán lưới và điện toán đám mây

          • 2.1.4. Điện toán phân tán trong điện toán lưới và điện toán đám mây

          • 2.2 Các mô hình được phân lớp và các mẫu sử dụng trong trong điện toán lưới và điện toán đám mây

            • 2.2.2. Platform

              • 2.2.2.1. Trừu tượng từ tài nguyên vật lý

              • 2.2.2.2. Lập trình API để hỗ trợ các dịch vụ mới

              • 2.2.2.3. Application

              • 2.3. Kỹ thuật

                • 2.3.1. Định hướng dịch vụ và dịch vụ web

                • 2.3.2. Quản lý dữ liệu (Data Management)

                • 2.3.3. Sự giám sát

                • 2.3.4. Điện toán tự trị (Autonomic Computing)

                • 2.3.5. Khả năng tương tác ở Grid và Cloud

                • 2.3.6. Bảo mật và quản lý người dùng

Tài liệu cùng người dùng

Tài liệu liên quan