Tải bản đầy đủ (.docx) (43 trang)

Đồ án tốt nghiệp Điện máy đám mây trên google Appengine

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.69 MB, 43 trang )

NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
MỤC LỤC
LỜI CẢM ƠN

Sau những ngày làm việc cật lực, cuối cùng chúng em cũng đã hoàn
thành được đồ án tốt nghiệp của mình. Dù kiến thức sau khi chúng em
làm luận văn này không nhiều, nhưng lại là một đỉnh núi mà em vừa
chinh phục được. Rất nhiều kiến thức cũng như kỹ năng làm việc đã được
chúng em thu nạp trong quá nghiên cứu và làm việc.
Chúng em xin chân thành cám ơn quý thầy cô Khoa Công nghệ thông
tin đã nổ lực trong công tác giảng dạy và tạo mọi điều kiện giúp em hoàn
thành khóa học và thực hiện đồ án tốt nghiệp.
Chúng em cũng không quên cảm ơn thầy Cung Nguyễn Phước Tài đã
tận tình hướng dẫn chúng em trong suốt quá trình làm đề tài tốt nghiệp.
1GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 1
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
CHƯƠNG I. GIỚI THIỆU
Để kiểm tra phản ứng nhanh nhạy của các ứng viên xin việc, Google chỉ cần đặt ra một câu
hỏi tưởng chừng đơn giản: "Bạn sẽ làm gì nếu dữ liệu hiện có tăng gấp 1.000 lần?". Nếu
người xin việc bê nguyên những công thức được "lập trình sẵn" ở trường vào tình huống
này, họ sẽ biến máy chủ thành những chú ốc sên khi nhận lượng video, ảnh, bản đồ, thông
tin mua sắm lên 1.000 lần.
Bởi thế, để tìm được chỗ đứng ở Google, họ cần học cách làm việc và cảước mơ ở một cấp
độ rộng lớn hơn. Họ phải biết cách đưa khối lượng dữ liệu khổng lồ đó thoát khỏi phạm vi
những trung tâm dữ liệu chật chội và đặt chúng ở đâu đó ngoài kia- nơi mà các chuyên gia
của Google gọi là "cloud"- Những đám mây ảo.
Trong thực tế hiện nay, với sự thay đổi và phát triển không ngừng đến từng phút giây của
xã hội xung quanh chúng ta thì nhu cầu về khả năng lưu trữđược một lượng dữ liệu khổng
lồ, vượt ra ngoài những “cỗ máy vật lý” Data center là vô cùng cấp thiết. Sự phát triển như


vũ bão của nền kinh tế thế giới đã đẩy các doanh nghiệp, tập đoàn đa quốc gia lớn vào tình
2GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 2
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
thế phải có được một giải pháp công nghệ thông tin giúp họ lưu trữ được một khối lượng
khổng lồ các dữ liệu liên quan đến công việc kinh doanh của họ.
Bên cạnh đó, các giải pháp đó cũng phải thỏa mãn các tiêu chí đơn giản, an toàn và dễ sử
dụng vì không phải doanh nghiệp nào cũng có khả năng đầu tư mạnh vào hạ tầng công
nghệ thông tin để phục vụ cho công việc kinh doanh của mình vì nhiều lý do khách quan
và chủ quan.
Không chỉ dừng lại ớ mức đó, những “đòi hỏi” của con người ngày một tăng lên, như là
một thách thức gửi đến sự phát triển của khoa học công nghệ nói chung và công nghệ
thông tin nói riêng. Ngày nay, khái niệm dịch vụ đã, đang và sẽ trở thành một khái niệm
quá đỗi quen thuộc với con người. Tất cảđều được chuyển hóa thành dịch vụ khi người
dùng không muốn tự mình phải thực hiện tất cả mọi việc. Họ muốn những gì đơn giản
nhất, dễ sử dụng nhất và không phải lúc nào cũng phải quản lý nó khi không có nhu cầu sử
dụng. Vai trò của dịch vụ trong cuộc sống hàng ngày là không thể chối cãi.
Tất cả các nhu cầu nói trên đều dẫn đến hai câu hỏi chính được đặt ra. Đó là làm thế nào
để giải quyết bài toán lưu trữ một khối lượng dữ liệu, ứng dụng khổng lồ và làm thế nào để
biến việc sử dụng các dữ liệu, ứng dụng thành các dịch vụ để đáp ứng nhu cầu của người
dùng. Và một câu trả lời chung cho cả cho hai câu hỏi “hóc búa” trong nhiều năm qua này
đã xuất hiện. Đó chính là Điện toán đám mây (Cloud computing).
Để 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 bạn có thể
hình dung ứng dụng này giống như ứng dụng chat của facebook.
3GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 3
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE

