Đề tài : Nghiên cứu điện toán đám mây. Xây dựng ứng dụng demo.

Post on 23-Feb-2016

183 Views

Category:

Documents

27 Downloads

Preview:

Click to see full reader

DESCRIPTION

Đề tài : Nghiên cứu điện toán đám mây. Xây dựng ứng dụng demo. Nhóm 1: - Đinh Thanh Dân _ 12L11200 - Vy Thị Hậu _ 12L1120014. - Lý Thị Kim Ngân _12L11200 - Điền Kim Thoa _12L1120058. - Ngô Thanh Vũ _12L11200. Nội Dung. Điện toán đám mây . Xây dựng ứng dụng demo . - PowerPoint PPT Presentation

Transcript

Đề tài: Nghiên cứu điện toán đám mây.

Xây dựng ứng dụng demo.

Nhóm 1: - Đinh Thanh Dân _ 12L11200- Vy Thị Hậu _ 12L1120014.- Lý Thị Kim Ngân _12L11200- Điền Kim Thoa _12L1120058.- Ngô Thanh Vũ _12L11200..

A. Điện toán đám mây.B. Xây dựng ứng dụng demo.

Nội Dung

A. Điện toán đám mây.

Điện toán đám mây (cloud computing): việc ảo hóa các tài nguyên tính toán và các ứng dụng.

Điện toán đám mây là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.

1. Khái niệm.

Tính linh động: thoải mái lựa chọn các dịch vụ theo nhu cầu, bỏ bớt những thành phần không mong muốn.

Giảm chi phí: giảm chi phí đầu tư, chi phí bản quyền, chi phí mua và bảo trì máy chủ.

Tạo nên sự độc lập: không phụ thuộc vào thiết bị hay vị trí địa lý.

2. Lợi ích của điện toán đám mây:

Tăng cường độ tin cậy: dữ liệu được lưu trữ phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau.

Bảo mật: Khả năng bảo mật được cài thiện do sự tập trung về dữ liệu.

Bảo trì dễ dàng: mọi phần mềm đều nằm trên server thuận tiện cho việc sửa chữa, bảo trì và nâng cấp.

Lợi ích của điện toán đám mây (tt):

Tính riêng tư. Tính sẵn dùng. Mất dữ liệu. Tính di động của dữ liệu và quyền sở hữu. Khả năng bảo mật khi bị tấn công hoạc chiếm

dụng.

Nhược điểm:

3. Cấu trúc phân lớp của mô hình điện toán đám mây.

Client (lớp khách hàng): l◦Lớp Client của điện toán đám mây bao gồm

phần cứng và phần mềm◦ Dựa vào đó, khách hàng có thể truy cập và sử

dụng các ứng dụng/dịch vụ được cung cấp từ điện toán đám mây.

Cấu trúc phân lớp của điện toán đám mây (tt):

Lớp ứng dụng của điện toán đám mây làm nhiệm vụ phân phối phần mềm như một dịch vụ thông qua Internet.◦Các hoạt động được quản lý tại trung tâm của đám

mây, chứ không nằm ở phía khách hàng (lớp Client), cho phép khách hàng truy cập các ứng dụng từ xa thông qua Website.

◦ không cần thực hiện các tính năng như cập nhật phiên bản, bản vá lỗi, download phiên bản mới… bởi chúng sẽ được thực hiện từ các “đám mây”.

Application (lớp ứng dụng):

Cung cấp nền tảng cho điện toán. Cung cấp các giải pháp của dịch vụ, chi phối đến

cấu trúc hạ tầng của “đám mây”. là điểm tựa cho lớp ứng dụng. Giảm nhẹ sự tốn kém.

Platform (Lớp Nền tảng):

Cung cấp hạ tầng máy tính. chi phí được giảm thiểu. Đây là một bước tiến hóa của mô hình máy chủ

ảo (Virtual Private Server).

Infrastructure (Lớp Cơ sở hạ tầng):

Bao gồm các sản phẩm phần cứng và phần mềm máy tính, được thiết kế và xây dựng đặc biệt để cung cấp các dịch vụ của đám mây.

Các server phải được xây dựng và có cấu hình đủ mạnh để đám ứng nhu cầu sử dụng của số lượng đông đảo người dùng.

Server (Lớp Server - Máy chủ):

Đám mây bao gồm 2 lớp:◦Lớp Back-end.◦ Lớp Front-end.

4. Cách thức hoạt động của điện toán đám mây.

Lớp Front-end là lớp người dùng, cho phép người dùng sử dụng và thực hiện thông qua giao diện.

Khi người dùng truy cập các dịch vụ trực tuyến, họ sẽ phải sử dụng thông qua giao diện từ lớp Front-end.

