tìm hiểu và ứng dụng công nghệ cloud computing với nền tảng google app engine

17 573 1
tìm hiểu và ứng dụng công nghệ cloud computing với nền tảng google app engine

Đ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

Tìm hiểu ứng dụng cơng nghệ Cloud computing với tảng Google app engine Nguyễn Thị Châm Anh Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: TS Nguyễn Thế Lộc Năm bảo vệ: 2012 Abstract: Trình bày tổng quan Cloud computing (điện tốn đám mây- ĐTĐM): Khái niệm Cloud Computing; Tính chất bản; Các mơ hình Cloud Computing; Kiến trúc điện tốn đám mây; Lợi ích hạn chế ĐTĐM Nghiên cứu cơng nghệ ảo hóa: Ảo hóa gì; Lợi ích từ ảo hóa; Các phương pháp ảo hóa phổ biến Nghiên cứu an ninh Cloud: Những thách thức; Bảo mật cho SaaS Nghiên cứu công nghệ Cloud computing hãng lớn IBM, MICROSOFT, GOOGLE, AMAZON: Công nghệ ĐTĐM IBM; Công nghệ ĐTĐM Google; Công nghệ ĐTĐM Microsoft Ứng dụng cloud computing tảng GOOGLE APP ENGINE: Công nghệ Google App Engine; Xây dựng triển khai ứng dụng GAE; Ứng dụng website Quản lý du lịch Keywords: Điện toán đám mây; Phần mềm; Cơng nghệ ảo hóa; Google app engine; Website Content 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 doanh nghiệp, Tuy nhiên, giai đoạn suy thối kinh tế 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 liệu khách hàng, đối tác toán ưu tiên hàng đầu khơng ngừng gây khó khăn cho doanh nghiệp Để quản lý nguồn liệu đó, ban đầu doanh nghiệp phải đầu tư, tính tốn nhiều loại chi phí 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 tính sẵn sàng cao liệu Để giải vấn đề thấy 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ế Nội dung luận văn gồm chương: Chương vào tìm hiểu tổng quan cơng nghệ ĐTĐM, khái niệm, mơ hình, tính chất, kiến trúc, lợi ích hạn chế ĐTĐM,… Chương nói cơng nghệ ảo hóa, cơng nghệ tảng ĐTĐM Chương đưa vấn đề an ninh Cloud bước đảm bảo an ninh cho mô hình SaaS Chương trình bày tảng ĐTĐM hãng tiếng giới Google, Amazon, Microsoft Chương trình bày thực nghiệm cơng nghệ ĐTĐM tảng đám mây Google ứng dụng web "Quản lý du lịch" CHƢƠNG TỔNG QUAN VỀ CLOUD COMPUTING 1.1 Khái niệm Cloud Computing 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 cung cấp cho máy tính thiết bị khác theo nhu cầu (tương tự 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 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 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 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ạng dịch vụ cách linh động theo nhu cầu người dùng môi trường internet Theo Viện tiêu chuẩn công nghệ quốc gia Bộ Thương mại Mỹ (NIST): Điện tốn đám mây mơ hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến kho tài ngun điện tốn dùng chung, định cấu hình (ví dụ mạng, máy chủ, lưu trữ, ứng dụng) cung cấp thu hồi cách nhanh chóng với yêu cầu tối thiểu quản lý can thiệp nhà cung cấp dịch vụ 1.2 Tính chất 1.2.1 Tự phục vụ theo nhu cầu (On-demand self-service) 1.2.2 Truy xuất diện rộng (Broad network access) 1.2.3 Dùng chung tài nguyên (Resource pooling) 1.2.4 Khả co giãn (Rapid elasticity) 1.2.5 Điều tiết dịch vụ (Measured service) 1.3 Các mơ hình Cloud Computing Các mơ hình Cloud Computing phân thành hai loại: - Các mơ hình dịch vụ (Service Models): Phân loại dịch vụ nhà cung cấp dịch vụ Cloud Computing - Các mơ hình triển khai (Deployment Models): Phân loại cách thức triển khai dịch vụ Cloud Computing đến với khách hàng 1.3.1 Mơ hình dịch vụ Hình1.5 Các loại dịch vụ Cloud Computing 1.2.1.1 Infrastructure as a Service – IaaS Trong loại dịch vụ này, khách hàng cung cấp tài nguyên máy tính (như xử lý, dung lượng lưu trữ, kết nối mạng…) Khách hàng cài hệ điều hành, triển khai ứng dụng nối thành phần tường lửa cân tải Nhà cung cấp dịch vụ quản lý sở hạ tầng bên dưới, khách hàng phải quản lý hệ điều hành, lưu trữ, ứng dụng triển khai hệ thống, kết nối thành phần 1.2.1.2 Platform as a Service – PaaS Nhà cung cấp dịch vụ cung cấp tảng (platform) cho khách hàng Khách hàng tự phát triển ứng dụng nhờ cơng cụ mơi trường phát triển cung cấp cài đặt ứng dụng sẵn có platform Khách hàng khơng cần phải quản lý kiểm soát sở hạ tầng bên bao gồm mạng, máy chủ, hệ điều hành, lưu trữ, công cụ, môi trường phát triển ứng dụng quản lý ứng dụng cài đặt phát triển 1.2.1.3 Software as a Service – SaaS Đây mơ hình dịch vụ mà nhà cung cấp dịch vụ cung cấp cho khách hàng phần mềm dạng dịch vụ hoàn chỉnh Khách hàng cần lựa chọn ứng dụng phần mềm phù hợp với nhu cầu chạy ứng dụng sở hạ tầng Cloud Mơ hình giải phóng người dùng khỏi việc quản lý hệ thống, sở hạ tầng, hệ điều hành… tất nhà cung cấp dịch vụ quản lý kiểm sốt để đảm bảo ứng dụng ln sẵn sàng hoạt động ổn định 1.3.2 Mơ hình triển khai Cho dù sử dụng loại mơ hình dịch vụ có ba mơ hình triển khai là: Public Cloud, Private Cloud Hybrid Cloud 1.3.2.1 Public Cloud Các dịch vụ Cloud nhà cung cấp dịch vụ cung cấp cho người sử dụng rộng rãi Các dịch vụ cung cấp quản lý nhà cung cấp dịch vụ ứng dụng người dùng nằm hệ thống Cloud 1.3.2.2 Private Cloud Trong mơ hình Private Cloud, sở hạ tầng dịch vụ xây dựng để phục vụ cho tổ chức (doanh nghiệp) Điều giúp cho doanh nghiệp kiểm sốt tối đa liệu, bảo mật chất lượng dịch vụ 1.3.2.3 Hybrid Cloud Hybrid Cloud kết hợp Public Cloud Private Cloud Trong doanh nghiệp “out-source” chức nghiệp vụ liệu không quan trọng, sử dụng dịch vụ Public Cloud để giải xử lý liệu Đồng thời, doanh nghiệp giữ lại chức nghiệp vụ liệu tối quan trọng tầm kiểm sốt (Private Cloud) Một khó khăn áp dụng mơ hình Hybrid Cloud triển khai ứng dụng hai phía Public Private Cloud cho ứng dụng kết nối, trao đổi liệu để hoạt động cách hiệu Doanh nghiệp chọn để triển khai ứng dụng Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể Mỗi mơ hình có điểm mạnh yếu Các doanh nghiệp phải cân nhắc mơ hình Cloud Computing mà họ chọn Và họ sử dụng nhiều mơ hình để giải vấn đề khác Nhu cầu ứng dụng có tính tạm thời triển khai Public Cloud giúp tránh việc phải mua thêm thiết bị để giải nhu cầu tạm thời Tương tự, nhu cầu ứng dụng thường trú ứng dụng có yêu cầu cụ thể chất lượng dịch vụ hay vị trí liệu nên triển khai Private Hybrid Cloud 1.4 Kiến trúc điện tốn đám mây Kiến trúc ĐTĐM nhìn chung gồm có thành phần hình 1.12: Hình 1.12 Kiến trúc Cloud Computing Hạ tầng: Cơ sở hạ tầng (Infrastructure) ĐTĐM phần cứng cung cấp dịch vụ, nghĩa chia sẻ sử dụng lại dễ dàng Các tài nguyên phần cứng cung cấp theo thời gian cụ thể theo yêu cầu Dịch vụ kiểu giúp cho khách hàng giảm chi phí bảo hành, chi phí sử dụng,… Lƣu trữ (Storage): Lưu trữ đám mây khái niệm tách liệu khỏi trình xử lý chúng lưu trữ vị trí từ xa Lưu trữ đám mây bao gồm dịch vụ CSDL, ví dụ BigTable Google, SimpleDB Amazon,… Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng quản lý yêu cầu phần cứng, nhu cầu phần mềm Ví dụ dịch vụ khung ứng dụng Web, web hosting,… Dịch vụ: Dịch vụ đám mây phần độc lập kết hợp với dịch vụ khác để thực tương tác, kết hợp máy tính với để thực thi chương trình ứng dụng theo u cầu mạng ví dụ dịch vụ như: Simple Queue Service, Google Maps, dịch vụ toán linh hoạt mạng Amazon,… Ứng dụng: Ứng dụng đám mây (Cloud application) đề xuất kiến trúc phần mềm sẵn sàng phục vụ, nhằm loại bỏ cần thiết phải mua phần mềm, cài đặt, vận hành trì ứng dụng máy bàn/thiết bị người sử dụng Ứng dụng đám mây loại bỏ chi phí để bảo trì vận hành chương trình ứng dụng Hạ tầng khách hàng: (Client Infrastructure) yêu cầu phần mềm phần cứng để sử dụng dịch vụ ĐTĐM mạng Thiết bị cung cấp cho khách hàng trình duyệt, máy tính để bàn, máy xách tay, điện thoại di động,… 1.5 So sánh Điện toán máy chủ ảo thường bị lẫn lộn với điện toán lƣới, "một dạng điện tốn phân tán tồn 'siêu máy tính ảo', bao gồm cụm mạng máy tính, máy tính liên kết mềm, hoạt động phối hợp để thực thi tác vụ cực lớn", điện toán theo nhu cầu (utility computing) ("khối tài nguyên máy tính, xử lý nhớ, vai trò dịch vụ trắc lượng tương tự với cơng trình hạ tầng kỹ thuật truyền thống chẳng hạn điện lực hay mạng điện thoại") điện toán tự trị (autonomic computing) ("những hệ thống máy tính có khả tự quản lý") Thực việc triển khai nhiều hệ thống điện toán máy đám mây ngày trang bị hệ thống lưới, có tính tự trị tiếp thị giống tiện ích, điện tốn đám mây nhìn nhận bước phát triển tự nhiên từ mơ hình lưới-theo nhu cầu Nhiều kiến trúc đám mây thành cơng có sở hạ tầng khơng quy tập hay quy tập hay hệ thống tiếp thị có mạng ngang hàng BitTorrent Skype 1.6 Lợi ích hạn chế ĐTĐM 1.6.1 Lợi ích ĐTĐM 1.6.1.1 Miễn phí 1.6.1.2 Dễ tiếp cận 1.6.1.3 Khả tự phục vụ 1.6.1.4 Di động 1.6.1.5 Linh hoạt 1.6.1.6 Tài nguyên dùng chung 1.6.1.7 Khả liên kết 1.6.1.8 Khả tự động hoá 1.6.1.9 Khả nhận biết thiết bị đầu cuối 1.6.1.10 Khả co giãn 1.6.1.11 Yên tâm tuyệt đối 1.6.2 Một số hạn chế 1.6.2.1 Vấn đề bảo mật 1.6.2.2 Mất kiểm soát phụ thuộc Kết luận Chương Tìm hiểu từ vấn đề tổng quát ĐTĐM cho ta nhìn nhận cách tổng thể mơ hình dịch vụ, mơ hình triển khai ĐTĐM từ ta rút ưu điểm nhược điểm để đưa cách tiếp cận cho phù hợp với nhu cầu CHƢƠNG CƠNG NGHỆ ẢO HĨA 2.1 Ảo hóa gì? Ảo hóa thiết kế tảng kỹ thuật cho tất kiến trúc điện toán đám mây Điện toán đám mây đề cập chủ yếu đến tảng ảo hóa Ảo hóa công nghệ thiết kế để tạo tầng trung gian hệ thống phần cứng máy tính phần mềm chạy Ảo hóa cho người dùng thấy máy chủ, thiết bị lưu trữ, phần cứng khác coi khối tổng thể nguồn lực hệ thống rời rạc, nguồn tài nguyên phân bổ theo u cầu Trong điện tốn đám mây, cơng nghệ ảo hóa máy chủ quan tâm hàng đầu, máy vật lý đơn lẻ tạo thành nhiều máy ảo độc lập Mỗi máy ảo có thiết lập nguồn hệ thống riêng rẽ, hệ điều hành riêng ứng dụng riêng 2.2 Lợi ích từ ảo hóa Ảo hóa giải thách thức việc quản lý trung tâm liệu cung cấp số lợi sau: Tỷ lệ sử dụng cao Hợp tài nguyên Sử dụng điện thấp Tiết kiệm không gian Khắc phục rủi ro Giảm chi phí hoạt động 2.3 Các phƣơng pháp ảo hóa phổ biến: 2.3.1 Ảo hóa máy chủ (Server Vitualization) 2.3.2 Ảo hóa ứng dụng (Application virtualization) 2.3.3 Ảo hóa lƣu trữ 2.4 Ảo hóa máy chủ với Hyper-V 2.4.1 Tổng quan, kiến trúc 2.4.2 Các tính 2.4.3 Lợi ích triển khai Hyper -V 2.4.4 Triển khai Kết luận Chương Công nghệ ảo hóa thực việc chia nhỏ cơng việc cụ thể Server thành Server khác từ làm tăng khả vận hành hệ thống máy tính đảm bảo tính thống lưu trữ, truy cập hệ thống Tìm hiểu cơng nghệ ảo hóa nhận thấy ưu nhược điểm cơng nghệ từ đưa cách tiếp cận công nghệ cách phù hợp với nhu cầu Việc áp dụng cơng nghệ ảo hóa Việt nam cịn dè dặt Theo đánh giá ban đầu, nguyên nhân chủ yếu nhà quản lý Việt Nam chưa nhận thức cần thiết việc tiết kiệm không gian, điện nhân công việc ứng dụng cơng nghệ ảo hóa Thêm vào đó, ngun nhân khiến nhà quản lý công nghệ thông tin Việt Nam cịn e ngại tính bảo mật hệ thống ảo Tuy nhiên, khơng ảo hóa, Việt Nam tốn chi phí khơng nhỏ cho việc bảo dưỡng sửa chữa hệ thống cồng kềnh Do đó, cần quảng bá cho doanh nghiệp biết ưu lợi ích mà ảo hóa đem lại để áp dụng rộng rãi công nghệ Việt Nam, bắt nhịp với xu phát triển giới CHƢƠNG AN NINH TRÊN CLOUD 3.1 Những thách thức 3.2 Bảo mật cho SaaS Các nhà phân tích cơng ty tư vấn công nghệ Gartner liệt kê bẩy vấn đề bảo mật cần thảo luận với nhà cung cấp ĐTĐM SaaS, gồm nội dung sau:  Việc truy cập người dùng ưu tiên: yêu cầu người chuyên truy cập liệu, thuê hay quản lý quản trị viên?  Việc tuân theo quy tắc: Đảm bảo nhà cung cấp sẵn sàng chịu kiểm nghiệm bên xác nhận vấn đề bảo mật?  Vị trí liệu: nhà cung cấp có cho phép kiểm sốt vị trí liệu khơng?  Tách liệu: Đảm bảo quyền truy cập thích hợp tất công đoạn chiến lược mã hóa phải chuyên gia giàu kinh nghiệm thiết kế kiểm duyệt?  Khả phục hồi: Phát chuyện xảy với liệu gặp tai họa Liệu chúng có khả phục hồi hồn tồn khơng? Nếu có thời gian bao lâu?  Hỗ trợ điều tra: Nhà cung cấp phát hành vi khơng thích hợp phạm pháp khơng?  Khả tồn lâu dài: Chuyện xảy với liệu cơng ty khơng cịn kinh doanh nữa? Dữ liệu trở lại theo định dạng gì? Việc thực hành an ninh cho môi trường SaaS xây dựng thảo luận phần sau 3.2.1 Quản trị an ninh 3.2.2 Quản lý rủi ro 3.2.3 Đánh giá rủi ro 3.2.4 Chính sách, tiêu chuẩn dẫn 3.2.5 Chu trình phát triển phần mềm an tồn Chu trình tạm thời chia thành giai đoạn sau:  Nghiên cứu: xác định mục tiêu quy trình dự án, tài liệu sách bảo mật chương trình  Phân tích: Phân tích chương trình, sách, mối đe dọa hành, kiểm tra lợi tức hợp pháp phân tích độ mạo hiểm  Thiết kế logic: Phát triển sơ đồ chi tiết bảo mật, lập kế hoạch đối phó với trường hợp xấu, biện pháp kinh doanh trước thảm họa xác định tính khả thi việc tiếp tục dự án hay thuê  Thiết kế vật lý: Chọn công nghệ để hỗ trợ cho thiết kế chi tiết bảo mật, đưa hướng giải hợp lý, tiêu chuẩn bảo mật vật lý để hỗ trợ biện pháp kỹ thuật kiểm tra, nâng cấp kế hoạch  Thi hành: Mua phát triển biện pháp bảo mật cuối giai đoạn này, cần phải đưa gói hồn chỉnh thử nghiệm để có phê duyệt nhà quản lý  Duy trì: Ổn định việc quản lý, kiểm nghiệm, điều chỉnh, nâng cấp sửa đổi để ứng phó với thay đổi mối đe dọa 3.2.6 Giám sát bảo mật đối phó với tình bất ngờ 3.2.7 Thiết kế cấu trúc bảo mật 3.2.8 An ninh Vật lý Kết luận Chương Việc phát triển ứng dụng đám mây gây nhiều tranh cãi lẽ an ninh lên ĐTĐM thực chưa đảm bảo Chương nêu số khó khăn thách thức với ĐTĐM, biết hạn chế tồn đưa nhận định cách thức thực tảng cho phù hợp CHƢƠNG CÔNG NGHỆ CLOUD COMPUTING CỦA CÁC HÃNG LỚN: IBM, MICROSOFT, GOOGLE, AMAZON Các hãng lớn bắt đầu chạy đua đến với điện toán đám mây Những Google, Microsoft, Amazon, Sun phát triển tảng điện toán đám mây riêng Các tảng điện tốn đám mây lớn kể đến bao gồm: Google App Engine Google: http://code.google.com/appengine/     Windows Azure Microsoft: http://www.microsoft.com/windowsazure/windowsazure/ Nền tảng điện toán đám mây đời đầu tiên: Amazone Webservice Amazon.com Sun Cloud Sun http://www.sun.com/solutions/cloudcomputing/ Facebook 4.1 Công nghệ ĐTĐM IBM Hình 4.1: IBM Blue Cloud Khái niệm Blue Cloud xuất IBM tiến hành hỗ trợ chuyên gia sáng chế phần mềm họ việc xây dựng cổng thông tin tên chương trình ứng dụng cơng nghệ (Technology Adoption Program - TAP) Thơng qua chương trình này, chun gia phát triển IBM yêu cầu cung cấp nguồn lực tính tốn với phần mềm để tiến hành thử nghiệm sáng tạo họ Sản phẩm thu từ mơ hình Blue Cloud tiền tích hợp thử nghiệm giới thiệu vào đầu năm 2008 Blue Cloud IBM cho phép người dùng sử dụng nguồn lực điện tốn thơng qua hệ thống "đặt chỗ" đặc biệt dựa công nghệ Web 2.0 Theo đó, máy chủ tự động cung cấp, giám sát quản lí q trình đặt chỗ khai thác Mơ hình cho phép tổ chức, tổ chức, cá nhân mở rộng mơi trường điện tốn cụm ảo cách bổ sung thêm máy chủ, tùy theo nhu cầu tính tốn, quản lý liệu thực tế Hình 4.2: Cơ sở hạ tầng ĐTĐM IBM 4.2 Công nghệ ĐTĐM Amazone 4.2.1 Dịch vụ Amazon Simple Storage Service (S3) Hình 4.3: Amazon Simple Storage Services 4.2.2 Dịch vụ Amazon Elastic Compute Cloud (EC2) 4.2.3 Dịch vụ Amazon SimpleDB (SDB) 4.3 Công nghệ ĐTĐM Google 4.3.1 Giới thiệu Google Apps 4.3.1.1 Google Email 4.3.1.2 Google Docs 4.3.1.3 Google Calendar 4.3.1.4 Google Talk 4.3.1.5 Google Sites 4.3.1.6 Google Video 4.3.1.7 GoogleGroups 4.3.1.8 GoogleWave 4.3.2 Yêu cầu để sử dụng đƣợc Google App Engine 4.3.3 Dịch vụ hình thức tốn Google App Engine Muốn đăng ký sử dụng Google App Engine thực vào theo địa sau http://www.google.com/apps/intl/vi/business/docs.html#utm_campaign=vi&utm_source=viha-apac-vi-sk-google&utm_medium=ha&utm_term=%2Bgoogle%20%2Bapps để xem thơng tin chi tiết gói dịch vụ theo bước sau:  Để tham khảo giá cước dịch vụ gói dịch vụ hình minh họa ta việc chọn đến gói cước dịch vụ xem thơng tin gói dịch vụ  Ở tơi thử với gói cước Google Apps for Business thơng tin gói dịch vụ thể sau: 4.3.4 Giới thiệu ngơn ngữ lập trình java 2.0 Google Apps Engine 4.3.4.1 Giới thiệu lịch sử đời 4.3.4.2 Xây dựng Website Google App Engine dựa tảng Java 2.0 4.4 Công nghệ ĐTĐM Microsoft 4.4.1 Nền tảng Windows Azure 4.4.2 Các thành phần tảng Windows Azure : 10  Windows Azure: Cung cấp môi trường tảng Windows để chạy ứng dụng lưu trữ liệu máy chủ trung tâm liệu Microsoft;  SQL Azure: Cung cấp dịch vụ liệu đám mây dựa SQL Server;  Windows Azure Platform AppFabric: Cung cấp dịch vụ đám mây để kết nối ứng dụng chạy đám mây On-Premise 4.4.3 Windows Azure 4.4.4 SQL Azure 4.4.5 Windows Azure Platform AppFabric 4.4.6 Các thành phần Windows Azure Platform AppFabric : 4.4.7 Mơ hình ứng dụng Windows Azure Kết luận Chương Các công nghệ ĐTĐM hàng đầu bao gồm có Microsoft, Google, Amazon, IBM số nhà phát triển ĐTĐM khác Chương xin trình bầy cơng nghệ, dịch vụ hãng phát điển ĐTĐM nêu cách thức tiếp cận hãng phát triển công nghệ CHƢƠNG ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN TẢNG GOOGLE APP ENGINE 5.1 Công nghệ Google App Engine 5.1.1 Tổng quan Google App Engine “Google App Engine” (GAE) tảng hosting bao gồm web server, sở liệu BigTable and kho lưu trữ file GFS GAE cho phép bạn viết ứng dụng web dựa sở hạ tầng Google Nghĩa bạn không cần quan tâm trang web bạn lưu trữ (kể database kèm), mà cần quan tâm đến việc phát triển ứng dụng theo API Google cung cấp Với App Engine, bạn cần tải lên ứng dụng bạn, sẵn sàng để phục vụ người dùng bạn Bạn sử dụng tên miền riêng (chẳng hạn http://www.example.com/ ) thơng qua google apps Hoặc bạn dùng sub-domain miễn phí appspot.com GAE cho phép host miễn phí với dung lượng 1GB lưu trữ cho phép triệu pageview hàng tháng, vượt qua mức bạn phải trả phí Dùng GAE, khỏi phải thiết kế database, viết SQL để truy vấn data, map data với object Chúng ta cần design class GAE tự động lo phần làm việc với database Tóm lại, bạn cần phải nghĩ viết ứng dụng tuyệt vời kêu gọi giới vào dùng Tuy nhiên, mặt trái việc xây dựng ứng dụng GAE bạn phụ thuộc hoàn toàn vào cơng nghệ Google khó tách thành ứng dụng độc lập Yahoo hay Microsoft chẳng mua ứng dụng xây dựng tảng đối thủ Còn nhà đầu tư e ngại tài sản công ty bạn đặt hết vào tay người khác, Google GAE Google cho mắt vào tháng năm 2008 hỗ trợ ngôn ngữ Python Đến tháng năm 2009, GAE công bố hỗ trợ ngơn ngữ thức thứ hai Java, đánh dấu thay đổi lớn cách xây dựng ứng dụng Một số ngơn ngữ khác PHP chạy cài với chuyển từ PHP sang Java GAE tảng ĐTĐM theo mô hình PaaS GAE cho phép khách hàng triển khai ứng dụng web để chạy sở hạ tầng Google Với đặc trưng dễ dàng xây dựng, bảo trì khả mở, GAE nhà phát triển doanh nghiệp triển khai sử dụng Với chi phí xây dựng triển khai ứng dụng ban đầu gần 0, khách hàng dễ dàng xây dựng ứng dụng theo yêu cầu Khi ứng dụng thu lợi nhuận vượt qua mức sử dụng khách hàng phải trả khoản phí tài ngun mà sử dụng 5.1.2 Mơi trƣờng phát triển 11 Một ứng dụng App Engine đáp ứng yêu cầu web Một yêu cầu web bắt đầu có người dùng hay điển hình trình duyệt web người dùng gửi yêu cầu truy cập vào ứng dụng thông qua giao thức HTTP Khi App Engine nhận yêu cầu, xác định ứng dụng dựa vào tên miền, tên miền appspot.com (cung cấp miễn phí ứng dụng) tên miền riêng đăng kí thiết lập với Google Apps App Engine lựa chọn máy chủ từ nhiều máy chủ để xử lý yêu cầu Sau đó, App Engine gửi yêu cầu nhận từ người dùng đến ứng dụng phù hợp để xử lý, sau xử lý xong ứng dụng gửi liệu trả cho App Engine, App Engine nhận liệu phản hồi từ ứng dụng trả cho người dùng thông qua trình duyệt web Theo góc nhìn ứng dụng, mơi trường thực thi xuất tồn bắt đầu yêu cầu biến yêu cầu đáp ứng xong App Engine cung cấp tối thiểu cách thức lưu trữ liệu tồn yêu cầu , chế tồn bên ngồi mơi trường thực thi Mơi trường thực thi khơng trì trạng thái u cầu, khơng mong muốn trạng thái trì yêu cầu App Engine phân phát lưu lượng truy cập nhiều server, cần phải đáp ứng cho nhiều yêu cầu xử lý nhau, có lưu lượng truy cập xử lý lúc Bản thân GAE có chế để quản lý trạng thái yêu cầu ứng dụng dạng Sandbox (người phát triển rõ chế bên hỗ trợ người phát triển dịch vụ cần thiết) Điều cho phép App Engine xử lý yêu cầu với máy chủ mà mong muốn ước tính để trả phản hồi nhanh Khơng có cách để đảm bảo phần cứng máy chủ xử lý hai lần yêu cầu, yêu cầu đến từ client, đến nhanh chóng Sandboxcho phép App Engine chạy nhiều ứng dụng máy chủ, hành vi ứng dụng khơng làm ảnh hưởng đến ứng dụng khác Ngoài để giới hạn quyền truy cập đến hệ điều hành, môi trường thực thi giới hạn việc sử dụng CPU nhớ App Engine giữ giới hạn linh hoạt chặt chẽ giới hạn để ứng dụng sử dụng nhiều tài nguyên để bảo vệ tài nguyên chia sẻ từ ứng dụng “khơng mong muốn” Mỗi u cầu có tối đa 30s để trả phản hồi cho client Mặc dù thời gian đáp ứng tốt cho ứng dụng web, App Engine tối ưu hóa cho ứng dụng đáp ứng chưa đầy giây Ngoài ứng dụng sử dụng nhiều CPU, App Engine làm chậm xuống, nên ứng dụng khơng trì hỗn vi xử lý máy phục vụ đa ứng dụng Một CPU tập trung xử lý yêu cầu nhiều thời gian để hồn thành, App Engine dị tìm mơ hình theo cách sử dụng CPU phân bổ cho phù hợp Google App Engine cung cấp hai mơi trường thực thi cho ứng dụng Đó Java Python, thử nghiệm Go Môi trường chọn phụ thuộc vào ngôn ngữ công nghệ liên quan dùng để phát triển ứng dụng Môi trường Java thực thi ứng dụng viết cho JVM6 Ứng dụng phát triển dựa vào ngơn ngữ lập trình Java hầu hết ngơn ngữ biên dịch chạy JVM: ví dụ PHP (dùng Quercus), Ruby (dùng JRuby), Javascript (dùng Rhino), Scala, Groovy App Engine hỗ trợ Google Web Tootkit (GWT) Môi trường Python thực thi ứng dụng viết dựa vào ngơn ngữ lập trình Python 2.5 App Engine gọi ứng dụng Python nhờ vào CGI Ứng dụng dùng hầu hết thư viện Python, framework Python Django, web2py, Pylons Cả hai môi trường Java Python sử dụng chung mơ hình: u cầu gửi đến ứng dụng server, ứng dụng kích hoạt (nếu cần thiết), gọi phận xử lý yêu cầu trả kết cho client Mỗi môi trường sử dụng tiền xử lý (interpreter) cho riêng (JVM hay Python) 5.1.3 Mơ hình kiến trúc dịch vụ GAE 12 Trong mơ hình kiến trúc cho thấy hoạt động GAE Một yêu cầu từ trình duyệt máy bàn, máy xách tay, điện thoại, … gửi tới GAE thông qua lối vào (Front End) Một ứng dụng chủ (App Master) điều khiển, lập lịch cho tất yêu cầu Nếu yêu cầu truy cập tệp tin tĩnh, yêu cầu gửi đến dịch vụ tệp tĩnh (Static Flies) Nếu yêu cầu nội dung động, yêu cầu gửi tới ứng dụng GAE, thơng qua thư viện APIs, ứng dụng truy cập tới dịch vụ lưu trữ (Datastore), dịch vụ lưu trữ nhớ (Memcache), dịch vụ thao tác ảnh (Image manipulation),… Mỗi dịch vụ có chức hoạt động riêng biệt, khơng phụ thuộc lẫn Khi xây dựng ứng dụng với ngôn ngữ Java, GAE hỗ trợ thư viện kết hợp thư viện chuẩn Java cho phép ứng dụng truy cập vào dịch vụ tương ứng Hình 5.1 Kiến trúc GAE 5.1.3.1 Các file server tĩnh (static server files) 5.1.3.2 Tổ chức lưu trữ liệu (Datastore) 5.1.3.3 Quản lý vùng nhớ đệm (Memcache) 5.1.3.4 Dịch vụ giao tiếp web (URL Fetch) 5.1.3.5 Dịch vụ thư điện tử (Mail) 5.1.3.6 Một số dịch vụ khác 5.1.4 Công cụ quản lý ứng dụng 5.2 Xây dựng triển khai ứng dụng GAE 5.2.1 Cơ sở liệu hệ thống ứng dụng 5.2.2 Công cụ xây dựng ứng dụng  Java SE Development Kit update 18  Eclipse Indigo  Google Plugin for Eclipse 3.7  Google Web toolkit SDK 2.4.0 5.2.3 Cài đặt Plugin cho Eclipse 5.2.4 Xây dựng ứng dụng website công ty du lịch Vietnam-tour Để tạo ứng dụng mới, NSD chọn chức với biểu tượng tạo ứng dụng App Engine cơng cụ trình soạn thảo, sau nhập thơng tin cần thiết có tên ứng dụng, ứng dụng em có tên vietnam-tour, kết ứng dụng tạo có cấu trúc hình 5.7: 13 Hình 5.7 Cấu trúc ứng dụng App Engine 5.2.5 Triển khai ứng dụng Hình 5.11.Trang chủ Để chỉnh sửa thông tin trang web người dùng đăng nhập vào trang quản trị hình 5.12 Hình 5.12.Trang đăng nhập quản trị Để quản trị người dùng trang “Quản trị người dùng” cho phép tạo mới, sửa thơng tin xóa thơng tin người dùng 14 Hình 5.13.Trang Quản trị người dùng Giả sử thêm tour Hà Nội – Đà Lạt với thông tin hình 5.14 Hình 5.14 Trang Quản trị Tour Kết vào trang chính, click vào “Tour nước” hình lên hình 5.15: Hình 5.15 Trang Tour nước Kết luận chương GAE cho nhìn rõ nét ĐTĐM, mơ hình sử dụng tảng nhà cung cấp, cơng nghệ ảo hóa tài ngun phần cứng, phần mềm lẫn hệ thống mạng, tài nguyên cấp phát động đảm bảo tính đơn giản, khả mở rộng linh hoạt 15 độ tin cậy cao đặt lên hàng đầu Với GAE, khách hàng xây dựng triển khai ứng dụng web lên sở hạ tầng gã khổng lồ Google – hãng có uy tín giới KẾT LUẬN Như vậy, luận văn từ vấn đề tổng quan ĐTĐM để người đọc nhìn rõ nét mơ hình chung ĐTĐM qua có quan điểm riêng ĐTĐM nói chung cơng nghệ dịch vụ hãng phát triển công nghệ Q trình tìm hiểu phân tích cơng nghệ dịch vụ ĐTĐM cho ta thấy ưu điểm, nhược điểm mơ hình dịch vụ Với hầu hết người sử dụng dịch vụ hệ thống Internet việc quan tâm hàng đầu có lẽ khơng vấn đề an ninh hệ thống dịch vụ đó, sở tìm hiểu tổng hợp nêu mặt mặt hạn chế dịch vụ ĐTĐM Như vậy, trình tìm hiểu an ninh hệ thống đám mây nhà cung câp dịch vụ đưa vào với chương để người muốn tìm hiểu nhanh chóng nắm bắt thông tin đưa hướng sử dụng dịch vụ ĐTĐM phù hợp Việc liệt kê nêu lên dịch vụ nhà cung cấp dịch vụ ĐTĐM hàng đầu nhằm đưa thông tin tới người đọc nhìn tổng quát vài mơ hình dịch vụ ĐTĐM điển hình, mơ hình nhà cung cấp dịch vụ hàng đầu hãng Microsoft, Google, Amazon, IMB Việc liệt kê đầy đủ dịch vụ hãng lớn phát triển công nghệ ĐTĐM Môi trường Internet để người đọc so sánh dịch vụ với tự đánh giá kết so sánh Hiện thực hóa q trình tìm hiểu dịch vụ ĐTĐM sở lý thuyết việc thử nghiệm cài đặt ứng dụng tảng Google để nắm bắt việc ứng dụng công nghệ ĐTĐM cách thức thực hiện, triển khai ứng dụng cụ thể công nghệ ĐTĐM./ References Tiếng Việt Nguyễn Anh Tài, Nguyễn Phương Duy, Phạm Thanh Phương, Báo cáo đề tài Cloud Computing, Đại Học Bách Khoa Tp.HCM Nguyễn Đức Thiện (2011), Điện toán đám mây ứng dụng, Đại học Sư phạm – Đại học Quốc gia Lê Hùng (2009), Hành trình đến với ĐTĐM riêng Tiếng Anh Anthony T.Velte, Toby J.velte, PH.D Robert ElsenPeter, “Cloud computing A Practical Approach” Borko Furht (2010), Hanbook of Cloud Computing, Springer Dan Sanderson (2010), Programming Google App Engine, O’Reilly Media Google, https://developers.google.com/appengine/, Google App Engine Google, Google App Engine Exercise Google, https://developers.google.com/appengine/docs/java/gettingstarted/, Java 10 George Reese (2009), Cloud Application Architectures, O’Reilly Media 11 John W Rittinghouse, James F Ransome (2010) CloudComputing: Implementation Managerment and Security, Taylor and Francis Group 16 12 Michael Miller, “Cloud computing Web-base Application that change the way you work and collaborate online” 13 IBM (07-2009), “The Benefits of Cloud Computing” 14 IBM (11-2009), "Point of View: Security and Cloud Computing", Cloud computing white Paper 15 SUN Cloud computing document(2009), "Seeding the Clouds: Key Infrastructure Elements for Cloud Computing " 16 Sun Microsystems(2009), Sun Cloud Computing 17 Wikipedia, http://en.wikipedia.org/wiki/Cloud_computing, Cloud Computing 18 Computerjobs.vn, http://computerjobs.vn/blog-cong-nghe/cloud-computing-cach-mangdien-toan-gia-re-nho-internet.htm, Cloud computing – cách mạng điện toán giá rẻ nhờ Internet 19 Công ty du lịch Đất Việt, http://www.datviettour.com.vn/, Danh sách tour 20 Wikipedia, http://vi.wikipedia.org/wiki/%C4%90i%E1%BB%87n_to%C3%A1n_m%C3%A1y_c h%E1%BB%A7_%E1%BA%A3o, Điện toán máy chủ ảo 21 Microsoft.com, http://www.microsoft.com/azure/netservices.mspx, NET Services 22 Msdn.microsoft.com, http://msdn.microsoft.com/en-us/library/dd179442.aspx, About the Azure Services Platform and Windows Azure 23 Microsoft.com, http://www.microsoft.com/azure/whatisazure.mspx, What is the Azure Services Platform 24 Microsoft.com, http://www.microsoft.com/azure/whyuseazure.mspx, Why Use the Azure Services Platform? 25 Trần Đình Quế, Nguyễn Mạnh Sơn(2007), Phân tích thiết kế hệ thống thơng tin, Học viện Cơng nghệ Bưu Viễn thơng 17 ... bầy cơng nghệ, dịch vụ hãng phát điển ĐTĐM nêu cách thức tiếp cận hãng phát triển công nghệ CHƢƠNG ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN TẢNG GOOGLE APP ENGINE 5.1 Công nghệ Google App Engine 5.1.1... 4.3.1.8 GoogleWave 4.3.2 Yêu cầu để sử dụng đƣợc Google App Engine 4.3.3 Dịch vụ hình thức tốn Google App Engine Muốn đăng ký sử dụng Google App Engine thực vào theo địa sau http://www .google. com/apps/intl/vi/business/docs.html#utm_campaign=vi&utm_source=viha-apac-vi-sk -google& utm_medium=ha&utm_term=%2Bgoogle%20%2Bapps... Mặc dù thời gian đáp ứng tốt cho ứng dụng web, App Engine tối ưu hóa cho ứng dụng đáp ứng chưa đầy giây Ngoài ứng dụng sử dụng nhiều CPU, App Engine làm chậm xuống, nên ứng dụng khơng trì hỗn vi

Ngày đăng: 21/12/2014, 13:55

Từ khóa liên quan

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

Tài liệu liên quan