CHƯƠNG II. CƠ SỞ LÝ THUYẾT
PHẦN I. ĐIỆN TOÁN ĐÁM MÂY
I.Đặt vấn đề
Ngày nay, đối với các công ty, doanh nghiệp, 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 họ. Để 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.
Từ một bài toán điển hình như vậy, 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. Thuật ngữ “cloud
computing” ra đời bắt nguồn từ một trong những hoàn cảnh như vậy.
Thuật ngữ “cloud computing” còn được bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ
liệu, phần mềm, tính toán, … lên trên mạng Internet. Chúng ta sẽ không còn trông thấy các
máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ
còn một số các “máy chủ ảo” tập trung ở trên mạng. Các “máy chủ ảo” sẽ cung cấp các
dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí
cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng
như quan tâm nhiều đến công nghệ. Xu hướng này sẽ giúp nhiều cho các công ty, doanh
nghiệp vừa và nhỏ mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu
tốt.
Vậy “cloud computing” là gì ? Nó có thể giải quyết bài toán trên như thế nào và có
những đặc điểm nổi bật gì ? Chúng ta sẽ đi qua các phần sau để nắm rõ vấn đề này.
II. Khái niệm và những đặc điểm của "Điện toán đám mây"
1. Khái niệm :
4GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân

Phạm Văn Tùng 4
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Điện toán đám mây 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
(tương tự như mạng điện)
Hình 1: Mô hình đơn giản của điện toán đám mây
2. Ưu và nhược điểm của cloud computing :
a. Ưu điểm : Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây"
trở thành mô hình điện toán được áp dụng rộng rãi trên toàn thế giới.
• 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 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 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 nó).
• Giảm bớt phí: Người dùng không chỉ giảm bớt chi phí bản quyền mà còn giảm phần lớn chi
phí cho việc mua và bảo dưỡng máy chủ. Việc tập hợp ứng dụng của nhiều tổ chức lại 1
chỗ sẽ giúp giảm chi phí đầu tư ban đầu, cũng như tăng hiệu năng sử dụng các thiết bị này
một cách tối đa.
• Tạo nên sự độc lập : Người dùng sẽ không còn bị bó hẹp với 1 thiết bị hay 1 vị trí cụ thể nào
nữa. Với điện toán đám mây, phần mềm, dữ liệu có thể được truy cập và sử dụng từ bất kì
5GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 5
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
đâu, trên bất kì thiết bị nào mà không cần phải quan tâm đến giới hạn phần cứng cũng như
địa lý.
• 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 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.
• 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 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 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)
• 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ẽ 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.
b. Nhược điểm :
Tuy nhiên, mô hình điện toán này vẫn còn mắc phải một số nhược điểm sau :
• Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện toán đám mây có
đảm bảo được riêng tư, và liệu các thông tin đó có bị sử dụng vì một mục đích nào khác?
• Tính sẵn dùng: Liệu các dịch vụ đám mây có bị “treo” bất ngờ, khiến cho người dùng không
thể truy cập các dịch vụ và dữ liệu của mình trong những khoảng thời gian nào đó khiến
ảnh hưởng đến công việc?
• Mất dữ liệu : Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng 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. 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.
• 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ó 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 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ữ liệu của họ trong trường hợp dịch vụ ngừng
hoạt động.
6GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 6
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
• 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 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 đột nhập, toàn bộ dữ
liệu sẽ bị chiếm dụng.

• Các quy định pháp luật cho các dịch vụ, giữa khách hàng và nhà cung cấp.
III. Cấu trúc và cách thức hoạt động của "Điện toán đám mây"
1. Cấu trúc phân lớp của mô hình Điện toán đám mây :
Về cơ bản, “điện toán đám mây” được chia ra thành 5 lớp riêng biệt, có tác động qua lại
lẫn nhau:
1) Client (Lớp Khách hàng): 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. Chẳng hạn máy tính và đường dây kết nối
Internet (thiết bị phần cứng) và các trình duyệt web (phần mềm)….
2) 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ụ
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
7GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 7
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
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ợ.
Các đặc trưng chính của lớp ứng dụng bao gồm :
o 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.
o 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ừ các “đám mây”.
3) Platform (Lớp Nền tảng):Cung cấp nền tảng cho điện toán và 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” và là điểm tựa cho lớp ứng dụng, cho
phép các ứng dụng hoạt động trên nền tảng đó. Nó giảm nhẹ sự tốn kém khi triển khai
các ứng dụng khi người dùng không phải trang bị cơ sở hạ tầng (phần cứng và phần
mềm) của riêng mình.
4) Infrastructure (Lớp Cơ sở hạ tầng):Cung cấp hạ tầng máy tính, tiêu biểu là môi trường
nền ảo hóa. Thay vì khách hàng phải bỏ tiền ra mua các server, phần mềm, trung tâm
dữ liệu hoặc thiết bị kết nối… giờ đây, họ vẫn có thể có đầy đủ tài nguyên để sử dụng

