Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 85 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
85
Dung lượng
4,99 MB
Nội dung
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ CHÂM ANH TÌM HIỂU VÀ ỨNG DỤNG CÔNG NGHỆ CLOUD COMPUTING VỚI NỀN TẢNG GOOGLE APP ENGINE LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2012 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ CHÂM ANH TÌM HIỂU VÀ ỨNG DỤNG CÔNG NGHỆ CLOUD COMPUTING VỚI NỀN TẢNG GOOGLE APP ENGINE Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Thế Lộc Hà Nội – 2012 MỤC LỤC MỤC LỤC BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT CHƢƠNG 1.TỔNG QUAN VỀ CLOUD COMPUTING 1.1 Khái niệm Cloud Computing 1.2 Tính chất 11 1.2.1 Tự phục vụ theo nhu cầu (On-demand self-service) 11 1.2.2 Truy xuất diện rộng (Broad network access) 11 1.2.3 Dùng chung tài nguyên (Resource pooling) 12 1.2.4 Khả co giãn (Rapid elasticity) 12 1.2.5 Điều tiết dịch vụ (Measured service) 12 1.3 Các mơ hình Cloud Computing 12 1.3.1 Mơ hình dịch vụ 13 1.2.1.1 Infrastructure as a Service – IaaS 13 1.2.1.2 Platform as a Service – PaaS 13 1.2.1.3 Software as a Service – SaaS 14 1.3.2 Mơ hình triển khai 14 1.3.2.1 Public Cloud 14 1.3.2.2 Private Cloud 15 1.3.2.3 Hybrid Cloud 16 1.4 Kiến trúc điện toán đám mây 17 1.5 So sánh 19 1.6 Lợi ích hạn chế ĐTĐM 19 1.6.1 Lợi ích ĐTĐM 19 1.6.1.1 Miễn phí 19 1.6.1.2 Dễ tiếp cận 19 1.6.1.3 Khả tự phục vụ 20 1.6.1.4 Di động 20 1.6.1.5 Linh hoạt 20 1.6.1.6 Tài nguyên dùng chung 20 1.6.1.7 Khả liên kết 20 1.6.1.8 Khả tự động hoá 20 1.6.1.9 Khả nhận biết thiết bị đầu cuối 21 1.6.1.10 Khả co giãn 21 1.6.2 Một số hạn chế 21 1.6.2.1 Vấn đề bảo mật 22 1.6.2.2 Mất kiểm soát phụ thuộc 22 CHƢƠNG 2.CÔNG NGHỆ ẢO HÓA 24 2.1 Ảo hóa gì? 24 2.2 Lợi ích từ ảo hóa 24 2.3 Các phƣơng pháp ảo hóa phổ biến: 25 2.3.1 Ảo hóa máy chủ (Server Vitualization) 25 2.3.2 Ảo hóa ứng dụng (Application virtualization) 25 2.3.3 Ảo hóa lƣu trữ 26 2.4 Ảo hóa máy chủ với Hyper-V 27 2.4.1 Tổng quan, kiến trúc 27 2.4.2 Các tính 28 2.4.3 Lợi ích triển khai Hyper -V 30 CHƢƠNG 3.AN NINH TRÊN CLOUD 36 3.1 Những thách thức 36 3.2 Bảo mật cho SaaS 38 3.2.1 Quản trị an ninh 38 3.2.2 Quản lý rủi ro 38 3.2.3 Đánh giá rủi ro 39 3.2.4 Chính sách, tiêu chuẩn dẫn 39 3.2.5 Chu trình phát triển phần mềm an toàn 39 3.2.6 Giám sát bảo mật đối phó với tình bất ngờ 40 3.2.7 Thiết kế cấu trúc bảo mật 40 3.2.8 An ninh Vật lý 41 CHƢƠNG CÔNG NGHỆ CLOUD COMPUTING CỦA CÁC HÃNG LỚN: IBM, MICROSOFT, GOOGLE, AMAZON 42 4.1 Công nghệ ĐTĐM IBM 42 4.2.1 Dịch vụ Amazon Simple Storage Service (S3) 44 4.2.3 Dịch vụ Amazon SimpleDB (SDB) 46 4.3 Công nghệ ĐTĐM Google 46 4.3.1 Giới thiệu Google Apps 47 4.3.1.1 Google Email 47 4.3.1.2 Google Docs 47 4.3.1.3 Google Calendar 48 4.3.1.4 Google Talk 48 4.3.1.5 Google Sites 48 4.3.1.6 Google Video 48 4.3.1.7 GoogleGroups 48 4.3.1.8 GoogleWave 49 4.3.2 Yêu cầu để sử dụng đƣợc Google App Engine 49 4.3.3 Dịch vụ hình thức tốn Google App Engine 49 4.3.4 Giới thiệu ngôn ngữ lập trình java 2.0 Google Apps Engine 50 4.3.4.1 Giới thiệu lịch sử đời 51 4.3.4.2 Xây dựng Website Google App Engine dựa tảng Java 2.0 51 4.4 Công nghệ ĐTĐM Microsoft 52 4.4.1 Nền tảng Windows Azure 52 4.4.3 Windows Azure 52 4.4.4 SQL Azure 54 4.4.5 Windows Azure Platform AppFabric 55 4.4.6 Các thành phần Windows Azure Platform AppFabric : 55 4.4.7 Mơ hình ứng dụng Windows Azure 57 CHƢƠNG ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN TẢNG GOOGLE APP ENGINE 58 5.1 Công nghệ Google App Engine 58 5.1.1 Tổng quan Google App Engine 58 5.1.2 Môi trƣờng phát triển 58 5.1.3 Mơ hình kiến trúc dịch vụ GAE 60 5.1.3.1 Các file server tĩnh (static server files) 61 5.1.3.2 Tổ chức lƣu trữ liệu (Datastore) 61 5.1.3.3 Quản lý vùng nhớ đệm (Memcache) 62 5.1.3.4 Dịch vụ giao tiếp web (URL Fetch) 63 5.1.3.5 Dịch vụ thƣ điện tử (Mail) 64 5.1.3.6 Một số dịch vụ khác 64 5.1.4 Công cụ quản lý ứng dụng 64 5.2 Xây dựng triển khai ứng dụng GAE 65 5.2.1 Công cụ xây dựng ứng dụng 65 5.2.2 Cài đặt Plugin cho Eclipse 65 5.2.3 Xây dựng ứng dụng GAE 67 5.2.4 Triển khai ứng dụng 68 5.3 Ứng dụng website Quản lý du lịch 69 5.3.1 Giới thiệu ứng dụng 69 5.3.2 Phân tích thiết kế hệ thống 69 5.3.2.1 Biểu đồ use case 69 5.3.2.2 Biểu đồ lớp 70 5.3.2.3 Biểu đồ hoạt động 71 5.3.2.4 Biểu đồ trạng thái 72 5.3.2.5 Biểu đồ 72 5.3.3 Lập trình ứng dụng 73 5.3.4 Cách sử dụng trang Web Quản lý du lịch 75 5.3.3.1 Truy cập trang web Quản lý du lịch 75 5.3.3.2 Quản trị Web 76 5.3.3.3 Đặt tour 80 KẾT LUẬN 83 TÀI LIỆU THAM KHẢO 84 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Tên khoa học Giải nghĩa Tên viết tắt API Application Programming Interfaces CNTT CSDL CSDLQH ĐTĐM EC2 Information Technology Database Relational Database Cloud Computing Amazon Elastic Compute Cloud GAE Google App Engine IaaS JDK Infrastructure as a Service Java Development Kit 10 11 12 13 14 JDO NSD PaaS SaaS SDK Java Data Objects User Platform as a Service Software as a Service Software Development Kit 15 URL Uniform Resource Locator Giao diện lập trình ứng dụng Công Nghệ Thông Tin Cơ sở liệu Cơ sở liệu quan hệ Điện toán đám mây Nền tảng tính tốn Amazon Cơng nghệ tảng điện toán đám mây Google Hạ tầng nhƣ dịch vụ Bộ công cụ phát triển ứng dụng ngôn ngữ Java Các đối tƣợng liệu Java Ngƣời sử dụng Nền tảng nhƣ dịch vụ Phần mềm nhƣ dịch vụ Bộ công cụ phát triển phần mềm Địa truy cập tài nguyên Internet STT LỜI NĨI ĐẦU Ngày cơng nghệ thơng tin phát triển nhanh chóng, nắm giữ vai trị quan trọng việc thúc tăng trƣởng kinh tế, với đời nhiều công nghệ mới, dịch vụ CNTT đáp ứng nhu cầu ngƣời dùng nhƣ doanh nghiệp, Tuy nhiên, giai đoạn suy thối kinh tế nhƣ nay, việc ứng dụng công nghệ hay dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu liệu riêng công ty nhƣ liệu khách hàng, đối tác toán đƣợc ƣu tiên hàng đầu khơng ngừng gây khó khăn cho doanh nghiệp Để quản lý đƣợc nguồn liệu đó, ban đầu doanh nghiệp phải đầu tƣ, tính tốn nhiều loại chi phí nhƣ chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa,…Ngồi họ cịn phải tính tốn khả mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật liệu nhƣ tính sẵn sàng cao liệu Để giải vấn đề thấy đƣợc có nơi tin cậy giúp doanh nghiệp quản lý tốt nguồn liệu đó, doanh nghiệp khơng cịn quan tâm đến sở hạ tầng, cơng nghệ mà tập trung vào cơng việc kinh doanh họ mang lại cho họ hiệu lợi nhuận ngày cao Khái niệm “điện toán đám mây” (ĐTĐM) đời hồn cảnh dần trở nên quen thuộc doanh nghiệp, đặc biệt doanh nghiệp vừa nhỏ Không nằm ngồi xu em xin đƣa đề tài nghiên cứu ĐTĐM cụ thể nghiên cứu công nghệ Google Apps Engine – tảng ĐTĐM hãng CNTT khổng lồ giới – Google nhằm hiểu công nghệ ứng dụng hiệu vào thực tế CHƢƠNG TỔNG QUAN VỀ CLOUD COMPUTING Theo ƣớc tính nhà phát triển lĩnh vực khoa học cơng nghệ từ năm 2015 có khoảng 15 tỉ thiết bị kết nối đến internet hầu hết thiết bị thơng minh ví dụ nhƣ notebook, netbook, điện thoại thông minh, ô tô thông minh chí ti vi thơng minh tất chúng kết nối đến internet cần phải có giải pháp cho linh hoạt để đáp ứng đƣợc dịch vụ cho hàng loạt thiết bị Khơng khác mơ hình dịch vụ ĐTĐM Với trung tâm ĐTĐM đƣợc mắt vào nửa cuối năm 2008 Việt nam trở thành nƣớc ASEAN ứng dụng công nghệ này, đến dịch vụ cụ thể, ứng dụng cụ thể khái niệm ĐTĐM dần trở nên quen thuộc IBM tổ chức phong khai trƣơng trung tâm ĐTĐM Việt Nam vào tháng năm 2008 với khách hàng Công ty cổ phần công nghệ truyền thông Việt Nam Cịn Microsoft tháng 5/2009 vừa qua thức ký kết biên ghi nhớ với tập đoàn FPT nhằm thúc đẩy ĐTĐM Việt Nam Ý tƣởng tảng ĐTĐM phát triển từ lâu giới nhƣng gần với bùng nổ Internet công nghệ mạng nhƣ nhu cầu thị trƣờng tên tuổi lớn giới bắt đầu đƣa ý tƣởng trở thành ứng dụng thật thị trƣờng Việt Nam, năm 2011 năm mà ĐTĐM Việt Nam thức đƣợc phát triển mạnh hạ tầng dịch vụ Theo số liệu nghiên cứu cho đến 2012 có khoảng 35% doanh nghiệp lớn Mỹ ứng dụng ĐTĐM khoảng 40% doanh nghiệp vừa nhỏ toàn giới ứng dụng công nghệ 1.1 Khái niệm Cloud Computing Hiện khái niệm Cloud computing khái niệm mơ hồ đƣợc nhà nghiên cứu chỉnh sửa ngày, nhƣng ứng dụng khơng q phức tạp mà rõ ràng cụ thể Theo định nghĩa Wikipedia ĐTĐM mơi trƣờng tính tốn dựa internet mà tất phần mềm, liệu, tài nguyên đƣợc cung cấp cho máy tính thiết bị khác theo nhu cầu (tƣơng tự nhƣ mạng điện) Hình 1.1 Mọi thứ tập trung vào đám mây Đứng góc nhìn khoa học kỹ thuật có nhiều định nghĩa khác nhau, có hai định nghĩa Ian Foster Rajkumar Buyya đƣợc dùng phổ biến có nhiều điểm tƣơng đồng Theo Ian Foster: Cloud Computing mơ hình điện tốn phân tán có tính co giãn lớn mà hướng theo co giãn mặt kinh tế, nơi chứa sức mạnh tính tốn, kho lưu trữ, tảng dịch vụ trực quan, ảo hóa co giãn linh động, phân phối theo nhu cầu cho khách hàng bên ngồi thơng qua Internet Theo Rajkumar Buyya: Cloud loại hệ thống phân bố xử lý song gồm máy tính ảo kết nối với cung cấp động cho người dùng nhiều tài nguyên đồng dựa thỏa thuận dịch vụ nhà cung cấp người sử dụng 10 Hình 1.2 Hình ảnh Cloud Computing Cả hai định nghĩa định nghĩa Cloud Computing hệ phân bố, cung cấp dạng tài nguyên ảo dƣới dạng dịch vụ cách linh động theo nhu cầu ngƣời dùng mơi trƣờng internet Hình 1.3 ĐTĐM “di cư” nguồn tài nguyên lên mạng Internet ... HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ CHÂM ANH TÌM HIỂU VÀ ỨNG DỤNG CÔNG NGHỆ CLOUD COMPUTING VỚI NỀN TẢNG GOOGLE APP ENGINE Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống... Azure Platform AppFabric : 55 4.4.7 Mơ hình ứng dụng Windows Azure 57 CHƢƠNG ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN TẢNG GOOGLE APP ENGINE 58 5.1 Công nghệ Google App Engine ... ĐTĐM cụ thể nghiên cứu công nghệ Google Apps Engine – tảng ĐTĐM hãng CNTT khổng lồ giới – Google nhằm hiểu cơng nghệ ứng dụng hiệu vào thực tế 8 CHƢƠNG TỔNG QUAN VỀ CLOUD COMPUTING Theo ƣớc tính