Do đó khi một khách hàng viết mộtứng dụng trên một nền tảng do một nhà cung cấp dịch vụ thì ứng dụng đó sẽchỉ được sử dụng trên các dịch đó, nếu đem ứng dụng đó qua một nền tảngkhác do m
Trang 1Bài thu hoạch môn học
TÍNH TOÁN LƯỚI
Đề tài
NGHIÊN CỨU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY.
XÂY DỰNG MỘT ỨNG DỤNG DEMO
DÙNG TRONG GÓI THƯ VIỆN GOOGLE APP
ENGINE CỦA GOOGLE
TPHCM tháng 7/2013
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 3
CHƯƠNG I: CÁC KHÁI NIỆM 5
1 Khái niệm điện toán đám mây: 5
2 Lợi ích cloud computing: 5
3 Google App Engine là gì: 6
4 Sự khác nhau giữa Cloud Computing và Grid Computing 7
CHƯƠNG II CLOUD COMPUTING: LỢI ÍCH VÀ KHÓ KHĂN 9
1 Cloud có phải là giải pháp tối ưu cho các doanh nghiệp? 9
2 Những thuận lợi và khó khăn của cloud computing 9
CHƯƠNG III: HƯỚNG DẪN CÀI ĐẶT 18
1 Yêu cầu: 18
2 Đăng kí tài khoản Google App Engine: 18
3 Tạo một project: 21
4 Triển khai ứng dụng: 31
Trang 3LỜI NÓI ĐẦU
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 trongnhững bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăncho họ Để có thể quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệpphải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phầnmề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átviệ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ộtnơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanhnghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trungchính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợinhuậ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àncả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ậptrung ở trên mạng Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanhnghiệ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ũngnhư 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ì ? Việc nghiên cứu, tìm hiểu về cloudcomputing là hết sức cần thiết để chúng ta có thể ứng dụng trong công việc cụ
Trang 4thể của từng các nhân, tổ chức hay doanh nghiệp Đó cũng là lý do mà chúngtôi thực hiện bài thu hoạch này.
Chúng tôi xin cảm ơn Thầy - TS Nguyễn Phi Khứ, người đã tận tâmtruyền đạt những kiến thức nền tảng cơ bản về môn học “Tính toán lưới”, đãcung cấp cho chúng tôi các kiến thức và công cụ hết sức bổ ích
Do kiến thức còn hạn hẹp, bài thu hoạch có thể có những sai sót nhấtđịnh, mong thầy và chúng ta góp ý để bài thu hoạch ngày càng hoàn thiệnhơn
Chúng tôi xin tỏ lòng biết ơn sâu xa!
Học viên thực hiện đề tàiTrần Minh Hùng
Trang 5CHƯƠNG I:
CÁC KHÁI NIỆM
1 Khái niệm điện toán đám mây:
Đ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) – Theo Wikipedia
Mô hình này đã và đang được các công ty ,doanh nghiệp hướng đến Sửdụng mô hình này các doanh nghiệp chỉ cần trả phí cho những ứng dụng mà
họ dung ,mà không cần đầu tư nhiều vào sơ sở hạ tầng, cũng như quan tâmnhiều đến công nghệ
Mọi thứ đều tập trung vào đám mây
2 Lợi ích cloud computing:
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ó)
Trang 6 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ì đâu, trên bất kì thiết bị nào mà không cầnphải quan tâm đến giới hạn phần cứng cũng như địa lý (Chúng ta có thể chơiCall of Duty 6 trên iPad hoặc iPhone mà không cần quan tâm đến cấu hìnhcủa nó)
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ặcthảm họa xảy ra (Hãy tưởng tượng 1 ngày nào đó, server yêu quý của công ty
tự nhiên bốc cháy với toàn bộ dữ liệu quý giá bên trong, chúng ta sẽ làm gì??)
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ũngnhư 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áychủ khác nhau → trong trường hợp hacker tấn công, chúng ta 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ậptrì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
3 Google App Engine là gì:
“Google App Engine” (GAE) là một nền tảng hosting bao gồm webserver, cơ sở dữ liệu BigTable and kho lưu trữ file GFS GAE cho phép chúng
ta viết ứng dụng web dựa trên cơ sở hạ tầng của Google Nghĩa là chúng ta
không cần quan tâm là trang web chúng ta được lưu trữ như thế nào (kể cảdatabase đi kèm), mà chỉ cần quan tâm đến việc phát triển ứng dụng theo cácAPI do Google cung cấp
Với App Engine,Chúng ta chỉ cần tải lên các ứng dụng của chúng ta, và
nó sẵn sàng để phục vụ người dùng của chúng ta
Trang 7Chúng ta có thể sử dụng tên miền riêng của mình (chẳng hạnnhư http://www.example.com/) thông qua google apps Hoặc chúng ta 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 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 chúng ta 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ệcvới database
Tóm lại, giờ đây chúng ta chỉ cần phải nghĩ ra và viết những ứng dụngtuyệt vời nhất rồi kêu gọi cả thế giới vào dùng Tuy nhiên, mặt trái của việcxây dựng ứng dụng trên GAE là chúng ta sẽ phụ thuộc hoàn toàn vào cáccô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ềntả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
chúng ta đặt hết vào tay người khác, dù cho đó là Google.
Hiện AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java Một số ngônngữ 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.
4 Sự khác nhau giữa Cloud Computing và Grid Computing
Sự khác nhau giữa Grid Computing và Cloud Computing
Grid computing Cloud computingSức mạnh tính toán Tính toán mạnh hơn
Grid Computing; sửdụng khả năng tính toáncủa internet
Sử dụng khả năng tínhtoán trong nội bộ củaCloud
Lưu trữ Lưu trữ nhiều hơn
Cloud Computing; dùngcác giao thức để tìmkiếm các tài nguyênthích hợp trên mạng đểlưu trữ
Khả năng lưu trữ íthơn Grid Computing;dùng các data centertrong việc lưu trữ
Tốc độ truyền dữ liệu
(trao đổi các resource
trong lúc thực thi)
Tốc độ chậm hơn CloudComputing; tốc độ củađưởng truyền sử dụng
Nhanh hơn GridComputing, việc traođổi resource thường
Trang 8đường truyền internet,tốc độ thường là megabyte.
thực hiện bằng đườngtruyền nội bộ, đượcxây dựng để kết nốigiữa các data center.Tốc độ có thể lên đếnhàng giga byte
Khả năng mở rộng Có khả năng mở rộng
Việc mở rộng được thựchiện trên đường truyềninternet (khi có như cầu
sử dụng thêm resourcethì hệ thống sẽ tìm trênmạng xem hiện córesource nào đáp ứngnhu cầu của mình phùhợp không)
Có khả năng mở rộng,
co lại dễ dàng vànhanh (theo nhu cầu
sử dụng)
Ví dụ: nếu trong mộtthời điểm đang có 10máy nhưng muốn có
20 máy thì CloudComputing có thểcung cấp, hoặc muốngiảm xuống chỉ sửdụng còn 5 máy;Cloud hổ trợ cho việcnày nhanh chóng
Phạm vi Chủ yếu hướng tới khoa
học
Chủ yếu hướng tớithương mại, quan tâmđến việc phục vụ nhucầu của khách hàngthông qua việc cungcấp các dịch vụ theonhu cầu của kháchhàng
Resource Việc sử dụng resource
thông qua việc tìm kiếmcác resource trêninternet, người dùngkhông thể cấu hình tàinguyên theo ý muốn củangười dùng
Cung cấp resourcetheo dạng unifiedresource, người dùngđược phép cấu hìnhresource theo nhu cầucủa người sử dụng
Bảng so sánh Cloud Computing và Gird Computing
Trang 9CHƯƠNG II CLOUD COMPUTING: LỢI ÍCH VÀ KHÓ KHĂN
1 Cloud có phải là giải pháp tối ưu cho các doanh nghiệp?
Điều đó phụ thuộc vào quy mô của công ty, và tính chất kinh doanh màdoanh nghiệp đó theo đuổi Đối với các doanh nghiệp hoạt động mà dữ liệucủa công ty mang tính chất là sống còn trong việc kinh doanh thì công ty đó
sẽ xây dựng nên một hệ thống riêng trong công ty của mình vận hành như hệthống lưu trữ của các ngân hàng Nhưng đối với các doanh nghiệp nhỏ thìCloud có lẽ là giải pháp tối ưu do họ không phải đầu tư vào cơ sở hạ tầng vàcũng không cần phải có phòng để quản lý, bảo trì vận hành hệ thống (như vấn
đề về việc thay thế các thiết bị lưu trữ, phải bảo đảm nhiệt độ của hệ thốnglàm việc tốt, ngoài ra còn vấn đề về năng lượng tiêu thụ của hệ thống), và dữliệu của công ty thì có lẽ không quan trọng lắm
Ngoài ra với các dịch vụ PaaS, thì vấn đề phụ thuộc vào nền tảng của nhàcung cấp dịch vụ là rất nhiều Ví dụ với Google và dịch vụ Google AppEngine thì khi khách hành phát triển một ứng dụng trên đó thì sẽ phụ thuộcvào Google, vì hiện nay vấn đề API chưa được chuẩn hóa giữa các nhà cungcấp dịch vụ theo dạng này trong Cloud Computing Vì vậy nếu hệ thống củaGoogle có trục trặc hay có vấn đề khác Nếu những điều đó làm ứng dụng củamình không chạy được thì ứng dụng của mình cũng không thể chạy ở nơikhác vì nền tảng bên dưới mà nhà cung cấp dịch vụ đã che dấu và cũng khôngphải là mã nguồn mở
2 Những thuận lợi và khó khăn của cloud computing
a) Tính sẵn sàng
Hiện nay, việc sử dụng các dịch vụ của cloud computing làm cho người
sử dụng lo lắng đến tính sẵn sàng của dịch vụ mà họ sử dụng Nên đây là một
lý do có thể làm cho người sử dụng ngại sử dụng các dịch vụ của CloudComputing Nhưng hiện tại, những người sử dụng dịch vụ của CloudComputing có thể an tâm về chất lượng dịch vụ Ví dụ như trong SaaS có dịch
vụ tìm kiếm của Google, hiện tại khi người dùng truy cập vào trang web sử
Trang 10dụng dịch vụ tìm kiếm này thì có thể an tâm rằng mình luôn được đáp ứngnếu mình truy cập không được thì có thể đó là vấn đề do kết nối đường truyềnmạng Năm 2008, có một cuộc khảo sát về chất lượng dịch vụ thì có hai hãnghàng đầu đạt chất lượng phục vụ tốt về tích sẵn sàng của dịch vụ.
Bảng khảo sát chất lượng dịch vụ
Ngoài ra sự đe dọa đến tính sẵn sàng của dịch vụ còn nằm ở chổ, khi dịch
vụ bị tấn công bằng cách DDOS (distributed denial of service attacks).Vớikiểu tấn công này làm cho các nhà cung cấp dịch vụ tốn một khoảng tiền lớn
để đối phó với cách tấn công này
b) Data lock-in
Hiện nay các phần mềm đã được cải thiện khả năng tương tác giữa cácnền tảng khác nhau, nhưng các hàm API của Cloud Computing vẫn còn mangtính đôc quyền, chưa được chuẩn hóa Do đó khi một khách hàng viết mộtứng dụng trên một nền tảng do một nhà cung cấp dịch vụ thì ứng dụng đó sẽchỉ được sử dụng trên các dịch đó, nếu đem ứng dụng đó qua một nền tảngkhác do một nhà cung cấp dịch vụ khác cung cấp thì có thể không chạy được.Điều này dẫn đến người sử dụng phụ thuộc vào nhà cung cấp dịch vụ Ngoài
ra nhà cung cấp dịch vụ cũng sẽ tập trung hơn để phát triển dịch vụ của mình
để phục vụ nhu cầu người sử dụng tốt hơn
Ngoài ra việc sử dụng các dịch vụ của cloud computing cũng gây ra mộtvấn đề, khi dữ liệu của người sử dụng dịch vụ lưu trữ trên hệ thống của nhàcung cấp dịch vụ thì có điều gì đảm bảo cho người sử dụng là dữ liệu củamình sẽ an toàn, không bị rò rỉ ra bên ngoài Hiện nay, về mặt kỹ thuật thì vẫnchưa có cách nào hiệu quả để giải quyết vấn đề trên Điều này dẫn đến việcthực hiện hay sử dụng thường xảy ra đối với các nhà cung cấp dịch vụ cótiếng, uy tín
Trang 11Ví dụ: tháng 8 năm 2008 khi dịch vụ lưu trữ dữ liệu trực tuyến củaLinkup bị hỏng, sau khi phục hồi lại hệ thống thì phát hiện ra mất 45% dữ liệucủa khách hàng Sau sự cố này thì uy tín và doanh thu của công ty hạ xuống.Khoãng 20.000 người dùng dịch vụ của Linkup đã từ bỏ nhà cung cấp nay đểtìm đến một nhà cung cấp dịch vụ mới Và sau đó dịch vụ này phải dựa trênmột dịch vụ lưu trữ trực tuyến khác để tồn tại là Nirvanix, và hiện nay haicông ty này đã kết hợp với nhau trong việc cung cấp dịch vụ lưu trữ trựctuyến.
Từ ví dụ trên ta thấy nếu các các nhà cung cấp dịch vụ có cơ chế chuẩnhóa các API thì các nhà phát triển dịch vụ có thể triển khai dịch vụ trên nhiềunhà cung cấp dịch vụ, khi đó một nhà cung cấp dịch vụ nào đó bị hỏng, thì dữliệu của các nhà phát triển không mất hết mà có thể nằm đâu đó trên các nhàcung cấp dịch vụ khác Nếu như cách này được các nhà cung cấp dịch vụ thểhiện thì sẽ dẫn đến cuộc cạnh tranh về giá của nhà cung cấp Hai tham số ảnhhưởng đến việc lựa chọn một dịch vụ lúc đó là:
Tham số thứ nhất là chất lượng dịch vụ tương xứng với giá mà người sửdụng trả cho nhà cung cấp dịch vụ Hiện nay có một số nhà cung cấp dịch vụ
có giá cao gấp 10 lần so với các nhà cung cấp khác, nhưng nếu nó có chấtlượng tốt cộng thêm các tính năng hỗ trợ người dùng như: tính dễ dùng, một
số tính năng phụ khác…
Tham số thứ hai, ngoài việc giảm nhẹ data lock – in, thì việc chuẩn hóacác API sẽ dẫn đến một mô hình mới: cơ sở hạ tầng cùng phần mềm có thểchạy trên private cloud hay public cloud
c) Bảo mật và kiểm tra dữ liệu
Như đã phân tích ở phần trước đó, khi đưa dữ liệu lên cloud thì một câuhỏi đặt ra là: dữ liệu của mình có an toàn không? Do đó các dữ liệu nhạy cảmcủa các công ty thường không để lên cloud lưu trữ Việc để dữ liệu lên đó sẽlàm cho khả năng bị nhiều khác truy xuất hơn Và vấn đề này đang là mộtthách thức thực sự đối với công nghệ hiện đại trong việc việc bảo mật dữ liệu.Hiện nay có một giải phát là những người dùng dịch vụ Cloud phải mã hóa dữliệu trước khi đưa lên hệ thống cloud, và khi muốn sử dụng dữ liệu này thìphải thực hiện công việc giải mã này ở máy local Ví dụ việc mã hóa dữ liệutrước khi đưa lên cloud sẽ bảo mật hơn so với đem dữ liệu lên cloud màkhông có mã hóa Mô hình này đã có những thành công nhất định đối với đối
Trang 12với việc sử dụng TC3, đây là công ty về chăm sóc sức khỏe (công ty này sửdụng hệ thống TC3), dữ liệu của họ là những thông tin nhạy cảm ( dữ liệu của
họ chủ yếu là về các thông tin bệnh của các bệnh nhân)
Ngoài ra, còn có thể thêm vào việc ghi nhận lại các thộng tin mà hệ thống
đã làm, và sử dụng các hệ điều hành ảo khi cung cấp dịch vụ IaaS sẽ làm choứng dụng của mình khó bị tấn công hơn
Việc bảo mật dữ liệu ngoài các vấn đề về kỹ thuật thì nó còn liên quanđến các vấn đề khác như con người, các đạo luật… Việc sử dụng các luật bảo
vệ người sử dụng dịch vụ cloud khi họ đưa dữ liệu của mình lưu trữ trênCloud, thì các nhà cung cấp dịch vụ phải bảo đảm dữ liệu của khách hàngkhông bị rò rỉ ra bên ngoài
Thêm vào đó các nhà cung cấp dịch vụ SaaS còn cung cấp cho ngườidùng cơ chế lựa chọn vị trí mà người dùng muốn lưu trữ dữ liệu cũa mình Vídụ: Amazon cung cấp dịch S3, khi sử dụng dịch vụ này người dùng có thể lưutrữ dữ liệu vật lý của mình ở châu Âu hay ở Mỹ
d) Việc gây ra thắc cổ trai trong việc truyền dữ liệu
Đối với các ứng dụng, mà lúc đầu ứng dụng bắt đầu chạy thường thì dữliệu ít, và càng về sau thì dữ liệu càng nhiều Và ngoài ra có thể có ứng dụngchạy trên Cloud mà dữ liệu có thể lưu ở các vị trí khác nhau Khi lúc ứngdụng này chạy có thể dẫn đến việc vận chuyển giữa các dữ liệu (việc vậnchuyển dữ liệu giữa các data center) Hiện nay giá của việc vận chuyển dữliệu là 100$ đến 150$ cho mỗi terabyte vận chuyển Khi ứng dụng chạy càng
về sau thì chi phí này có thể càng tăng lên, làm cho chi phí truyền tải dữ liệu
là một vấn đề quan trọng trong chi phí vận hành ứng dụng Và vấn đề nàycũng đã được các nhà cung cấp dịch vụ Cloud và những người sử dụng Cloudsuy nghĩ đến Và vấn đề này đã được giải quyết trong dịch vụ Cloudfront màcông ty Amazon đã phát triển
e) Khó tiên đoán trong hiệu suất thực thi của máy tính
Khi nhiều máy ảo chạy cùng chạy, thì vấn đề chia sẽ về CPU hay bộ nhớđạt hiệu quả cao, nhưng vấn đề giao tiếp IO của các máy ảo này gây ra nhiềuvấn đề về hiệu suất
Trang 13Biểu đồ so sánh hiệu xuất chạy 72 máy ảo trên EC2 giữa các máy chia sẻ bộ nhớ (a) và máy chia sẻ ổ cứng (b)
Để giảm ảnh hưởng của việc truy xuất vào ổ cứng Ta có thể dùng flash
để hạn chế trong giảm hiệu suất này
f) Đáp ứng nhu cầu khả năng lưu trữ của người dùng
Đây là một tính năng khá tốt của Cloud Computing, phục vụ theo nhu cầungười dùng: khi người dùng muốn mở rộng khả năng lưu trữ do nhu cầu tănglên thì hệ thống có nhiệm vụ cung cấp đủ dung lượng cho người sử dụng, khingười dùng muốn giảm khả năng lưu trữ thì hệ thống có nhiệm vụ thu hồidung lượng đã cấp cho người sử dụng
Điều này gây ra khó khăn trong việc quản lý hệ thống lưu trữ (khi mộtngười sử dụng mua một khoảng dung lượng thì phải cung cấp cho người đóbao nhiêu? vừa đủ cho người sử dụng yêu cầu hay nhiều hơn yêu cầu?), tăng
độ phức tạp cấu trúc dữ liệu (cấu trúc dữ liệu làm sao hổ trợ vấn đề lưu trữ,vấn đề duyệt, vấn đề mở rộng ), hiệu suất truy xuất dữ liệu trong ổ cứngkhông cao (nếu phục vụ nhu cầu của người sử dụng thì hệ thống lưu trữ củamình có thể dễ bị hiện tượng phân mảnh trong lưu trữ) Điều này dẫn đến vần
đề nghiên cứu tạo ra một hệ thống lưu trữ sao cho tiện lợi trong phục vụ nhucầu khả năng lưu trữ của người sử dụng
g) Khả năng tự co giãn của hệ thống
Trang 14Hiện nay, Google triển khai platform Google App Engine giúp đỡ cácdeveloper phát triển web application Khi người sử dụng dùng dịch vụ nàycủa Google khi triển khai ứng dụng, nếu ứng dụng của mình sử dụng hết tàinguyên mua của Google nếu mình chọn ở mức mua dữ liệu (Google còn cungcấp thêm một mức là sử dụng miễn phí không có chức năng này) thì khi đógoogle tự động cung cấp thêm tài nguyên (dung lượng lưu trữ, số clock màCPU chạy cho ứng dụng) cho ứng dụng ta chạy đồng thời tính thêm tiền cần.Đây cũng là một thách thức trong việc nhận ra khi nào tài nguyên người sửdụng đã dùng ở mức quá hạn và cung cấp thêm tài nguyên người dùng (đây làvấn đề cần thiết nếu nhà cung cấp dịch vụ không cung cấp kịp tài nguyên thì
hệ thống người dùng triển khai trên nên tảng của nhà cung cấp dịch vụ có thểgây ra tình trạng hỏng)
Ngoài ra nếu giải quyết được bài toán tự co giãn tài nguyên của người sửdụng thuê thì nhà cung cấp dịch vụ cũng sẽ tiết kiệm được một khoảng tiền.Theo nghiên cứu của của trường đại học California thì khi một hệ thống hoạtđộng ở trạng thái hoạt động nhiều nhất, cũng chỉ sử dụng 2/3 công suất của hệthống Vậy nếu giải quyết tốt thì khi nhà cung cấp dịch vụ cho thuê 2 máy, cóthể điều chỉnh hiệu suất của 2 máy này đạt hiệu quả hơn Giả sử hệ thống ta
có thể cung cấp 100%, giả sử rằng ta cho 2 người dùng thuê tài nguyên và cả
2 không bao giờ sử dụng tài nguyên này hết 100% Nếu bài toán co giãn tàinguyên được giải quyết thì ta có thể bán 100% hệ thống của ta cho 2 người sửdụng này
h) Bản quyền phần mềm
Hiện tại các máy tính nếu không có phần mềm thì máy tính cũng chỉ làcác linh kiện không có khả năng hoạt động tốt Nếu máy tính có thêm cácphần mềm thì các máy tính sẽ hoạt động hết tất cả khả năng của nó Nhưngbản quyền phần mềm cũng là một vấn đề đối với các nhà cung cấp dịch vụ vànhững người sử dụng dịch vụ điện toán đám mây, ngoài ra còn tiền vận hành
và bảo trì phần mềm Ví dụ: theo như hãng SAP công bố thì chi phí để bảo trìvận hành phần mềm hằng năm chíếm ít nhất 22% giá trị của phần mềm Đâycũng là cơ hội cho sự phát triển của các phần mềm mã nguồn mở cũng nhưcách tính phí của các phần mềm mã nguồn đóng, vì dụ giống như nhà cungcấp Amazone và Microsoft có sự kết hợp với nhau trong phục vụ khách hàng,
về cách tính phí phần mềm và việc sử dụng dịch vụ EC2 của người sử dụng
Trang 15Nếu khách hàng dùng EC2 để chạy các phần mềm có bản quyền củaMicrosoft như Window Server hay Window SQL Server thì bị tính phí là0,15$ còn ngược lại nếu dùng dịch vụ EC2 mà sử dùng phần mềm mã nguồn
mở thì chỉ phải trả 0,1$
i) Lợi ích của Cloud Computing đối với doanh nghiệp[4]
Ưu việt của Cloud Computing so với những công nghệ có trước là nócho phép người dùng một khả năng sử dụng tài nguyên hiệu quả, với chi phíthấp, người dùng chỉ trả chi phí cho nhà cung cấp những gì đã sử dụng
Cloud Computing giúp doanh nghiệp giảm chi phí đầu tư
Một yếu tố giúp giảm chi phí nữa là khách hàng chỉ trả phí cho những
gì họ thật sự dùng (Usage-based costing) Với những tài nguyên đã thuênhưng chưa dùng đến (do nhu cầu thấp) thì khách hàng không phải trả tiền.Đây thật sự là một lợi ích rất lớn đối với doanh nghiệp khi sử dụng dịch vụCloud Computing
Trang 16k) Sử dụng tài nguyên hiệu quả hơn
Nhờ khả năng co giãn (elasticity) nên tài nguyên luôn được sử dụngmột cách hợp lý nhất, theo đúng nhu cầu của khách hàng, không bị lãng phíhay dư thừa Đối với nhà cung cấp dịch vụ, công nghệ ảo hóa giúp cho việckhai thác tài nguyên vật lý hiệu quả hơn, phục vụ nhiều khách hàng hơn
Một yếu tố khác ảnh hưởng đến việc sử dụng tài nguyên đó là cách
“gán” (cấp phát) tài nguyên cho khách hàng Các mô hình truyền thống hiệnthực cấp phát tài nguyên theo kiểu single-tenant: một tài nguyên được cấpphát “tĩnh” trực tiếp cho một khách hàng, như vậy một tài nguyên chỉ có thểphục vụ cho một khách hàng dù cho khách hàng đó có những lúc không cónhu cầu sử dụng thì tài nguyên đó sẽ ở trạng thái rảnh, dư thừa chứ khôngđược thu hồi lại
Single-tenant
Cloud Computing hiện thực việc phân phối tài nguyên theo kiểu tenant: một tài nguyên có thể được cấp phát “động” cho nhiều khách hàngkhác nhau, các khách hàng này sẽ luân phiên sử dụng tài nguyên được cấpphát chung Với mô hình multi-tenant, một tài nguyên có thể phục vụ chonhiều khách hàng khác nhau Như vậy khi khách hàng không có nhu cầu, tàinguyên rảnh sẽ được hệ thống thu hồi lại và cấp phát cho khách hàng khác cónhu cầu
Trang 17l) Tính linh hoạt
Nhờ khả năng co giãn mà Cloud Computing cung cấp, hệ thống củakhách hàng có khả năng mở rộng hoặc thu nhở một cách linh hoạt tùy theonhu cầu cụ thể Doanh ghiệp có thể khởi đầu với quy mô nhỏ, nhu cầu thấpnhưng sau đó phát triển mở rộng quy mô với nhu cầu tăng cao
Các dịch vụ Cloud Computing có thể được truy xuất ở bất kỳ đâu, bất
kỳ lúc nào thông qua mạng internet
Khách hàng có thể lựa chọn nhà cung cấp dịch vụ nào đáp ứng tốt nhấtcho nhu cầu của mình với giá cả và chất lượng dịch vụ hợp lý nhất
Với Cloud Computing, doanh nghiệp sẽ chuyển hầu hết trách nhiệm vềkiểm soát hệ thống, quản lý hạ tầng, bảo mật, đảm bảo chất lượng dịch vụ…cho nhà cung cấp dịch vụ Khi đó doanh nghiệp sẽ giảm rất nhiều chi phí vàchỉ tập trung vào nhiệm vụ chính là kinh doanh, không phải bận tâm nhiềuđến việc quản lý, kiểm soát hệ thống
Trang 18CHƯƠNG III:
HƯỚNG DẪN CÀI ĐẶT
1 Yêu cầu:
- Eclipese hay jcreator
- Google plugin cho Eclipese
- AppEngine-java-SDK-1.3.8.zip
2 Đăng kí tài khoản Google App Engine:
Bước 1:Để triển khai các ứng dụng của chúng ta với các đám mây
của Google, chúng ta cần một tài khoản AppEngine Làm được một tàikhoản chúng ta cần một tài khoản email của Google.Open http://appengine.google.com/ và đăng nhập với thông tin tàikhoản gmail của chúng ta
Bước 2: Chọn nút Create Application