mà chi phí được giảm thiểu, hoặc thậm chí là miễn phí. Đây là một bước tiến hóa của
mô hình máy chủ ảo (Virtual Private Server).
5) 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 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) để đá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ọ.
2. Cách thức hoạt động của Điện toán đám mây :
Để hiểu cách thức hoạt động của “đám mây”, tưởng tượng rằng “đám mây” bao gồm 2
lớp: Lớp Back-end và lớp Front-end.
8GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 8
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
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 người dùng. 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 đó.
Bởi vì các máy tính trên “đám mây” được thiết lập để hoạt động cùng nhau, do vậy các
ứng dụng có thể sử dụng toàn bộ sức mạnh của các máy tính để có thể đạt được hiệu suất
cao nhất. Điện toán đám mây cũng đám ứng đầy đủ tính linh hoạt cho người dùng. Tùy
thuộc vào nhu cầu, người dùng có thể tăng thêm tài nguyên mà các đám mây cần sử dụng
để đáp ứng, mà không cần phải nâng cấp thêm tài nguyên phần cứng như sử dụng máy tính
cá nhân.
Ngoài ra, với điện toán đám mây, vấn đề hạn chế của hệ điều hành khi sử dụng các ứng
dụng không còn bị ràng buộc, như cách sử dụng máy tính thông thường.
9GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 9

NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
IV. Mô hình điện toán đám mây
1. Các Dịch vụ Điện toán Đám mây :
Điện toán đám mây hỗ trợ các dịch vụ :
oĐặ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
oCá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
10GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 10
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Dịch vụ hạ tầng IaaS (Infrastructure as a Service)
Dịch vụ IaaS 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. Khách hàng có thể sử dụng tài nguyên hạ tầng này để đá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. Khách hàng
điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặt ứng
dụng của mình.
Dịch vụ nền tảng PaaS (Platform as a Service)
Dịch vụ PaaS 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,
phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng Cloud dó. Dịch vụ
PaaS 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. Dịch vụ PaaS cũng 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 xây dựng ứng dụng và tương tác với hạ tầng
Cloud Computing thông qua API đó. Ở mức PaaS, khách hàng không quản lý nền tảng
Cloud hay các tài nguyên lớp như hệ điều hành, lưu giữ ở lớp dưới. 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.
Dịch vụ phần mềm SaaS (Software as a Service)
Dịch vụ SaaS 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 và sử dụng mà không quan tâm tói hay bỏ công sức quản lý tài nguyên tính toán bên
dưới.
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.
11GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 11
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
2. Các kiểu điện toán đám mây :
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ý.
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ý.
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.

12GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 12
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
V. 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. 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ể đến bây giờ bao gồm :
• Google App Engine của Google: />• Windows Azure của Microsoft :
/>• 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 />• Facebook
PHẦN II. GOOGLE APP ENGINE
1.Giới thiệu :
Google App Engine (gọi tắt là AppEngine, một số trường hợp được viết tắt là 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.
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à 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à 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ư )
thông qua google apps. Hoặc bạn có thể dùng sub-domain miễn phí của appspot.com.
13GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 13
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
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 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 data vô object. Chúng ta chỉ cần design các class và GAE tự động lo
phần làm việc với database.
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.
2.Các thành phần chính của AppEngine
Python Runtime
AppEngine hỗ trợ Python Runtime phiên bản 2.5.2. Hầu hết các thư viện của Python
Standard Library đều được hỗ trợ. Tuy nhiên do vấn đề về security nên các extensions viết
bằng C sẽ không được hỗ trợ. Điều này có nghĩa rằng bạn không thể nhúng C extensions
vào ứng dụng của bạn khi sử dụng 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.
Java Runtime Environment
Bạn có thể phát triển ứng dụng của bạn 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 của bạn tương tác với môi
trường bằng cách sử dụng the Java Servlet standard, và có thể sử dụng các công nghệ ứng
dụng web phổ biến như JavaServer Pages (JSP).
Java Runtime Environment sử dụng Java 6. 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.
Đố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. Ứng dụng của bạn có thể sử dụng
các API JavaMail để gửi tin nhắn email với dịch vụ App Engine Mail. Các java.net HTTP
API truy cập vào App Engine lấy URL dịch vụ. App Engine cũng bao gồm các API cấp
thấp cho các dịch vụ của mình để thực hiện thêm bộ điều hợp, hoặc sử dụng trực tiếp từ
14GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân

