Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,53 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM Bài thu hoạch môn: Điện toán lưới và Đám mây !"#$ $%&'$$#()%%*( +,-./.01-2 ++3456 7.+89:8:;< -7=>:?@A:8B Bài thu hoạch môn Điện toán lưới và Đám mây 7 C HV: Vũ Thị Hường Trang 2 Bài thu hoạch môn Điện toán lưới và Đám mây C6DEF Ngày nay công nghệ thông tin phát triển rất nhanh chóng, nắm giữ vai trò quan trọng trong việc thúc đấy sự tăng trưởng kinh tế, với sự ra đời của rất nhiều công nghệ mới, các dịch vụ CNTT đáp ứng nhu cầu của người dùng cũng như là các doanh nghiệp, Tuy nhiên, trong giai đoạn suy thoái kinh tế như hiện nay, thì việc ứng dụng một công nghệ hay một dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu quả dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho doanh nghiệp. Để có thể quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất 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,…Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu. Để giải quyết vấn đề trên thì chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn. Khái niệm “điện toán đám mây” (Cloud Computing) đã ra đời trong hoàn cảnh đó và đang dần trở nên quen thuộc đối với các doanh nghiệp, đặc biệt là đối với các doanh nghiệp vừa và nhỏ. Trong khuôn khổ bài thu hoạch nhỏ này, em xin trình bày nền tảng điện toán đám mây Google Apps Engine của hãng khổng lồ tìm kiếm Google trong việc xây dựng và triển khai ứng dụng Web. Em xin gửi lời cảm ơn chân thành đến PGS.TS Nguyễn Phi Khứ, là người đã trực tiếp giảng dạy, truyền đạt những kiến thức liên quan tới môn học, cung cấp thông tin, tư liệu cho chúng em. Tuy có nhiều cố gắng, nhưng với lượng kiến thức còn hạn hẹp không tránh khỏi thiếu sót trong quá trình thực hiện, mong nhận được ý kiến đóng góp của thầy để em có thể hoàn thiện hơn. Em xin chân thành cảm ơn! Học viên Vũ Thị Hường 5G8/ HV: Vũ Thị Hường Trang 3 Bài thu hoạch môn Điện toán lưới và Đám mây 8 HIJ)+KLMM77MN 8/8/2>"E"$>E>O0P#$$%Q Theo định nghĩa của Wikipedia thì: Cloud computing là môi trường tính toán dựa trên internet mà ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị khác theo nhu cầu Hình 1.1. Mọi thứ đều tập trung vào đám mây Đứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong đó có hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều điểm tương đồng. Theo Ian Foster: Cloud Computing là một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet. Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng. HV: Vũ Thị Hường Trang 4 Bài thu hoạch môn Điện toán lưới và Đám mây Hình 1.2. Hình ảnh Cloud Computing Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường internet. Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương mại Mỹ (NIST): Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ. Có rất nhiều định nghĩa về Cloud Computing, nhưng với người dùng thông thường thì có thể hiểu một cách đơn giản như sau: Điện toán đám mây là các phát triển dựa vào mạng Internet sử dụng các công nghệ máy tính. Đây là một kiểu điện toán trong đó những tài nguyên tính toán và lưu trữ được cung cấp như những dịch vụ trên mạng. Người dùng không cần biết hay có kinh nghiệm điều khiển và vận hành những công nghệ này. 8/AR S GT' Cloud Computing có năm tính chất nổi bật so với mô hình truyền thống. 8/A/8/U% ($ FPLV(WX(#YVX(Z (Q Mỗi khi có nhu cầu, người dùng chỉ cần gửi yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của người dùng. Người dùng có thể tự phục vụ yêu cầu của mình như tăng thời gian sử dụng server,tăng dung lượng lưu trữ… mà không cần phải tương tác trực tiếp với nhà cung cấp dịch vụ, mọi nhu cầu về dịch vụ đều được xử lý trên môi trường web (Internet). 8/A/A/Z0[S"Z\P]Z$W(^$Z_W (XXQ Cloud Computing cung cấp các dịch vụ thông qua môi trường internet. Do đó, người dùng có kết nối internet là có thể sử dụng dịch vụ. Hơn nữa, Cloud Computing ở dạng dịch vụ nên không đòi HV: Vũ Thị Hường Trang 5 Bài thu hoạch môn Điện toán lưới và Đám mây hỏi khả năng xử lý cao ở phía client, vì vậy người dùng có thể truy xuất bằng các thiết bị di dộng như điện thoại, PDA, laptop… Với Cloud Computing người dùng không còn bị phụ thuộc vị trí nữa, họ cóthể truy xuất dịch vụ từ bất kỳ nơi nào, vào bất kỳ lúc nào có kết nối Internet. 8/A/9/,` 0aP(X$Z (%$$#Q Tài nguyên của nhà cung cấp dịch vụ được dùng chung, phục vụ cho nhiều người dùng dựa trên mô hình “multi-tenant” . Trong mô hình “multitenant”,tài nguyên sẽ được phân phát động tùy theo nhu cầu của người dùng. Khi nhu cầu của một khách hàng giảm xuống, thì phần tài nguyên dư thừa sẽ được tận dụng để phục vụcho một khách hàng khác. Ví dụ như khách hàng A thuê 10 CPU mỗi ngày từ 7 giờ đến 11 giờ, một khách hàng B thuê 10 CPU tương tự mỗi ngày từ 13 giờ đến 17 giờ thì hai khách hàng này có thểdùng chung 10 CPU đó. Cloud Computing dựa trên công nghệ ảo hóa, nên các tài nguyên da phần là tài nguyên ảo. Các tài nguyên ảo này sẽ được cấp phát động theo sự thay đổi nhu cầu của từng khách hàng khác nhau. Nhờ đó nhà cung cấp dịch vụ có thể phục vụ nhiều khách hàng hơn so với cách cấp phát tài nguyên tĩnh truyền thống. 8/A/B/2'@ $bPW%(#WX 0Q Đây là tích chất đặc biệt nhất, nổi bật nhất và quan trọng nhất của Cloud Computing.Đó là khả năng tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu cầu của người dùng. Khi nhu cầu tăng cao, hệ thống sẽ tự mở rộng bằng cách thêm tài nguyên vào. Khi nhu cầu giảm xuống, hệ thống sẽ tự giảm bớt tài nguyên. Ví dụ: khách hàng thuê một Server gồm 10 CPU. Thông thường do có ít truy cập nên chỉ cần 5 CPU là đủ, khi đó hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự ngắt bớt5 CPU dư thừa, khách hàng không phải trả phí cho những CPU dư thừa này (những CPU này sẽ được cấp phát cho các khách hàng khác có nhu cầu). Khi lượng truy cập tăng cao, nhu cầu tăng lên thì hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự “gắn” thêm CPU vào, nếu nhu cầu tăng vượt quá 10 CPU thì khách hàng phải trả phí cho phần vượt mức theo thỏa thuận với nhà cung cấp. Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệtđể tài nguyên dư thừa, phục vụ đượcnhiều khách hàng. Đối với người sử dụng dịch vụ,khả năng co giãn giúp họ giảm chiphí do họ chỉ trả phí cho những tài nguyên thực sự dùng. 8/A/c/d4 P7(WXZ(X(Z (Q Hệ thống Cloud Computing tự động kiểm soát và tối ưu hóa việc sử dụng tài nguyên (dung lượng lưu trữ, đơn vị xử lý, băng thông…). Lượng tài nguyên sử dụng có thể được theo dõi, kiểm soát và báo cáo một cách minh bạch cho cả hai phía nhà cung cấp dịch vụ và người sử dụng. 8/9/> !$$% Các mô hình Cloud Computing được phân thành hai loại: • Các mô hình dịch vụ (Service Models): Phân loại các dịch vụ của các nhà cung cấp dịch vụ Cloud Computing. HV: Vũ Thị Hường Trang 6 Bài thu hoạch môn Điện toán lưới và Đám mây • 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. 8/9/8/7!4 Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại dịch vụ khác nhau. Tuy nhiên có ba loại dịch vụ Cloud Computing cơ bản là: • Dịch vụ cơ sở hạ tầng (Infrastructure as a Service - IaaS), • Dịch vụ nền tảng(Platform as a Service – PaaS) • Dịch vụ phần mềm (Software as a Service SaaS). Cách phân loại này thường được gọi là “mô hình SPI”. Hình 1.3. Các loại dịch vụ Cloud Computing YZWXZ Z(WXW.(Z (eWW. Trong loại dịch vụ này, khách hàng được cung cấp những tài nguyên máy tính cơ bản(như bộ xử lý, dung lượng lưu trữ, các kết nối mạng…). Khách hàng sẽ cài hệ điều hành, triển khai ứng dụng và có thể nối các thành phần như tường lửa và bộ cân bằngtải. Nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải quản lý hệ điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống, các kết nối giữa các thành phần. -#WY$ZWXW.(Z (e-WW. Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng. Khách hàng sẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường p hát triển được cung cấp hoặc cài đặt các ứng dụng sẵn có trên nền platform đó. K hách hàng không cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát triển ứng dụng nhưng quản lý các ứng dụng mình cài đặt hoặc phát triển. .$Y^WZ(WXW.(Z (e.WW. HV: Vũ Thị Hường Trang 7 Bài thu hoạch môn Điện toán lưới và Đám mây Đây là mô hình dịch vụ mà trong đó nhà cung cấp dịch vụ sẽ cung cấp cho khách hàng một phần mềm dạng dịch vụ hoàn chỉnh. Khách hàng chỉ cần lựa chọn ứng dụng phần mềm nào phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng Cloud. Mô hình này giải phóng người dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đả m bảo ứng dụng luôn sẵn sàng và hoạt động ổn định. Hình 1.4. Mô hình SPI 8/9/A7!Z_W Các hình thức triển khai của điện toán đám mây: dựa vào nhu cầu của người dùng cũng như của phía nhà cung cấp mà hình thành nên bốn phương thức triển khai điện toán đám mây trong thực tế : • Đám mây công cộng ( Public Cloud) • Đám mây cá nhân ( Private Cloud) • Đám mây lai ( Hybrid Cloud) • Đám mây cộng đồng ( Community Cloud) HV: Vũ Thị Hường Trang 8 Bài thu hoạch môn Điện toán lưới và Đám mây Hình 1.5. Các mô hình triển khai Cloud Computing -T# #$ Đây là mô hình mà các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi. Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ và các ứng dụng của người dùng đều nằm trên hệ thống Cloud. Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên thường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi phí thấp cho khách hàng. Do đó khách hàng của dịch vụ trên Public Cloud sẽ bao gồm tất cả các tầng lớp mà khách hàng cá nhân và doanh nghiệp nhỏ sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cap, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt. -ZW(#$ Trong mô hình Private Cloud, cơ sở hạ tầng và các dịch vụ được xây dựng để phục vụ cho một tổ chức (doanh nghiệp) duy nhất. Điều này giúp cho doanh nghiệp có thể kiểm soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch vụ. 0TZ#$ Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud. Trong đó doanh nghiệp sẽ “out- source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này. Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud). $0#$ Community Cloud là mô hình trong đó hạ tầng đám mây được chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó. Các tổ chức này do đặc thù không tiếp cận với các dịch vụ Public Cloud và chia sẻ chung một hạ tầng Cloud để nâng cao hiệu quả đầu tư và sử dụng. HV: Vũ Thị Hường Trang 9 Bài thu hoạch môn Điện toán lưới và Đám mây Hình 1.6. Mô hình Community Cloud Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể. Mỗi mô hình đều có điểm mạnh và yếu của nó. Các doanh nghiệp phải cân nhắc đối với các mô hình Cloud Computing mà họ chọn. Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề khác nhau. Nhu cầu về một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị để giải quyết một nhu cầu tạm thời. Tương tự, nhu cầu về một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud 8/B2dZf E"$>E>O0 Kiến trúc điện toán đám mây nhìn chung gồm có các thành phần chính như hình: Hình 1.7. Kiến trúc Cloud Computing HV: Vũ Thị Hường Trang 10 [...]... Chương sau sẽ đi tìm hiểu cụ thể ứng dụng Google App Engine của nhà cung cấp điện toán đám mây Google để thấy được lợi ích mà nó mang lại HV: Vũ Thị Hường Trang 12 Bài thu hoạch môn Điện toán lưới và Đám mây Chương 2 TÌM HIỂU VỀ GOOGLE APPS ENGINE 2.1 Giới thiệu về kho ứng dụng của Google (Google Apps) Google apps là một bộ các trình ứng dụng hiệu quả dựa trên đám mây, giúp người sử dụng có thể truy... hoạch môn Điện toán lưới và Đám mây TÀI LIỆU THAM KHẢO 1 Google App Engine Homepage: http://www.w3schools.com/js/default.asp (2013) 2 Google App Engine SDK: https://developers .google. com/appengine/downloads (2013) 3 Google App Engine Tutorial: http://googcloudlabs.appspot.com/ (2013) 4 Wiki: http://en.wikipedia.org/wiki /Google_ App_ Engine (2013) 5 https://developers .google. com/appengine/features/ (2013)... ứng dụng lên Google App Engine Bạn có thể cấu hình lại Application Id cho Eclipse trong trường hợp muốn thay đổi so với khi tạo project Nhấp chuột phải vào project của bạn và chọn Properties Google App Engine và nhập Application Id của bạn Nhấn OK HV: Vũ Thị Hường Trang 23 Bài thu hoạch môn Điện toán lưới và Đám mây Hình 2.20 Triển khai ứng dụng lên Google App Engine Để triển khai ứng dụng bạn nhấp... tính vào và ở bất kỳ thời điểm nào Bản thân các dữ liệu và các trình ứng dụng được vận hành bởi các trung tâm dữ liệu của Google Hiện đang có một số phiên bản các ứng dụng Google như phiên bản miễn phí, phiên bản tiêu chuẩn, phiên bản giáo dục, phiên bản cho các tổ chức phi lợi nhuận và phiên bản dành cho chính phủ Hình 2.8 các ứng dụng Google Apps Một số ứng dụng trong Google apps: • Gmail: là nền tảng. .. Điện toán lưới và Đám mây Google App Engine (GAE) là một nền tảng điện toán đám mây của Google để phát triển và lưu trữ ứng dụng web trong những trung tâm dữ liệu do Google quản lý GAE là nền tảng điện toán đám mây theo mô hình PaaS GAE cho phép khách hàng triển khai các ứng dụng web để chạy trên cơ sở hạ tầng của Google Với các đặc trưng dễ dàng xây dựng, bảo trì, tăng lưu lượng truy cập và tăng dung... Bước 2: Chạy ứng dụng trên local Nhấp chuột phải vào project của bạn và chọn Run as… Web Application Ứng dụng sẽ được chạy trên cổng 8888 (hoặc cổng khác phụ thuộc vào cấu hình của bạn), Mở trình duyệt và gõ vào thanh địa chỉ http://localhost:8888/ HV: Vũ Thị Hường Trang 22 Bài thu hoạch môn Điện toán lưới và Đám mây Hình 2.19 Chạy ứng dụng trên local Bước 3: Triển khai ứng dụng. .. trình khác nhau như Java, Python, PHP và Go Mỗi ngôn ngữ đều có một môi trường thực thi và SDK riêng cung cấp các công cụ để phát triển, kiểm tra ở local và triển khai ứng dụng Bạn có thể download Google app Engine SDK từ trang chủ của Google app engine Language Runtime Java Môi trường Java thực thi các ứng dụng được viết cho JVM7 Ứng dụng cóthể được phát triển dựa vào ngôn ngữ lập trình Java hoặc hầu... cho phép người sử dụng tạo và quản lý các danh sách thư, chia sẻ nội dụng và tạo các lưu trữ có thể tìm kiếm được • Google Sites: là một công cụ chp phép tạo mới các trang web dành cho mạng nội bộ và các trang được quản lý theo nhóm • Google Video: là công cụ chia sẻ video được bảo mật • Google Driver: dịch vụ lưu trữ, đồng bộ và chia sẻ dữ liệu nhanh chóng • … 2.2 Tìm hiểu Google App Engine 2.2.1 Giới... file appengine-web.xml Nó bao gồm application ID, phiên bản ứng dụng và danh sách các file tĩnh (như là hình ảnh, CSS), file resource (như là JSP và các dữ liệu ứng dụng khác) demo_lab 1 App Engine to send multiple requests to one instance in parallel:... của Google và cung cấp cho người sử dụng 25GB lưu trữ • Google Calendar: là một công cụ quản lý dạng chương trình nghị sự, cho phép người sử dụng sắp xếp và chia sẻ lịch trực tuyến và được đồng bộ hóa với thiết bị di động của người sử dụng • Google Docs: là một nhóm các công cụ giúp người sử dụng tạo mới văn bản, bảng biểu, đồ thị và các bài thuyết trình • Google Groups: là các nhóm do người sử dụng . phi lợi nhuận và phiên bản dành cho chính phủ. Hình 2.8. các ứng dụng Google Apps Một số ứng dụng trong Google apps: • W#: là nền tảng email của Google và cung cấp cho người sử dụng 25GB lưu. các class và GAE tự động lo phần làm việc với database. Với chi phí xây dựng và triển khai ứng dụng ban đầu gần như bằng 0, khách hàng dễ dàng xây dựng các ứng dụng theo yêu cầu. Khi ứng dụng đã. mây Google App Engine (GAE) là một nền tảng điện toán đám mây của Google để phát triển và lưu trữ ứng dụng web trong những trung tâm dữ liệu do Google quản lý. GAE là nền tảng điện toán đám mây theo