Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
2,27 MB
Nội dung
Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ ĐẠI HỌC QUỐC GIA THÀNH PHỐ HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN MÔN HỌC TÍNH TOÁN LƯỚI & ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI GOOGLE APP ENGINE GIẢI PHÁP CHO ĐIỆN TOÁN ĐÁM MÂY GVHD: PGS TS Nguyễn Phi Khứ Học viên: Nhan Thanh Nhã Mã HV: CH1301044 Ngành: KHOA HỌC MÁY TÍNH TP.HCM 06/ 2014 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN HVTH: Nhan Thanh Nhã Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ BÁO CÁO ĐỒ ÁN MÔN HỌC TOÁN CHO MÁY TÍNH ĐỀ TÀI GOOGLE APP ENGINE GIẢI PHÁP CHO ĐIỆN TOÁN ĐÁM MÂY GVHD: PGS TS Nguyễn Phi Khứ HVTH: Nhan Thanh Nhã Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ Học viên: Nhan Thanh Nhã Mã HV: CH1301044 Ngành: KHOA HỌC MÁY TÍNH Lớp: Cao học Khóa 8 TP.HCM 06/ 2014 MỤC LỤC HVTH: Nhan Thanh Nhã Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ LỜI MỞ ĐẦU Ngày nay công nghệ thông tin phát triển đóng vai trò hết sức quan trọng trong việc thúc đấy sự tăng trưởng kinh tế. Các công nghệ mới ra đời rất nhiều, làm cho các dịch vụ CNTT cũng phải thường xuyên sáng tạo đổi mới, nhằm đáp ứng nhu cầu của người sử dụng. Tuy nhiên, 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. Để có thể quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp. Để 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” đã 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 đề tài sẽ trình bày các phần chính như sau: Chương 1: TỔNG QUAN VỀ CLOUD COMPUTIONG Chương 2: CẤU TRÚC MỘT ĐÁM MÂY MÃ NGUỒN MỞ Chương3: GOOGLE APP ENGINE Chương4: Tạo PROJECT HVTH: Nhan Thanh Nhã Page 4 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ CHƯƠNG 1: TỔNG QUAN VỀ CLOUD COMPUTING 1.1. Định Nghĩa CLOUD COMPUTING Điện toán đám mây đã trở thành từ rất thông dụng. Tuy nhiên, có hàng chục định nghĩa khác nhau cho Cloud Computing và có vẻ là không có sự đồng thuận về những gì một Cloud, Mặt khác, điện toán đám mây không phải là một khái niệm hoàn toàn mới, nó có kết nối phức tạp đến tương đối mới nhưng mười ba năm thành lập mô hình tính toán mạng lưới và các công nghệ có liên quan khác như điện toán tiện ích, điện toán cụm, và hệ thống phân phối nói chung. Theo Wikipedia: “Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạ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ụ. Theo Gartner (http://www.buildingthecloud.co.uk/) : “Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet”. Theo Ian Foster: “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 (platform) 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. HVTH: Nhan Thanh Nhã Page 5 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ Hình 1.1. Mọi thứ đều tập trung vào đám mây Từ hai định nghĩa của Ian Foster và Rajkumar Buyya đề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. HVTH: Nhan Thanh Nhã Page 6 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ 1.2. Mô hình dịch vụ. Hình 1.2. Mô hình dịch vụ 2.2.1. Infrastructure as a Service – IaaSLogic toán là gì? Tầng đáy của đám mây là tầng các dịch vụ cơ sở hạ tầng. Ở đây, chúng ta thấy một tập hợp các tài sản vật lí như các máy chủ, các thiết bị mạng và các đĩa lưu trữ được đưa ra như là các dịch vụ được cung cấp cho người tiêu dùng. 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ằng tả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 Cũng như với các dịch vụ nền tảng, sự ảo hóa là một phương pháp thường được sử dụng để tạo ra chế độ phân phối các nguồn tài nguyên theo yêu cầu. Ví dụ về các dịch vụ cơ sở hạ tầng bao gồm IBM Bluehouse, VMware, Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage và nhiều hơn nữa. Các dịch vụ cơ sở hạ tầng tập trung vào vấn đề trang bị đúng các trung tâm dữ liệu bằng cách đảm bảo công suất điện toán khi cần thiết. Ngoài ra, do thực tế là các kỹ thuật ảo hóa thường được sử dụng trong tầng này, nên có thể thấy rõ sự tiết kiệm chi phí do việc sử dụng nguồn lực hiệu quả mang lại. Những đặc trưng tiêu biểu: HVTH: Nhan Thanh Nhã Page 7 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ • Cung cấp tài nguyên như là dịch vụ: bao gồm cả máy chủ, thiết bị mạng, bộ nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu. • Khả năng mở rộng linh hoạt • Chi phí thay đổi tùy theo thực tế • Nhiều người thuê có thể cùng dùng chung trên một tài nguyên • Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên tích toán tổng hợp. 2.2.2. Platform as a Service – PaaS 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 phá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 đó. Khá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. Ở tầng này chúng ta thấy cơ sở hạ tầng ứng dụng nổi lên như là một tập hợp các dịch vụ. Dịch vụ này nhưng không bị hạn chế tầng giữa như là một dịch vụ, truyền thông như là một dịch vụ, tích hợp như là một dịch vụ, thông tin như là một dịch vụ, kết nối như một dịch vụ, v.v. Các dịch vụ ở đây được dành để hỗ trợ cho các ứng dụng. Các ứng dụng này có thể đang chạy trong đám mây và chúng có thể đang chạy trong một trung tâm dữ liệu doanh nghiệp truyền thống hơn. Để đạt được khả năng mở rộng cần thiết trong một đám mây, các dịch vụ khác nhau được đưa ra ở đây thường được ảo hóa. Các ví dụ về các đề nghị trong phần này của đám mây bao gồm các ảnh ảo của IBM® WebSphere® Application Server virtual images, Amazon Web Services, Boomi, Cast Iron, và Google App Engine.Các dịch vụ nền tảng này cho phép người tiêu dùng chắc chắn rằng các ứng dụng của họ được trang bị để đáp ứng các nhu cầu của người dùng bằng cách cung cấp cơ sở hạ tầng ứng dụng dựa theo yêu cầu. Những đặc trưng tiêu biểu: • Phục vụ cho việc phát triển, kiêm thử, triển khai và vận hành ứng dụng giống như là môi trường phát triển tích hợp • Các công cụ khởi tạo với giao diện trên nền web. • Kiến trúc đồng nhất • Tích hợp dịch vụ web và cơ sở dữ liệu • Hỗ trợ cộng tác nhóm phát triển • Công cụ hỗ trợ tiện tích Sự thuận lợi của PaaS: • Dịch vụ nền tảng (PaaS) đang ở thời kì đầu và được ưa chuộng ở những tính năng vốn được ưa thích bơi dịch vụ phần mềm (đề cập sau), bên cạnh đó có tích hợp các yếu tố về nền tảng hệ thống. HVTH: Nhan Thanh Nhã Page 8 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ • Ưu điểm trong những dự án tập hợp những công việc nhóm có sự phân tán về địa lý. • Khả năng tích hợp nhiều nguồn của dich vụ web • Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng, kiểm soát lỗi… • Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dục vụ, giao diện người dùng và các yếu tố ứng dụng khác. • Mong đợi ở người dùng có kiến thức có thể tiếp tục hoàn thiện và hỗ trợ tương tác với nhiều người để giúp xác định mức đô khó khăn của vấn đề chúng ta gặp phải. • Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉ trong nhóm lập trình mà có thể kết hợp nhiều nhóm cùng làm việc Về khó khăn: • Ràng buộc bởi nhà cung cấp: do giới hạn phụ thuộc và dịch vụ của nhà cung cấp • Giới hạn phát triển: độ phức tạp khiến nó không phù hợp với yêu cầu phá triển nhanh vì những tính năng phức tạp khi hiện thực trên nền tảng web. 2.2.3. Software as a Service – SaaS Đâ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. Tầng này có lẽ là hầu như quen thuộc với người dùng Web hàng ngày. Tầng các dịch vụ ứng dụng này lưu trữ các ứng dụng phù hợp với mô hình SaaS. Đây là những ứng dụng chạy trong một đám mây và được cung cấp theo yêu cầu về các dịch vụ cho người dùng. Đôi khi các dịch vụ này được cung cấp miễn phí và các nhà cung cấp dịch vụ tạo ra doanh thu từ những thứ khác như là các quảng cáo Web và nhiều khi các nhà cung cấp ứng dụng tạo ra doanh thu trực tiếp từ việc sử dụng dịch vụ. Âm thanh quen thuộc quá phải không? Nó có lẽ làm như vậy kể từ khi hầu hết tất cả chúng ta đã sử dụng chúng. Nếu bạn đã từng gửi tệp thuế của bạn trực tuyến bằng cách sử dụng Turbo taxe, kiểm tra thư của bạn khi sử dụng Gmail hoặc Yahoo Mail HVTH: Nhan Thanh Nhã Page 9 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ hoặc theo kịp các cuộc hẹn khi sử dụng Google Calendar, thì bạn đã quen thuộc với tầng trên cùng của đám mây. Đây chỉ là một vài ví dụ về các kiểu ứng dụng này. Thật vậy có hàng ngàn ứng dụng SaaS và số lượng phát triển hàng ngày nhờ các công nghệ Web 2.0. Có lẽ không hoàn toàn rõ ràng với đa số công chúng về việc có nhiều ứng dụng trong tầng các dịch vụ ứng dụng được chuyển trực tiếp tới cộng đồng doanh nghiệp. Ở đó có lưu trữ các yêu cầu phần mềm có sẵn để xử lý bảng lương, quản lý nguồn nhân lực, cộng tác, quản lý quan hệ khách hàng, quản lý mối quan hệ đối tác kinh doanh và nhiều hơn nữa. Các ví dụ phổ biến về các yêu cầu này bao gồm IBM® Lotus® Live, IBM Lotus Sametime®, Unyte, Salesforce.com, Sugar CRM, và WebEx. Trong cả hai trường hợp, các ứng dụng được cung cấp qua mô hình SaaS làm lợi cho người tiêu dùng bằng cách giải phóng cho họ khỏi việc cài đặt và bảo trì phần mềm và các ứng dụng có thể được sử dụng thông qua các mô hình cấp phép có hỗ trợ trả tiền để sử dụng các khái niệm. Những đặc trưng tiêu biểu: • Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng. • Quản lý các hoạt động từ một vị trí tập trung hơn là tại mỗi nơi của khách hàng, cho phép khác hàng truy xuất từ xa thông qua web. • Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến nhiều hơn là mô hình 1:1 bao gồm cả các đặc trưng kiến trúc, giá cả và quản lý. • Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải các bản vá lỗi và cập nhật. • Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng 1.3. Mô hình triển khai Hình 1.3 Mô hình triển khai 1.3.1. Public Cloud Đám mây công cộng là các dịch vụ đám mây được một bên thứ ba (người bán) cung cấp. Chúng tồn tại ngoài tường lửa công ty và chúng được lưu trữ đầy đủ và được nhà cung cấp đám mây quản lý. HVTH: Nhan Thanh Nhã Page 10 [...]... là giải pháp cho vấn đề điện toán đám mây Ở đó, Google cung cấp sẵn một hệ thống máy chủ điện toán đám mây, và người lập trình sẽ viết ứng dụng của mình lên đó Ứng dụng này sẽ chạy trên đám mây của Google Google App Engine cho phép bạn chạy các ứng dụng web của bạn trên cơ sở hạ tầng của Google App Engine ứng dụng được dễ dàng để xây dựng, dễ bảo trì, và dễ dàng để có quy mô như giao thông của bạn và. .. Page 17 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ các máy ảo giữa các nền tảng Khi sử dụng libvirt, có thể sử dụng trình vỏ (shell) của nó (được xây dựng trên libvirt), được gọi là virsh HVTH: Nhan Thanh Nhã Page 18 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ CHƯƠNG 3: GOOGLE APP ENGINE 3.1 Giới thiệu Google App Engine (gọi tắt là AppEngine, một số trường... đám mây riêng là lý tưởng khi các kiểu công việc đang được thực hiện không thiết thực cho một đám mây chung, do đúng với các mối quan tâm về an ninh và về quản lý 1.3.3 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. .. Project lên App Engine Google cũng cấp dịch vụ App Engine như là một Web Hosting để chúng ta có để up Project lên Internet - Vào trang web https://appengine .google. com/ Đăng nhập bằng tài khoản Gmail của bạn - Sau khi đăng nhập click vào Create Application để tạo một App mới HVTH: Nhan Thanh Nhã Page 32 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ - Nhập thông tin: + Application... Sign in to Google HVTH: Nhan Thanh Nhã Page 34 Đồ án: Tính toán lưới & Điện toán đám mây - Đăng nhập và đồng ý với những điều khoản sử dụng HVTH: Nhan Thanh Nhã Page 35 GVHD PGS TS Nguyễn Phi Khứ Đồ án: Tính toán lưới & Điện toán đám mây - Tiến hành Triển khai dự án lên App Engine Ở nút GDT Pulldown chọn Deploy to App Engine - Chọn App Engine project settings HVTH: Nhan Thanh Nhã Page 36 GVHD PGS... App Engine Python Runtime cung cấp APIs cho datastore, Google Accounts, App Engine services Để tiện lợi cho việc phát triển web AppEngine cũng cung cấp 1 web framework đơn giản là webapp Do viết bằng ngôn ngữ Python nên AppEngine hỗ trợ hầu hết các Python framework như Django, CherryPy, Pylons, web.py với một ít thay đổi nhất định HVTH: Nhan Thanh Nhã Page 21 Đồ án: Tính toán lưới & Điện toán đám mây. .. động có thể được tắt nguồn điện cho đến khi cần bổ sung HVTH: Nhan Thanh Nhã Page 13 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ thêm khả năng tính toán (tạo ra hiệu năng tốt hơn), với các máy ảo được cân bằng (thậm chí là động) trên các nút tùy thuộc vào tải riêng của chúng Hình 2.2 Cơ sở hạ tầng điện toán đám mây Với kiến trúc cơ bản của một đám mây đã xác định, bây giờ chúng... lập và bảo trì đám mây này Sự khó khăn và chi phí của việc thiết lập một đám mây bên trong đôi khi có thể có chiều hướng ngăn cản việc sử dụng và chi phí hoạt động liên tục của đám mây có thể vượt quá chi phí của việc sử dụng một đám mây chung Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại chung Việc kiểm soát chi tiết hơn trên các tài nguyên khác nhau đang tạo thành một đám mây mang lại cho. .. demo223 3app thì domain là demo223 3app appspot.com [Đây cũng là ID để Deploy lên App Engine] + Application Title: Tiêu đề của App thôi không quan trọng lắm Ấn Create Application để hoàn tất HVTH: Nhan Thanh Nhã Page 33 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ - Tạo thành công: - Đăng nhập tài khoản Google trên Eclipse Trong Eclipse, ở phía dưới cùng bên phải Chọn Sign in to Google. .. từ một chỗ và tương tác giữa các thành phần riêng và chung có thể làm cho việc thực hiện thậm chí phức tạp hơn nhiều Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám mây, nên cách thực hành và các công cụ tốt nhất về loại này tiếp tục nổi lên và bất đắc dĩ chấp nhận mô hình này cho đến khi hiểu rõ hơn HVTH: Nhan Thanh Nhã Page 12 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS . Thanh Nhã Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ BÁO CÁO ĐỒ ÁN MÔN HỌC TOÁN CHO MÁY TÍNH ĐỀ TÀI GOOGLE APP ENGINE GIẢI PHÁP CHO ĐIỆN TOÁN ĐÁM MÂY GVHD: PGS TS Nguyễn. Thanh Nhã Page 18 Đồ án: Tính toán lưới & Điện toán đám mây GVHD PGS TS Nguyễn Phi Khứ CHƯƠNG 3: GOOGLE APP ENGINE 3.1. Giới thiệu Google App Engine (gọi tắt là AppEngine, một số trường hợp được. là giải pháp cho vấn đề điện toán đám mây. Ở đó, Google cung cấp sẵn một hệ thống máy chủ điện toán đám mây, và người lập trình sẽ viết ứng dụng của mình lên đó. Ứng dụng này sẽ chạy trên đám