Tiểu luận môn điện toán lưới và đám mây TRIỂN KHAI WEBSITE TRÊN GOOGLE APP ENGINE

38 788 1
Tiểu luận môn điện toán lưới và đám mây TRIỂN KHAI WEBSITE TRÊN 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

MỤC LỤC MỤC LỤC 1 MỞ ĐẦU 3 CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 5 1.1 Một số Định nghĩa về điện toán đám mây : 5 1.2 Các thành phần của điện toán đám mây : 5 1.3 Cơ sở hạ tầng 6 1.4 Xu hướng dịch vụ trên điện toán đám mây 8 1.5 Các kiểu điện toán đám mây 10 1.6 Các ứng dụng chính 11 1.7 Lợi ích của việc sử dụng đám mây trong doanh nghiệp 13 CHƯƠNG 2 – TRIỂN KHAI WEBSITE TRÊN GOOGLE APP ENGINE 17 2.1 Tổng quan về Google App Engine 17 2.2 Đăng kí tài khoản Google App Engine: 18 2.3. Quá trình tạo project chia sẽ ảnh Photofeed 23 2.3.1 Ứng dụng này làm gì 23 2.3.2 Kiến trúc tổng quan 25 2.3.3 Các thành phần kiến trúc của ứng dụng mẫu: 25 2.3.4 Caching và cân bằng tải được cung cấp bởi mạng của Google 26 2.3.5 Khối kiến trúc của ứng dụng mẫu 26 2.3.6 Quá trình đăng hình ảnh 27 2.3.7 Quá trình đăng lời bình luận 29 2.4.Triển khai ứng dụng 32 2 2.5 Hiện thực chương trình 35 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37 TÀI LIỆU THAM KHẢO 38 3 MỞ ĐẦU Trong lĩnh vực công nghệ thông tin, ngày nay ngoài các ứng dụng để bàn, một xu hướng mới đáng chú ý là phát triển các ứng dụng web và các ứng dụng cho thiết bị di động. Tất cả các ứng dụng này đều cần được lưu ở một máy chủ để người dùng có thể truy cập được thông qua mạng. Để phát triển kinh doanh, các công ty thường có website riêng giúp quảng bá sản phẩm và thông tin liên lạc hoặc cung cấp dịch vụ trên môi trường mạng. Tuy nhiên khi số lượng khách hàng tăng lên, việc đáp ứng nhu cầu của người dùng truy cập vào các máy chủ này sẽ gặp rất nhiều vấn đề. Thường các trang web này được đặt trên một máy chủ nào đó và các công ty phải mua vùng lưu trữ, cài đặt trang web của họ trên máy chủ. Cách đó được gọi là “hosting” và công ty phải tự cài đặt, quản lý và trả phí duy trì hàng tháng. Điện toán đám mây ra đời mang lại rất nhiều lợi ích. Thuật ngữ điện toán đám mây ra đời không phải để nói về một trào lưu mới mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn ra từ mấy năm qua. Các nguồn điện toán khổng lồ sẽ nằm tại các máy chủ ảo trên Internet thay vì trong máy tính gia đình và văn phòng để mọi người kết nối sử dụng khi cần. Điện toán đám mây là khái niệm hoàn chỉnh cho một xu hướng không mới bởi nhiều doanh nghiệp hiện không có máy chủ riêng mà chỉ có máy tính với một số phần mềm cơ bản, còn tất cả đều phụ thuộc vào đám mây. Với các dịch vụ có sẵn trên Internet, doanh nghiệp không phải mua và duy trì hàng trăm, hàng nghìn máy tính cũng như các phần mềm kèm theo mà họ chỉ cần tập trung công việc của mình bởi đã có người khác lo cơ sở hạ tầng và công nghệ thay họ. Google là một trong những nhà cung cấp dịch vụ điện toán đám mây hiện nay, trong đó Google App Engine là một nền tảng chiến lược của Google. Google App Engine cung cấp cho lập trình viên nhiều tiện ích và hạ tầng để xây dựng các ứng dụng trên nền web. Bài tiểu luận này sẽ giới thiệu những khái niệm cơ bản về điện toán đám mây nói chung, Google App Engine nói riêng và áp dụng nó để xây dựng website upload hình ảnh. 4 Chương 1: Giới thiệu những khái niệm cơ bản về điện toán đám mây, kiến trúc, đặc tính, thành phần của điện toán đám mây. Chương 2: Đi sâu nghiên cứu công nghệ Google App Engine của Google Chương 3: Tóm tắt kết quả thu được qua bài tiểu luận 5 CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Một số Định nghĩa về điện toán đám mây : Theo Wikipedia : “Điện toán đám mây là một mô hình điện toán có khả năng co giãn linh động và các tài nguyên thường được ảo hóa và được cung cấp như một dịch vụ trên mạng Internet”. Theo ‘Cloud Security and Privacy - An Enterprise Perspective on Risk and Compliance - O'Reilly, 2009 ‘ “Điện toán đám mây là một dạng hệ thống song song phân tán bao gồm tập hợp các máy chủ ảo kết nối với nhau, các máy chủ ảo này được cấp phát tự động và thể hiện như một hay nhiều tài nguyên tính toán độc lập dựa trên sự đồng thuận ở mức dịch vụ được thiết lập thông qua quá trình đàm phán giữa người sử dụng và nhà cung cấp.” 1.2 Các thành phần của điện toán đám mây : Một cách đơn giản, giải pháp điện toán đám mây được cấu tạo từ nhiều thành phần bao gồm : những máy client, trung tâm dữ liệu và các máy chủ phân tán. Các thành phần này tạo nên 3 phần của giải pháp điện toán đám mây. Mỗi phần có mục đích và vai trò cụ thể trong việc cung cấp ứng dụng chức năng đám mây. Clients Thông thường, Clients là những máy tính để bàn, nhưng các Clients cũng có thể là những laptop, tablet, hay các thiết bị di dộng. Và thường thuộc 3 dạng sau : • Mobile : các thiết bị mobile bao gồm các PDA hoặc điện thoại thông minh (smart phones). • Thin : là những máy tính không có ổ cứng, thay vào đó máy chủ làm tất cả công việc, và những máy này hiện lên các thông tin. • Thick : là các kiểu máy tính để bản, sử dụng các trình duyệt để kết nối tới đám mây. Datacenter 6 Datacenter là tập hợp các máy chủ nơi mà các ứng dụng của khách hành đăng kí được lưu trữ. Xu hướng phát triển của công nghệ hiện nay là ảo hóa máy chủ. Nghĩa là, phần mềm cho phép cài đặt nhiều thể hiện máy chủ ảo để sử dụng. Theo cách này, ta có thể có hàng chục máy chủ ảo trên một máy chủ thực. Distributed Servers Các máy chủ không đặt cùng một vị trí mà các máy chủ này được đặt ở nhiều vị trí khác nhau. Phương pháp này sẽ cũng cấp các dịch vụ một cách linh hoạt hơn trong việc lựa chọn và bảo mật 1.3 Cơ sở hạ tầng Cơ sở hạ tầng được triển khai theo nhiều cách và sẽ phụ thuộc vào các ứng dụng và cách lựa chọn để xây dựng giải pháp đám mây. Đây chính là một trong những ưu điểm chính khi sử dụng đám mây. Nhu cầu của bạn là cần một số lượng lớn máy chủ vượt xa sự mong muốn hoặc chi phí cho việc chạy chúng. Ngoài ra, ta rất có thể chỉ cần một bộ xử lí mạnh, do đó ta không muốn mua và chạy một server chuyên dụng. Giải pháp đám mây đáp ứng cả hai nhu cầu đó. Grid Computing : Điện toán lưới thường bị nhầm lần với điện toán đám mây, nhưng chúng khá khác nhau. Điện toán lưới ghép tài nguyên của nhiều máy tính để giải quyết một vấn đề trong cùng một thời gian. Ưu điểm : • Đây là phương pháp hiệu quả về phí tổn để sử dụng một số lượng tài nguyên máy tính. • Là các để giải quyết các vấn đề khi cần một số lượng lớn toán phức tạp. • Tài nguyên nhiều máy tính có thể hợp tác chia sẻ, mà không có một máy tính nào quản lí. Ảo hóa hoàn toàn 7 Ảo hóa hoàn toàn là một kĩ thuật mà trong đó cài đặt đầy đủ một máy chạy trên một máy khác. Kết quả là một hệ thống sẽ có tất cả phần mềm đang chạy trên server đều chạy trong một máy ảo. Mục đích : • Chia sẻ một hệ thống máy tính giữa nhiều người dùng. • Cô lập những người sử dụng với nhau và cô lập những người sử dụng với chương trình điều khiển. • Mô phỏng phần cứng trên thiết bị khác Paravirtualization Paravirtualization cho phép nhiều hệ điều hành chạy trên một thiết bị phần cứng tại cùng một thời điểm và hiểu quả hơn cho việc sử dụng tài nguyên hệ thống, như vi xử lý và bộ nhớ. Paravirtualization làm việc tốt nhất với các dạng triển khai như : • Disaster recovery : trong trường hợp một sự cố xảy ra, đối tượng khách hàng có thể chuyển tới phần cứng khác cho đến khi thiết bị có thể được sử chữa. • Magration : Chuyển tới một hệ thống mới dễ hơn và nhanh hơn bởi đối tượng khách hàng có thể được gỡ bỏ từ phần cứng cơ bản. • Capacity management : Đơn giản hơn cho việc thực thi. Dễ dàng thêm nhiều khả năng xử lí hoặc dung lượng ổ cứng trong môi trường ảo. 8 1.4 Xu hướng dịch vụ trên điện toán đám mây 1.4.1 Phần mềm xem như một dịch vụ(Software as a Service - SaaS) SaaS là một mô hình triển khai ứng dụng mà ở đó người cung cấp cho phép người dùng sử dụng dịch vụ theo yêu cầu. Những nhà cung cấp SaaS có thể lưu trữ ứng dụng trên máy chủ của họ hoặc tải ứng dụng xuống thiết bị của khách hàng sẽ vô hiệu hóa sau khi kết thúc thời hạn. Một số phần mềm được cung cấp như : • Quản lí tài nguyên khách hàng • Hội thảo truyền hình • Quản lí dịch vụ IT • Kế toán • Quản lí nội dung web Hình 1.1 : Software as a Service Một số lợi ích : • Quen thuộc với World Wide Web : hầu hết những người làm việc đều có máy tính và biết cách sử dụng trên World Wide Web. Như vậy, đường cong làm việc cho việc sử dụng các ứng dụng bên ngoài có thể nhỏ hơn nhiều. • Đội ngũ nhân viên ít hơn • Tùy biến : những ứng dụng cũ hơn khó khăn với việc tùy biến và yêu cầu hoàn thiện code. Ứng dụng SaaS dễ dàng hơn với việc tùy biến và có thể cung cấp chính xác những gì tổ chức muốn. 9 • Tiếp thị tốt hơn : Người nhà cung cấp phát triển ứng dụng cho một thị trường rất hẹp rất có thể gặp phải vấn về tiếp thị cho ứng dụng đó. Tuy nhiên, với SaaS, toàn bộ thế giới được mở cửa cho nhà cung cấp. • Web đáng tin cậy • An ninh : Secure Sockets Layer(SSL) được sử dụng rộng rãi và đáng tin cậy, điều này cho phép khách hàng đưa ra ứng dụng của mình một cách an toàn. • Băng thông rộng hơn : Băng thông được mở rộng trong những tháng gần đây và chất lượng dịch vụ cung cấp cải tiến. Điều này cho phép các tổ chức tin rằng họ có thể truy cập vào ứng dụng của họ với độ trễ thấp và tốc độ cao. 1.4.2 Nền tảng như một dịch vụ(Platform as a serivce - PaaS) Tiếp bước SaaS, PaaS là một mô hình chuyển giao ứng dụng khác. PaaS cung cấp tất các tài nguyên được yêu cầu và dịch vụ một cách đầy đủ từ Internet, mà không phải tải xuống và cài đặt phần mềm. Các đặc điểm : • Dịch vụ PaaS bao gồm các dịch vụ thiết kế, phát triển, kiểm tra, tạo trang web, và quản lý ứng dụng.Web dựa trên giao diện người dùng và thường dựa trên HTML và JavaScript. • Tích hợp ứng dụng web và cơ sở dữ liệu. • Hỗ trợ cho Simple Object Access Protocol (SOAP) và các giao diện khác cho phép các dịch vụ PaaS tạo liên kết với dịch vụ web. • Hỗ trợ các kiến trúc để giúp loại bỏ những gì ảnh hưởng đến quá trình phát triển ứng dụng bởi nhiều người sử dụng đồng thời. PaaS thường bao gồm các dịch vụ quản lý đồng thời, khả năng mở rộng, tránh lỗi đồng thời và bảo mật. 1.4.3 Cơ sở hạ tầng như dịch vụ (Infastructure as a Service) Các đối tượng khách hàng thay vì phải mua các máy chủ, phần mềm, giá đỡ, và phải trả tiền cho khu vực đặt máy chủ tại các trung tâm dữ liệu, thì họ có thể thuê của các nhà cung cấp dịch vụ điện toán đám mây và có thể chạy những thứ họ muốn. HaaS cho phép ta thuê các tài nguyên như : • Không gian máy chủ • Thiết bị mạng • Bộ nhớ • CPU 10 • Không gian lưu trữ 1.5 Các kiểu điện toán đám mây - Private Cloud : Các đám mây riêng là các dịch vụ đám mây được cung cấp trong doanh nghiệp. Những đám mây này được doanh nghiệp quản lý. - Public Cloud: Các đá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 được lưu trữ đầy đủ và được nhà cung cấp bởi đám mây quản lý. - Community Cloud: đề cập đến sự thiết lập cơ sở hạ tầng điện toán đám mây của một tập đoàn của một vài tổ chức có những yêu cầu chung cho cơ sở hạ tầng điện toán đám mây. Theo đó họ có thể chấp nhận việc thực thi một cơ sở hạ tầng chung để đạt được hiệu quả và độ tin cậy cao. - Virtual Private Cloud: là một cơ sở hạ tầng chạy ở trên public cloud mà có những thiết lập về bảo mật và mạng được tùy chỉnh lại để dùng cho một tổ chức đặc biệt. Đám mây virtual private là một giải pháp cho các tổ chức muốn sử dụng điện toán đám mây mà không phát sinh chi phí cho việc xây dựng và quản lý private cloud và để tránh các rủi ro về sự riêng tư của dữ liệu và bảo mật. - 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. Hình 1.2. Minh họa các kiểu đám mây [...]... đó là Google Hiện AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java Một số ngôn ngữ khác như PHP cũng có thể chạy được nếu cài cùng với bộ chuyển từ PHP sang Java 18 2.2 Đăng kí tài khoản Google App Engine: Bước 1:Để triển khai các ứng dụng với các đám mây của Google, ta cần một tài khoản AppEngine Làm được một tài khoản ta cần một tài khoản email của Google Open http://appengine .google. com/ và đăng... trong bảng sau: - Các ứng dụng web trong App Engine - App Engine Datastore - Google Cloud SQL - Google Cloud Storage 26 2.3.4 Caching và cân bằng tải được cung cấp bởi mạng của Google Tất cả lưu lượng từ trình duyệt tới Google Cloud Storage và App Engine đi qua mạng Google Mạng Google cung cấp cân bằng tải cho các yêu cầu tới Google Cloud Storage và App Engine và hỗ trợ caching cho HTTP chuẩn Vì vậy... tổ chức của bạn tiết kiệm tiền bằng cách sử dụng một nhà cung cấp đám mây, cả hai chi phí hoạt động và ngân sách CNTT Đây là tiền có thể được thêm vào của bạn dòng dưới cùng hoặc phân phối lại cho các phòng ban khác để tăng năng suất 17 CHƯƠNG 2 – TRIỂN KHAI WEBSITE TRÊN GOOGLE APP ENGINE 2.1 Tổng quan về Google App Engine Google App Engine (GAE) là một nền tảng hosting bao gồm web server, cơ sở dữ... đã được đăng ký trên google để upload ứng dụng, theo như cách đăng ký phần trên, ta có được ID application là : tran-duy 33 Ta vào thưc mục war/WEB-INF/appengine-web.xml mở file appengine-web.xml lên, đặt ID application vào giữa thẻ rồi save lại như hình 2.1 Hình 2.1 cấu trúc file appengine-web.xml Bắt đầu upload: Sau đó giải nén ra ổ D ta được D:\appengine-java-sdk, mở... cung cấp đám mây Người tiêu dùng được hưởng lợi từ điện toán đám mây trong một số cách khác nhau, ví dụ: • Không có phần mềm cài đặt hoặc bảo dưỡng Điều đó có nghĩa là không hơn 1.000 trang quy hoạch và hướng dẫn thực hiện •Thời gian triển khai ngắn hơn chỉ mất một vài phút để quay một máy chủ mới,chứ không phải là những tháng bình thường thực hiện kế hoạch, chuẩn bị, thử nghiệm, và triển khai • Trên toàn... Photofeed minh họa việc sử dụng các sản phẩm chạy trên nền Google Cloud đây là một ứng dụng chia sẽ hình ảnh ứng dụng Photofeed chạy trên App Engine và dữ liệu hình ảnh và các lời bình luận có thể được lưu trữ trên App Engine non SQL Datastore hoặc Google Cloud SQL tùy theo yêu cầu của người phát triển ứng dụng Hơn thế nữa là chỉ ra cách sử dụng các sản phẩm Google Cloud để hỗ trợ giải pháp chia sẽ phương... chạy trên laptop, máy chủ, điện thoại và các thiết bị tương tự như thế Điện toán đám mây hoặc là có thể chứa những ứng dụng đó hoặc là mang ứng dụng đó đến cho ta Với việc mang ứng dụng và cách thao tác, cách nhìn và chia sẽ dữ liệu đến cho ta, thì sự khác nhau giữa các ứng dụng chính là cách mà ta tương tác với các ứng dụng đó Và việc này ảnh hưởng đến hai vấn đề chính đó là lưu trữ và cơ sơ dữ liệu trên. .. cung cấp Và họ biết rằng họ phải giữ nó cập nhật nếu không họ sẽ bắt đầu mất khách hàng • Tính linh hoạt Bạn phải linh hoạt hơn với một giải pháp điện toán đám mây Ứng dụng có thể thử nghiệm và triển khai một cách dễ dàng, và nếu nó chỉ ra rằng một ứng dụng nhất định là không nhận được công việc thực hiện, bạn có thể chuyển đổi khác • Di động tốt hơn Người dùng có thể truy cập vào các đám mây từ bất... trung tới giải pháp đám mây Đồng bộ hóa : Ví dụ như : Microsoft’s Live hoặc Apple’s MobileMe Cho phép nội dung được nạp trên nhiều thiết bị Giả sử, ta có một bảng tính trên máy tính của mình thì sau khi tải nó lên dịch vụ lưu trữ, các file đó sẽ được tải xuống các thiết bị PDA của mình Những dịch vụ cơ sở dữ liệu Xu hướng này đang trở nên thông dụng và phổ biến trong điện toán đám mây, và dần trở thành... res.sendRedirect(appContext.getPhotoServiceManager().getRedirectUrl( req.getParameter(ServletUtils.REQUEST_PARAM_NAME_TARGET_URL), user, id)); } else { res.sendError(400, builder.toString()); } 2.4 .Triển khai ứng dụng Để upload code và các file chương trình của bạn lên Google App Engine ta dùng một tập lệnh có trong SKD có tên: appcfg.cmd Cần chuẩn bị: Đưa ID vào ứng dụng: Cần 1 ID application đã được đăng ký trên . TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 5 1.1 Một số Định nghĩa về điện toán đám mây : 5 1.2 Các thành phần của điện toán đám mây : 5 1.3 Cơ sở hạ tầng 6 1.4 Xu hướng dịch vụ trên điện toán đám mây 8 1.5. kiểu điện toán đám mây 10 1.6 Các ứng dụng chính 11 1.7 Lợi ích của việc sử dụng đám mây trong doanh nghiệp 13 CHƯƠNG 2 – TRIỂN KHAI WEBSITE TRÊN GOOGLE APP ENGINE 17 2.1 Tổng quan về Google App. App Engine của Google Chương 3: Tóm tắt kết quả thu được qua bài tiểu luận 5 CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Một số Định nghĩa về điện toán đám mây : Theo Wikipedia : Điện toán