Và các phần mềm sẽ được chạy trên lớp Back-end nằm ở “đám mây”.

Lớp Back-end bao gồm các cấu trức phần cứng và phần mềm để cung cấp giao diện cho lớp Front-end và được người dùng tác động thông qua giao diện đó.

Cách thức hoạt động của điện toán đám mây (tt):

5.1. kiến trúc của ứng dụng điện toán đám mây.

5. Công nghệ.

Điện toán đám mây là một tổ hợp tính toán dựa trên các thiết bị hạ tầng phần cứng.

Hạ tầng phần cứng bao gồm các máy chủ chứa dữ liệu nhỏ được kết nối lại với nhau như một hệ thống phục vụ cho việc lưu trữ, xử lý dữ liệu và các ứng dụng tính toán trên các tái nguyên khác.

5.1. Kiến trúc của ứng dụng điện toán đám mây (tt).

5.2. Kiến trúc máy chủ:

Là ứng dụng nguyên lý tách khỏi vào hệ thống điện toán đám mây nhằm tách biệt với phần cứng phức tạp của hệ thống với giao diện bên ngoài.

Tạo ra một giao diện người dùng đơn giản, dễ sử dụng hơn và tách biệt giao diện người dùng với hệ thống phần cứng.

Người dùng chỉ cần quan tâm đến ứng dụng mà không cần quan tâm phần cứng bên dưới được thực hiện như thế nào.

5.2. Kiến trúc máy chủ:

Là mô hình lập trình. Được Google phát triển vào năm 2003. Hỗ trợ cho quá trình tính toán song song trên số lượng

tập các dữ liệu lơn lưu trữ ở các cụm máy tính thành phần trong điện toán đám mây.

Trong mô hình này, người dùng định nghĩa:◦ hàm map để tính toán một cặp khóa/giá trị đầu vào, tạo cặp

khóa/giá trị tạm thời.◦Hàm reduce gom tất cả các giá trị tạm thời có chung khóa với

nhau lại và cho ra kết quả mong muốn.

5.3. Map reduce.

Mô hình Map – Reduce:

Tổng quan về luồng thực thi một thao tác Map –Reduce.

Là hệ thống phân tán dữ liệu dành cho các ứng dụng lớn.

được thiết kế nhằm mang lại sự truy xuất dữ liệu tin cậy và hiệu quả.

Cung cấp chế độ nhận lỗi để có thể chạy trên các hệ thống phần cứng có yêu cầu không cao đem lại hiệu năng tốt trên số lượng lớn các máy client.

5.4. Google File System (GFS):

Là một framework dùng để chạy các ứng dụng trên cụm các phần cứng không đòi hỏi cấu hình cao.

Khởi tạo cho một quá trình tính toán tên là MapReduce.

Chương trình ứng dụng có thể chia thành nhiều mạng nhỏ và có thể thực thi ở bất kỳ node nào trong cụm máy tính.

Cung cấp một hệ thống phân tán file trên các node tính toán, cung cấp băng thông tổng hợp cao trên các cụm máy tính.

5.5. Hadoop:

Framewrork Hadoop Mapreduce có cấu trúc chủ / tớ. Có một server master – job Tracker và nhiều slave –

taskTracker. Hadoop được sử dụng rộng rãi ví nó cung cấp một cơ

chế sử dụng tài nguyên hệ thống tối ưu và chi phí thấp.

5.5. Hadoop:

Các dịch vụ điện toán đám mây. Các kiểu điện toán đám mây.

6. Mô hình điện toán dám mây.

Đặc tính: ◦Không nằm ngay tại chỗ (Offsite), có thể được cung cấp bởi

một nhà cung cấp thứ ba. ◦Được truy cập qua mạng Internet.◦Không yêu cầu/yêu cầu kỹ năng CNTT tối thiểu để triển khai

các dịch vụ điện toán đám mây. ◦ Các công nghệ hỗ trợ hoàn toàn vô hình đối với người dùng.◦ Truy cập qua trình duyệt Web hoặc API của dịch vụ web ◦Các tài nguyên được phân bổ riêng hoặc dùng chung ◦ Là các dịch vụ được đo đếm

6.1. Các dịch vụ điện toán đám mây.

Các giải pháp dịch vụ điện toán đám mây được phân thành ba mô hình : SaaS, PaaS, IaaS.

Các dịch vụ điện toán đám mây (tt):

Dịch vụ hạ tầng IaaS (Infrastructure as a Service): ◦Cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không

gian lưu trữ, kết nối mạng tới khách hàng.◦Đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng

riêng cho người sử dụng.◦Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ và

các ứng dụng do khách hàng cài đặt.

Các dịch vụ điện toán đám mây.

Cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm.

có thể được cung cấp dưới dạng các ứng dụng lớp giữa, các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng nền tảng.

Dịch vụ nền tảng PaaS (Platform as a Service)

Có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng.

Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV).

Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phép khách hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng và phát triển dựa trên ngôn ngữ lập trình Java hoặc Python.V).

Dịch vụ nền tảng PaaS (Platform as a Service) (tt):

Cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt.

Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu. Các ứng dụng SaaS cho người dùng cuối phổ biến là

các ứng dụng office Online của Microsoft hay Google Docs của Google.

Dịch vụ phần mềm SaaS (Software as a Service).

6.2. Các kiểu điện toán đám mây.

Public Cloud: là các dịch vụ đám mây được một bên thứ ba cung cấp, được lưu trữ đầy đủ và được nhà cung cấp bởi đám mây quản lý.

Private Cloud: là các dịch vụ đám mây được cung cấp trong doanh nghiệp và được doanh nghiệp quản lý.

Hybrid Cloud: là 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ý.

Các kiểu điện toán đám mây (tt).

Google, Microsoft, Amazone, Sun đều đã và đang phát triển những nền tảng điện toán đám mây của riêng mình.

Các nền tảng điện toán đám mây lớn có thể kể đến bây giờ bao gồm : ◦Google App Engine của Google:

http://code.google.com/appengine/ ◦Windows Azure của Microsoft

http://www.microsoft.com/windowsazure/windowsazure/◦ Nền tảng điện toán đám mây ra đời đầu tiên: Amazone

Webservice của Amazon.com.◦ Sun Cloud của Sun

http://www.sun.com/solutions/cloudcomputing/ ◦ Facebook.

Các công ty cung cấp

Giới thiệu Google App Engine.Hướng dẫn cài đặt.Demo.

B. Xây dựng ứng dụng demo.

Google App Engine (AppEngine - GAE ) 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.

Giới thiệu.

Google App Engine cho phép người dùng 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à nhu cầu lưu trữ dữ liệu lớn.

App Engine không có máy chủ để duy trì.

Giới thiệu (tt).

Không phải thiết kế database, viết SQL để truy vấn data, map data vô object chỉ cần design các class và GAE tự động làm việc với database.

Hiện AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java.

Giới thiệu (tt).

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

một 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.

Các thành phần chính của AppEngine.

Java Runtime Environment: ◦Có thể phát triển ứng dụng cho Java Runtime Environment

sử dụng phổ biến công cụ phát triển web Java và các tiêu chuẩn API.

◦ Ứng dụng tương tác với môi trường bằng cách sử dụng the Java Servlet standard.

◦Các App Engine Java SDK hỗ trợ phát triển các ứng dụng bằng cách sử dụng Java 5 hoặc 6. biến như JavaServer Pages (JSP).

Các thành phần chính của AppEngine.

Java Runtime Environment: ◦Đối với các kho dữ liệu App Engine, Java SDK bao gồm

việc triển khai của Java Data Objects (JDO) và Java Persistence API (JPA) interfaces.

◦Thông thường, các nhà phát triển Java sử dụng các ngôn ngữ lập trình Java và các API để thực hiện các ứng dụng web cho JVM.

Các thành phần chính của AppEngine.

Datastore :◦Là cơ chế để thao tác với dữ liệu trên hệ thống dữ liệu phân

tán của Google. ◦APIs của Datastore sẽ cung cấp Interface để có thể thao tác

với các dữ liệu phía dưới.

Các thành phần chính của AppEngine.

Google Accounts:◦AppEngine liên kết mật thiết với tài khoản Google. Người

dùng có thể cho user login vào ứng dụng của mình bằng tài khoản Google của họ.

App Engine Services :◦Cung cấp nhiều dịch vụ để có thể sử dụng cho ứng dụng. Ví dụ

như: URL Fetch, Mail,…

Các thành phần chính của AppEngine.

Người dùng sẽ phụ thuộc hoàn toàn vào công nghệ của Google và rất khó tách ra một ứng dụng độc lập.

Hạn chế :

YÊU CẦU : ◦ Eclipse . ◦Google plugin cho Eclise. ◦ AppEngine-java-SDK-1.3.8.zip. ◦ Có tài khoản ứng dụng trên goole app engine.

Hướng dẫn cài đặt Google App Engine.

Các bước cài đặt:◦Đăng ký tài khoản trên Google App Engine (đăng ký trên trang

http://appengine.google.com/), tạo ứng dụng trên Google App Engine.

◦Cài đặt Eclipse và Google Plugin cho Eclipse.◦ Triển khai ứng dụng.

Hướng dẫn cài đặt Google App Engine (tt):

Demo ứng dụng.

top related