BỘ GIÁO DỤC ĐÀO TẠO
BỘ GIÁO DỤC ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC ĐÀ NẴNG
TR
TR
ƯỜNG
ƯỜNGĐẠI HỌC
ĐẠI HỌC
BÁCH KHOA
BÁCH KHOA o0o
o0o
BÁO CÁO ĐỀ TÀI
BÁO CÁO ĐỀ TÀI
NGHIÊN CỨU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY. VIẾT MỘT
NGHIÊN CỨU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY. VIẾT MỘT CHƯƠNG TRÌNH MÔ PHỎNG ĐẢM BẢO GẮN BÓ THÔNG TIN :
CHƯƠNG TRÌNH MÔ PHỎNG ĐẢM BẢO GẮN BÓ THÔNG TIN :Google App Engine của Google
Google App Engine của Google
Window Azure của Microsoft
KiỂM TRA –ĐÁNH GIÁ
TÀI LiỆU THAM KHẢO
GiỚI THIỆU
GiỚI THIỆU
Tóm tắt hệ thống :
Tóm tắt hệ thống :
►
Để giúp mọi người hình dung mô hình điện toán đám mây như thế nào. Nhóm chúng
Để giúp mọi người hình dung mô hình điện toán đám mây như thế nào. Nhóm chúng
tôi viết ứng dụng nhỏ dựa trên các gói thư viện có sẵn của google.Về hình thức các
tôi viết ứng dụng nhỏ dựa trên các gói thư viện có sẵn của google.Về hình thức các
bạn có thể hình dung ứng dụng này giống như là các blog, facebook, diễn đàn qua
bạn có thể hình dung ứng dụng này giống như là các blog, facebook, diễn đàn qua
đó thành lập các nhóm học tập để các bạn có thể trao đổi hay bình luân về một vấn
đó thành lập các nhóm học tập để các bạn có thể trao đổi hay bình luân về một vấn
đề gì đó.
đề gì đó.
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
GỒM 2 PHẦN:
GỒM 2 PHẦN:
ĐIỆN TOÁN ĐÁM MÂY GOOGLE APP ENGINE
ĐIỆN TOÁN ĐÁM MÂY GOOGLE APP ENGINE
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
►
PHẦN I: ĐIỆN TOÁN ĐÁM MÂY
PHẦN I: ĐIỆN TOÁN ĐÁM MÂY
1. Khái niệm :
1. Khái niệm :
nghĩa rộng hơn nhiều. Server trong điện toán đám mây sẽ làm nhiệm vụ tính toán
nghĩa rộng hơn nhiều. Server trong điện toán đám mây sẽ làm nhiệm vụ tính toán
cho bất kì client nào với bất kì công việc nào (mà nó hỗ trợ). Công việc tính toán lúc
cho bất kì client nào với bất kì công việc nào (mà nó hỗ trợ). Công việc tính toán lúc
này không phải thực hiện theo nghĩa vụ mà là theo dịch vụ. Với điện toán đám mây,
này không phải thực hiện theo nghĩa vụ mà là theo dịch vụ. Với điện toán đám mây,
mọi thứ sẽ được cung cấp dưới dạng dịch vụ, và người dùng sẽ chỉ phải trả phí sử
mọi thứ sẽ được cung cấp dưới dạng dịch vụ, và người dùng sẽ chỉ phải trả phí sử
dụng các dịch vụ đó.
dụng các dịch vụ đó.
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
3.Ưu điểm và nhượt điểm:
3.Ưu điểm và nhượt điểm:
a.
a.
Ưu điểm:
Ưu điểm:
►
Tính linh động
Tính linh động: Người dùng có thể thoải mái lựa chọn các dịch vụ phù hợp với
: Người dùng có thể thoải mái lựa chọn các dịch vụ phù hợp với
nhu cầu của mình, cũng như có thể bỏ bớt những thành phần mà mình không
nhu cầu của mình, cũng như có thể bỏ bớt những thành phần mà mình không
muốn. (Thay vì phải bỏ ra hàng trăm USD cho 1 bộ Ms office, ta có thể mua riêng
muốn. (Thay vì phải bỏ ra hàng trăm USD cho 1 bộ Ms office, ta có thể mua riêng
lẻ từng phần hoặc chỉ trả 1 khoản phí rất nhỏ mỗi khi sử dụng 1 phần nào đó của
Tăng cường độ tin cậy
Tăng cường độ tin cậy
: Dữ liệu trong mô hình điện toán đám mây được lưu trữ 1
: Dữ liệu trong mô hình điện toán đám mây được lưu trữ 1
cách phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau. Điều này giúp tăng
cách phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau. Điều này giúp tăng
độ tin cậy, độ an toàn của dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra.
độ tin cậy, độ an toàn của dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra.
►
Bảo mật
Bảo mật
: Việc tập trung dữ liệu từ nhiều nguồn khác nhau sẽ giúp các chuyên gia
: Việc tập trung dữ liệu từ nhiều nguồn khác nhau sẽ giúp các chuyên gia
bảo mật tăng cường khả năng bảo vệ dữ liệu của người dùng, cũng như giảm thiểu
bảo mật tăng cường khả năng bảo vệ dữ liệu của người dùng, cũng như giảm thiểu
rủi ro bị ăn cắp toàn bộ dữ liệu. (Dữ liệu được đặt tại 6 máy chủ khác nhau trong →
rủi ro bị ăn cắp toàn bộ dữ liệu. (Dữ liệu được đặt tại 6 máy chủ khác nhau trong →
trường hợp hacker tấn công, bạn cũng sẻ chỉ bị lộ 1/6. Đây là 1 cách chia sẻ rủi ro
trường hợp hacker tấn công, bạn cũng sẻ chỉ bị lộ 1/6. Đây là 1 cách chia sẻ rủi ro
giữa các tổ chức với nhau)
giữa các tổ chức với nhau)
►
Bảo trì dễ dàng
Bảo trì dễ dàng
: Mọi phần mềm đều nằm trên server, lúc này, người dùng sẽ
: Mọi phần mềm đều nằm trên server, lúc này, người dùng sẽ
không cần lo lắng cập nhật hay sửa lỗi phần mềm nữa. Và các lập trình viên cũng
không cần lo lắng cập nhật hay sửa lỗi phần mềm nữa. Và các lập trình viên cũng
dễ dàng hơn trong việc cài đặt, nâng cấp ững dụng của mình.
dễ dàng hơn trong việc cài đặt, nâng cấp ững dụng của mình.
hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phải sao lưu
dữ liệu của họ từ “đám mây” về máy tính cá nhân. Điều này sẽ mất nhiều thời gian.
dữ liệu của họ từ “đám mây” về máy tính cá nhân. Điều này sẽ mất nhiều thời gian.
Thậm chí một vài trường hợp, vì một lý do nào đó, dữ liệu người dùng bị mất và
Thậm chí một vài trường hợp, vì một lý do nào đó, dữ liệu người dùng bị mất và
không thể phục hồi được.
không thể phục hồi được.
►
Tính di động của dữ liệu và quyền sở hữu
Tính di động của dữ liệu và quyền sở hữu
: Một câu hỏi đặt ra, liệu người dùng có
: Một câu hỏi đặt ra, liệu người dùng có
thể chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây khác? Hoặc
thể chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây khác? Hoặc
trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cáp từ đám mây, liệu
trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cáp từ đám mây, liệu
người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào để
người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào để
người dùng có thể chắc chắn rằng các dịch vụ đám mây sẽ không hủy toàn bộ dữ
người dùng có thể chắc chắn rằng các dịch vụ đám mây sẽ không hủy toàn bộ dữ
liệu của họ trong trường hợp dịch vụ ngừng hoạt động.
liệu của họ trong trường hợp dịch vụ ngừng hoạt động.
►
Khả năng bảo mật
Khả năng bảo mật
: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu
: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu
quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của người sử
quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của người sử
dụng dịch vụ của điện toán đám mây. Bởi lẽ một khi các đám mây bị tấn công hoặc
Application (Lớp Ứng dụng)
Application (Lớp Ứng dụng)
:
:
Lớp ứng dụng của điện toán đám mây làm nhiệm vụ
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 quan Internet, người dùng không
phân phối phần mềm như một dịch vụ thông quan Internet, người dùng không
cần phải cài đặt và chạy các ứng dụng đó trên máy tính của mình, các ứng dụng
cần phải cài đặt và chạy các ứng dụng đó trên máy tính của mình, các ứng dụng
dễ dàng được chỉnh sữa và người dùng dễ dàng nhận được sự hỗ trợ.
dễ dàng được chỉnh sữa và người dùng dễ dàng nhận được sự hỗ trợ.
Các đặc trưng chính của lớp ứng dụng bao gồm :
Các đặc trưng chính của lớp ứng dụng bao gồm :
►
Các hoạt động được quản lý tại trung tâm của đám mây, chứ không nằm
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
ở 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.
dụng từ xa thông qua Website.
►
Người dùng không còn cần thực hiện các tính năng như cập nhật phiên
Người dùng không còn 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ừ
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”.
các “đám mây”.
►
Platform (Lớp Nền tảng):
tiến hóa của mô hình máy chủ ảo (Virtual Private Server)
tiến hóa của mô hình máy chủ ảo (Virtual Private Server)
►
Server (Lớp Server - Máy chủ):
Server (Lớp Server - Máy chủ):Bao gồm các sản phẩm phần cứng và phần mềm
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.
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 (thậm chí là rất may) để
Các server phải được xây dựng và có cấu hình đủ mạnh (thậm chí là rất may) để
đám ứng nhu cầu sử dụng của số lượng động đảo các người dùng và các nhu cầu
đám ứng nhu cầu sử dụng của số lượng động đảo các người dùng và các nhu cầu
ngày càng cao của họ
ngày càng cao của họ
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
5. Các công ty cung cấp:
5. Các công ty cung cấp:
►
Các ông lớn đã bắt đầu rục rịch trong cuộc chạy đua đến với điện toán đám mây.
Các ông lớn đã bắt đầu rục rịch trong cuộc chạy đua đến với điện toán đám mây.
Những Google, Microsoft, Amazone, Sun đều đã và đang phát triển những nền tảng
Những 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ể
đ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 :
đến bây giờ bao gồm :
đó. Ứng dụng này sẽ chạy trên đám mây của Google.
đó. Ứ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
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ủ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à nhu cầu lưu trữ dữ liệu lớn. Với App
để có quy mô như giao thông của bạn và nhu cầu lưu trữ dữ liệu lớn. Với App
Engine, không có máy chủ để duy trì: Bạn chỉ cần tải lên các ứng dụng của bạn, và
Engine, không có máy chủ để duy trì: Bạn chỉ cần tải lên các ứng dụng của bạn, và
nó sẵn sàng để phục vụ người dùng của bạn
nó sẵn sàng để phục vụ người dùng của bạn►
Bạn có thể sử dụng tên miền riêng của mình (chẳng hạn như
Bạn có thể sử dụng tên miền riêng của mình (chẳng hạn như
) thông qua google apps. Hoặc bạn có thể dùng sub-
) thông qua google apps. Hoặc bạn có thể dùng sub-
domain miễn phí của appspot.com. GAE cho phép được host miễn phí với dung
domain miễn phí của appspot.com. GAE cho phép được host miễn phí với dung
lượng 500 MB lưu trữ và cho phép 10 GB băng thông lưu chuyển mỗi ngày hay
lượng 500 MB lưu trữ và cho phép 10 GB băng thông lưu chuyển mỗi ngày hay
tương đương 5 triệu pageview hàng tháng,Vượt qua mức này bạn sẽ phải trả phí.
tương đương 5 triệu pageview hàng tháng,Vượt qua mức này bạn sẽ phải trả phí.
Dùng GAE, chúng ta khỏi phải thiết kế database, viết SQL để truy vấn data, map
Dùng GAE, chúng ta khỏi phải thiết kế database, viết SQL để truy vấn data, map
data vô object. Chúng ta chỉ cần design các class và GAE tự động lo phần làm việc
data vô object. Chúng ta chỉ cần design các class và GAE tự động lo phần làm việc
Python framework như Django, CherryPy, Pylons, web.py với một ít thay đổi nhất
định.
định.
b.Java Runtime Environment
b.Java Runtime Environment
►
Bạn có thể phát triển ứng dụng của bạn cho
Bạn có thể phát triển ứng dụng của bạn cho
Java Runtime Environment
Java Runtime Environment
sử dụng phổ
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 của bạn tương
biến công cụ phát triển web Java và các tiêu chuẩn API. Ứng dụng của bạn tương
tác với môi trường bằng cách sử dụng
tác với môi trường bằng cách sử dụng
the Java Servlet standard
the Java Servlet standard
, và có thể sử dụng
, và có thể sử dụng
các công nghệ ứng dụng web phổ biến như
các công nghệ ứng dụng web phổ biến như
JavaServer Pages
JavaServer Pages
(JSP)
(JSP)
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
►
Java Runtime Environment
Xem tài liệu cho the datastore, memcache, URL
Xem tài liệu cho the datastore, memcache, URL
fetch, mail, images and Google Accounts APIs.
fetch, mail, images and Google Accounts APIs.
►
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
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. Với việc sử dụng các trình biên dịch
API để thực hiện các ứng dụng web cho JVM. Với việc sử dụng các trình biên dịch
tương thích với JVM, người phiên dịch, bạn cũng có thể sử dụng các ngôn ngữ khác
tương thích với JVM, người phiên dịch, bạn cũng có thể sử dụng các ngôn ngữ khác
để phát triển các ứng dụng web, chẳng hạn như JavaScript, Ruby, hoặc Scala.
để phát triển các ứng dụng web, chẳng hạn như JavaScript, Ruby, hoặc Scala.
c.Datastore
c.Datastore
►
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
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 cho bạn Interface để có thể thao tác với các
Google. APIs của Datastore sẽ cung cấp cho bạn Interface để có thể thao tác với các
dữ liệu phía dưới.
dữ liệu phía dưới.
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
d.Google Accounts:
d.Google Accounts:
►
AppEngine liên kết mật thiết với tài khoản Google. Bạn có thể cho user login vào ứng
AppEngine liên kết mật thiết với tài khoản Google. Bạn có thể cho user login vào ứng
dụng của mình bằng tài khoản Google của họ.
Google plugin cho Eclipese.
►
AppEngine-java-SDK-1.3.8.zip.
AppEngine-java-SDK-1.3.8.zip.
►
Có tài khoản ứng dụng trên goole app engine
Có tài khoản ứng dụng trên goole app engineII.Các bước cài đặt:
II.Các bước cài đặt:
1.Đăng kí tài khoản:
1.Đăng kí tài khoản:
Bước 1:
Bước 1:
►
Để triển khai các ứng dụng của bạn với các đám mây của Google, bạn cần mộ
Để triển khai các ứng dụng của bạn với các đám mây của Google, bạn cần mộ
t tài
t tài
khoản AppEngine. Làm được một tài khoản bạn cần một tài khoản email của Google.
khoản AppEngine. Làm được một tài khoản bạn cần một tài khoản email của Google.
Open và đăng nhập với thông tin tài khoản gmail của
Open và đăng nhập với thông tin tài khoản gmail của
bạn.
bạn.
HƯỚNG DẪN CÀI ĐẶT
HƯỚNG DẪN CÀI ĐẶT
HƯỚNG DẪN CÀI ĐẶT
HƯỚNG DẪN CÀI ĐẶT