Phạm Văn Tùng 14
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
ứng dụng. Xem tài liệu cho the datastore, memcache, URL 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 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 để phát triển các
ứng dụng web, chẳng hạn như JavaScript, Ruby, hoặc Scala.
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 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.
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
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ụ để bạn có thể sử dụng cho ứng dụng của mình. Những dịch vụ có
thể liệt kê ở đây là: URL Fetch, Mail, Memcache, Image Manipulation
3.Hạn chế :
Tuy nhiên, mặt trái của việc xây dựng ứng dụng trên GAE là bạn sẽ phụ thuộc hoàn toàn
vào các công nghệ của Google và rất khó có thể tách ra thành một ứng dụng độc lập.
Yahoo hay Microsoft sẽ chẳng bao giờ mua một ứng dụng xây dựng trên nền tảng của đối
thủ. Còn các nhà đầu tư cũng rất e ngại khi tài sản của công ty bạn đặt hết vào tay người
khác, dù cho đó là Google.
15GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 15
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
CHƯƠNG III. CÀI ĐẶT
I. YÊU CẦU :
-Eclipse

-Google plugin cho Eclipese.
-Có tài khoản ứng dụng trên goole app engine.
-Máy có kết nối Internet
II. CÁC BƯỚC CÀI ĐẶT :
1.Đăng kí tài khoản trên Google App Engine :
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ột tài khoản
AppEngine.Vào và đăng nhập với thông tin tài khoản gmail
của bạn.
Nếu không có tài khoản google thì bạn có thể đăng ký tại đây :
Bước 2: chọn nút Create Application
16GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 16
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Bước 3:
- Nếu tài khoản google của bạn đã xác mình điện thoại thì có thể bỏ qua bước
này.
- Nếu chưa,Bạn cần phải xác minh tài khoản của bạn thông qua một số điện thoại
hợp lệ.Sau khi cung cấp số điện thoại của bạn, Google sẽ nhắn cho bạn một mã xác
minh qua SMS.
Bước 4: Tiến hành tạo một ứng dụng.Chúng ta được phép tạo được 10 ứng dụng cho một
tài khoản gmail.
17GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 17
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Đây là giao diện chính của ứng dụng chúng ta tạo ra.
18GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân

Phạm Văn Tùng 18
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
2.Cài đặt Eclipse VàGoogle plugin cho Eclipese.
Bước 1 : Trước tiên ta phải cài bộ Java Development Kit (JDK)
Ta vào trang: />136632.html để tải và cài đặt.
Bước 2 : Ta tiến hành tải Eclipse Helios JEE version 3.6 và cài t đặ
/>19GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 19
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Bước 3 : Mở chương trình Eclipse và cài đặt Google Plugin for Eclipse vào eclipse
Đầu tiên,ta vào Help chọn Install New Software
20GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 20
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Chọn add để thêm google plugin
Ta thêm thông tin như hình
21GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 21
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Nhấn next
22GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 22
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Next tiếp
23GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân

Phạm Văn Tùng 23
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Chọn I eccept the terms of the license agreement rồi nhấn Finish
Đợi một lát để chương trình cài plugin
Khi có thông báo này thì cứ nhấn ok để tiếp tục quá trình cài plugin
24GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 24
NGHIÊN CỨU ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY TRÊN GOOGLE APPENGINE
Như vậy là đã xong quá trình cài đặt plugin cho eclipse,nhấn Restart Now
3. Viết code cho ứng dụng
- Tạo project mới : vào click chuột phải vào biểu tượng chữ g rồi chọn New web
Application Project…
Project ban đầu của chúng ta sẽ ra như thế này:
25GVHD: Th.S Cung Nguyễn Phước Tài SVTH: Lương Quang
Thân
Phạm Văn Tùng 25

×