Ngày đăng: 20/05/2015, 05:46

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • MỞ ĐẦU

  • CHƯƠNG 1 - TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY

    • 1.1 Một số Định nghĩa về điện toán đám mây :

    • 1.2 Các thành phần của điện toán đám mây :

    • 1.3 Cơ sở hạ tầng

    • 1.4 Xu hướng dịch vụ trên điện toán đám mây

    • 1.5 Các kiểu điện toán đám mây

    • 1.6 Các ứng dụng chính

    • 1.7 Lợi ích của việc sử dụng đám mây trong doanh nghiệp

    • CHƯƠNG 2 – TRIỂN KHAI WEBSITE TRÊN GOOGLE APP ENGINE

      • 2.1 Tổng quan về Google App Engine

      • 2.2 Đăng kí tài khoản Google App Engine:

      • 2.3. Quá trình tạo project chia sẽ ảnh Photofeed

        • 2.3.1 Ứng dụng này làm gì.

        • 2.3.2 Kiến trúc tổng quan

        • 2.3.3 Các thành phần kiến trúc của ứng dụng mẫu:

        • 2.3.4 Caching và cân bằng tải được cung cấp bởi mạng của Google

        • 2.3.5 Khối kiến trúc của ứng dụng mẫu.

        • 2.3.6 Quá trình đăng hình ảnh

        • 2.3.7 Quá trình đăng lời bình luận

        • 2.4.Triển khai ứng dụng

        • 2.5 Hiện thực chương trình

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

Tài liệu liên quan