Tìm hiểu điện toán đám mây, xây dựng bộ công cụ văn phòng
Trang 1
ĐỀ TÀI: TÌM HIỂU ĐIỆN TOÁN ĐÁM MÂY, XÂY DỰNG BỘ CÔNG CỤ VĂN PHÒNG
Giáo viên hướng dẫn: PGS.TS Lê Tiến Thường
Học viên thực hiện : Đinh Thị Hồng Nguyên
Lê Anh Vũ
Lớp : Kỹ thuật điện tử - K23
Đà Nẵng, tháng 01 năm 2012
Trang 2MỤC LỤC1
CHƯƠNG 1 31
MỞ ĐẦU – TỔNG QUAN VỀ ĐỀ TÀI 31
I Đặt vấn đề 31
II Mục đích và ý nghĩa 32
III Các nhiệm vụ nghiên cứu và thực hiện 32
CHƯƠNG 2 31
CƠ SỞ LÝ THUYẾT 31
I Khái niệm về điện toán đám mây 31
II Các tính chất của điện toán đám mây 32
II.1 Tính tự phục vụ theo nhu cầu 32
II.2 Tính truy suất diện rộng 32
II.3 Khả năng dùng chung tài nguyên 32
II.4 Khả năng co dãn 3
II.5 Khả năng điều tiết dịch vụ 34
III Các đặc điểm của điện toán đám mây 34
IV Các vấn đề có thể được giải quyết bởi điện toán đám mây và ưu nhược điểm của điện toán đám mây 35
IV.1 Các vấn đề có thể được giải quyết bởi điện toán đám mây 35
IV.2 Các ưu, nhược điểm của điện toán đám mây 36
V Cấu trúc và các dịch vụ điện toán đám mây 38
V.1 Cấu trúc của một đám mây điện toán 38
V.2 Các dịch vụ triển khai trên một đám mây điện toán 39
VI Các mô hình triển khai cloud Computing 314
VI.1 Các đám mây công cộng (Public cloud) 314
VI.2 Các đám mây riêng (Private cloud) 315
VI.3 Các đám mây lai (Hybrid cloud ) 317
VI.4 Các đám mây cộng đồng (Community cloud) 318
VII So sánh mô hình Cloud Computing với mô hình Client – Server 319
VIII So sánh Cloud Computing với Grids Computing 320
VIII.1 Mô hình thương mại (Business Model) 320
VIII.2 Kiến trúc (Architecture) 321
VIII.3 Quản lý tài nguyên (Resource Management) 323
VIII.4 Mô hình lập trình (Programming Model) 326
VIII.5 Mô hình ứng dụng (Application Model) 326
VIII.6 Mô hình bảo mật (Security Model) 326
CHƯƠNG 3: 31
1
Đ.T.Hồng Nguyên +
Trang 3MỘT SỐ GIẢI PHÁP VÀ NỀN TẢNG ĐÁM MÂY HIỆN TẠI 31
I Amazon Web Services 31
I.1 Amazon Elastic Compute Cloud (EC2) 32
I.2 Amazon Simple DB 3
I.3 Amazon Simple Storage Service (S3): 3
I.4 Amazon Cloud Font: 34
I.5 Amazon Simple Queue Service: 34
II Google App Engine 35
II.1 Giới thiệu: 35
II.2 Các thành phần chính của Google App Engine: 36
II.3 Một số Data API của Google App 37
III So sánh một số nền tảng cung cấp dịch vụ điện toán đám mây 39
IV Một số kết luận dựa trên các kết quả so sánh 310
V Triển khai một demo trên Google App Engine 310
V.1 Một số điểm lưu ý khi xây dựng một ứng dụng trên nền Google App Engine 310 V.2 Quy trình phát triển một ứng dụng trên Google App Engine 311
V.3 Demo ứng dụng trên Google App Engine 313
CHƯƠNG 4: 319
PHÁT TRIỂN ỨNG DỤNG VĂN PHÒNG TRÊN WEB 319
I Giới thiệu các chức năng 320
II Cấu trúc mã nguồn 325
III Chức năng một số file mã nguồn 326
III.1 Padevents.js : Ghi lại các sự kiện xảy ra trên “Pad” : 326
III.2 Model.js: Các phương thức cho phép truy cập đến 1 đối tượng “pad”, kiểm tra sự tồn tại của pad và tạo ra 1 pad nếu nó chưa có sẵn 326
III.3 Chatarchive.js : Xử lý các thao tác khi các client chat với nhau 327
III.4 Collab_server.js: Bao gồm các phương thức xác thực User (thông qua userId), lấy thông tin phiên bản (pad revision), áp dụng các thay đổi do user tạo ra trên pad, cập nhật các thay đổi do user tạo ra tới tất cả các client đang sử dụng cùng 1 pad.327 III.5 Pad_control.js:Kiểm soát các thông tin về các tác động trên pad , trả về default pad text : đoạn văn bản xuất hiện khi tạo mới pad, cho phép gán các thông tin như tên user , màu chữ ứng với từng user, render một pad, render saverevision….329 CHƯƠNG 5: 331
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 331
I Kết luận 331
II Hướng phát triển của đề tài 331
Page 3
Đ.T.Hồng Nguyên + L.AnhVũ
Trang 4Từ 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ậygiú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ònquan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinhdoanh 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ôngthấ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ềmnữ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ềucho 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
Xét trên tình hình hiện tại, thời gian vừa qua, các hãng công nghệ lớn trên thế giớinhư Microsoft, Google, IBM, Amazon, Sun, liên tục giới thiệu và tung ra các giảipháp, công nghệ và nền tảng liên quan tới lĩnh vực ảo hóa và điện toán đám mây Tiêubiểu như Google ngoài các ứng dụng đám mây vốn từ trước đến nay vốn quen thuộccủa hãng như Gmail, Google Docs, thời gian gần đây, hãng cũng liên tục đưa ra thịtrường các sản phẩm phần cứng cũng như phần mềm chạy trên một hệ điều hành mớiđược xem là tương lai của công nghiệp điện toán đó là hệ điều hành đám mây Chrome
OS Microsoft cũng không kém cạnh khi hãng cũng vừa giới thiệu sản phẩm hệ điềuhành đám mây Windows Azure Bên cạnh đó còn rất nhiều các hãng khác cũng thamgia vào lĩnh vực mới mẻ này
Tất cả những điều đó cho thấy, điện toán đám mây là một xu hướng tất yếu của sựphát triển công nghệ thông tin và sẽ là một trong những công cụ hiệu quả giúp cho các
Trang 5cá nhân, doanh nghiệp khai thác hiểu hiệu quả hơn nữa ứng dụng CNTT trong môitrường cạnh tranh hiện tại và tương lai.
Trở lại với thực tiễn tại Việt Nam, Nnhững năm trở lại đây, người dùng đã và đangquen thuộc khai thác các công cụ dựa trên nền tảng đám mây, ví dụ như các dịch vụthư điện tử nền tảng web (Google Mail, Yahoo Mail, Windows Live Mail, ) hay cáccông cụ chia sẻ video (Youtube), các ứng dụng thao tác với hình ảnh trên web(Google Picasa, Flickr, Photoshop Express,…), các công cụ xử lý và lưu trữ văn bảnonline (Google Docs, Yoho, ), hay các dịch vụ đồng bộ hóa file trên mạng (ASUSWebstore, Dropbox, ) thậm chí nhiều hệ điều hành web cũng đã ra đời và được một
số ít người dùng quan tâm đến công nghệ sử dụng Điều này chứng tỏ rằng công nghệđiện toán đám mây đã và đang chiếm một vai trò quan trọng trong cuộc sống hàngngày của mỗi người dân Việt Nam Và đặc biệt, chính phủ và nhà nước cũng đã cónhững kế hoạch, chính sách phát triển và sử dụng điện toán đám mây như là một phầncủa chính phủ điện tử trong tương lai
Thấy được những thực tiễn đó, kết hợp với những kiến thức đã thu nhận được trongthời gian vừa qua, nhóm chúng em mạnh dạnđã chọn và thực hiện nghiên cứu đề tài:
“Tìm hiểu về điện toán đám mây và xây dựng bộ công cụ văn phòng trực tuyến”
2 Mục đích và ý nghĩa
Mục tiêu của đề tài nhằm giải quyết các nhiệm vụ sau:
- Tìm hiểu được mô hình hoạt động của điện toán đám mây
- Nghiên cứu, so sánh một số nền tảng, giải pháp ảo hóa và đám mây phổ biếnhiện tại Từ đó rút ra một số kết luận và thử xây dựng một ứng dụng demo đơngiản chạy trên một nền tảng được chọn
- Xây dựng được một bộ công cụ văn phòng chạy trên nền web, cho phép nhiềungười cùng tham gia tương tác soạn thảo Sẵn sàng đưa lên đám mây
3 Các nhiệm vụ nghiên cứu và thực hiện
Để thực hiện được các mục đích trên, nhóm thực hiện đề tài giải quyết nhữngnhiệm vụ sau:
- Nghiên cứu và đưa ra được mô hình và nguyên tắc hoạt động của các đám mâyhiện tại
- Nghiên cứu, phân tích và tổng hợp về một số nền tảng cũng như giải pháp đóng
và mở hiện nay của các hãng công nghệ lớn và phổ biến về điện toán đám mây
và rút ra được kết luận
- Xây dựng được một ứng dụng demo đơn giản, chạy trên nền tảng mở và miễnphí để làm rõ được hoạt động của một ứng dụng đám mây
Trang 6- Nghiên cứu, xây dựng được một ứng dụng văn phòng thỏa mãn các yêu cầucho phép nhiều người cùng tương tác một lúc trên 1 văn bản và sẵn sàng đưalên đám mây để chạy.
Các chương tiếp theo của đề tài sẽ lần lượt giải quyết các nhiệm vụ cụ thể ở trên
Chương 2: Giới thiệu một cách tổng quát nhất về công nghệ điện toán đám mây, các
công nghệ ảo hóa, mô hình và nguyên tắc hoạt động của một đám mây điện toán.Đồng thời phân biệt mô hình Cloud với mô hình Client – Server thường gặp cũng nhưchỉ ra điểm khác biệt giữa điện toán đám mây và điện toán lưới (tính toán song song)
Chương 3: Nghiên cứu và đưa ra so sánh một số giải pháp và nền tảng đám mây phổ
biến hiện nay của Google, Amazone, Microsoft Từ các so sánh đó đưa ra một số kếtluận và xây dựng thử một ứng dụng demo chạy trên đám mây của Google để thấy rõnguyên tắc hoạt động của đám mây đó
Chương 4: Trình bày về xây dựng một ứng dụng văn phòng trên nền web cho phép
nhiều người cùng tương tác một lúc trên cùng một văn bản
Chương 5: Đánh giá và kết luận những kết quả đạt được cũng như đề ra những
phương hướng mở rộng và phát triển đề tài, những nhiệm vụ cần giải quyết tiếp theo
Trang 71 Khái niệm về điện toán đám mây
Nói về khái niệm ảo hóa (hay điện toán đám mây, tiếng Anh là Cloud Computing)hiện nay tồn tại rất nhiều định nghĩa
Theo Wikipedia: “Điện toán đám mây (cloud computing) là một mô hình điện toán
có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa đượccung cấp như một dịch vụ trên mạng Internet”
Theo Gartner (http://www.buildingthecloud.co.uk/) : “Một mô hình điện toán nơi
mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như mộtdịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet”
Theo Ian Foster: “Một mô hình điện toán phân tán có tính co giãn lớn mà hướngtheo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nềntảng (platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ đượcphân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”
Tuy có nhiều định nghĩa như vậy, nhưng tựu chung thì điện toán đám mây CloudComputing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụmột cách linh động theo nhu cầu của người dùng trên môi trường internet
Hình 1: Mọi thứ đều tập trung vào đám mây
2 Các tính chất của điện toán đám mây
Điện toán đám mây nói chung và các dịch vụ và giải pháp cũng như nền tảng chạytrên nền điện toán đám mây có các tính chất sau:
Trang 82.1 Tính tự phục vụ theo nhu cầu
Điện toán đám mây có thể được định nghĩa một cách đơn giản như là sự sử dụng
tài nguyên tính toán có khả năng thay đổi theo nhu cầu được cung cấp giống như mộtdịch vụ từ bên ngoài với chi phí phải trả cho mỗi lần sử dụng Bạn có thể truy cập đếnbất kỳ tài nguyên nào tồn tại trong "đám mây (cloud)" tại bất kỳ thời điểm nào và từbất kỳ đâu thông qua hệ thống Internet Bạn không phải quan tâm xem làm cách nàocác thứ đang được duy trì phía trong của đám mây
Đám mây được đánh giá cao và sẵn sàng đáp ứng cho các nhu cầu cần thiết củaứng dụng của bạn Điện toán đám mây cũng có thể được gọi là tính toán tiện ích hay
là tính toán lưới (grid computing)
Điện toán đám mây là mô hình dịch chuyển trong cách thức làm thế nào chúng tacung cấp kiến trúc và khả năng mở rộng của các ứng dụng Trong quá khứ, các công
ty thành công thường dành thời gian quý báu và nguồn lực xây dựng để xây dựng cơ
sở hạ tầng
2.2 Tính truy suất diện rộng
Như đã trình bày ở trên, người sử dụng các môi trường điện toán đám mây khôngcần thiết phải quan tâm đến nền tảng phía bên dưới Mọi thứ được xem như trong suốtvới người sử dụng và họ có thể truy cập vào mọi tài nguyên trên đám mây nếu đượcphép vào bất cứ lúc nào, bất cứ nơi đâu và trên bất cứ phương tiện nào cho phép
2.3 Khả năng dùng chung tài nguyên
Để hiểu rõ hơn về khả năng dùng chung tài nguyên trên đám mây ta quan sát hình
2, mô tảcấu trúc đơn giản của một đám mây.
Trong hình ta thấy, để xây dựng một cơ sở hạ tầng phục vụ cho một đám mây, nhàcung cấp dịch vụ sử dụng rất nhiều những thiết bị phần cứng khác nhau, nhưng tất cảđược sử dụng chung và thống nhất trên cơ sở của công nghệ ảo hóa (Virtualtechnology) để tạo ra một kiến trúc ảo hóa (Virtual Infrastructure) trên cơ sở đó xâydựng nên một đám mây cung cấp dịch vụ
Các kiến trúc phần cứng này là trong suốt đối với người sủ dụng và mọi dịch vụ,mọi nền tảng triển khai trên 1 đám mây đều sủ dụng chung nguồn tài nguyên này
Trang 9Hình 2: Mô hình một kiến trúc ảo hóa sử dụng để xây dựng một đám mây
2.4 Khả năng co dãn
- Trong hầu hết các trường hợp thì cách tiếp cận tài nguyên mạng theo kiểu cũ
(cấp “cứng” một băng thông và dung lượng sử dụng nhất định trên server) thì
sẽ phát sinh những vấn đề sau:
Để lại một lượng lớn các tài nguyên tính toán không được sử dụng làmtiêu tốn không gian trong các trung tâm dữ liệu lớn
Bắt buộc một ai đó phải trông giữ các máy chủ
Gắn liền với chi phí năng lượng
- Với điện toán đám mây, các máy tính dư thừa có thể được đưa vào sử dụng và
được sinh lời bằng cách bán cho khách hàng Sự chuyển đổi của việc tính toán
và cơ sở hạ tầng công nghệ thông tin vào một tiện ích, nó có tác dụng trong cáctrường hợp hoặc một số mức độ cho phép Điều đó mang ý nghĩa nỗ lực cạnhtranh dựa trên ý tưởng hơn là dựa trên các tài nguyên tính toán
- Các tài nguyên ứng dụng của bạn và các hệ thống công nghệ thông tin thì rất
cần thiết (để đáp ứng nhu cầu ngày càng lớn cho lưu trữ, cho tài nguyên tínhtoán, cho các hệ thống nhắn tin và cho các cơ sở dữ liệu) Bạn có thể trả chiphí hạ tầng cơ sở này cho nhà cung cấp nào mà cung cấp giá và dịch vụ tốt
Trang 10nhất Đó là một ý tưởng đơn giản nhưng cuộc cách mạng về tư duy không phải
là hoàn toàn mới Điều này bây giờ là đứng đầu trong các xu hướng công nghệhiện đại bởi vì môi trường điện toán đám mây được Amazon đưa ra đầu tiên
2.5 Khả năng điều tiết dịch vụ
Chính nhờ khả năng co giãn để cấp phát một cách hợp lý nguồn tài nguyên dùngchung ở trên mà cách dịch vụ cũng nhờ đó được điều tiết sử dụng tài nguyên một cáchchính xác và phù hợp
Lấy ví dụ một đám mây cung cấp 2 dịch vụ là A và B Tại một thời điểm, dịch vụ
A được nhiều người sử dụng hơn dịch vụ B Thì tại thời điểm đó đám mây sẽ tự độngđiều tiết để dịch vụ A được ưu tiên sử dụng nguồn tài nguyên dùng chung hơn so vớidịch vụ B nhằm cung cấp dịch vụ một cách ổn định, tránh tình trạng nghẽn xảy ra trêndịch vụ A và dư thừa tài nguyên trên dịch vụ B Điều này là hoàn toàn hợp lý vàthông minh
3 Các đặc điểm của điện toán đám mây
Điện toán đám mây có các đặc điểm sau:
Nhanh chóng cải thiện với người dùng có khả năng cung cấp sẵn các tài nguyên cơ
sở hạ tầng công nghệ một cách nhanh chóng và ít tốn kém
Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển sang hoạt động chitiêu Điều này làm giảm rào cản cho việc tiếp nhận, chẳng hạn như cơ sở hạ tầngđược cung cấp bởi đối tác thứ 3 và không cần phải mua để dùng cho các tác vụ tínhtoán thực hiện 1 lần hay chuyên sâu mà không thường xuyên Việc định giá dựa trên
cơ sở tính toán theo nhu cầu thì tốt đối với những tùy chọn dựa trên việc sử dụng vàcác kỹ năng IT được đòi hỏi tối thiểu (hay không được đòi hỏi) cho việc thực thi
Sự độc lập giữa thiết bị và vị trí làm cho người dùng có thể truy cập hệ thốngbằng cách sử dụng trình duyệt web mà không quan tâm đến vị trí của họ hay thiết bịnào mà họ đang dùng, ví dụ như PC, mobile Vì cơ sở hạ tầng off-site (được cung cấpbởi đối tác thứ 3) và được truy cập thông qua Internet, do đó người dùng có thể kếtnối từ bất kỳ nơi nào
Việc cho thuê nhiều để có thể chia sẻ tài nguyên và chi phí giữa một phạm vi lớnngười dùng, cho phép:
o Tập trung hóa cơ sở hạ tầng trong các lĩnh vực với chi phí thấp hơn (chẳng hạnnhư bất động sản, điện, v.v.)
o Khả năng chịu tải nâng cao (người dùng không cần kỹ sư cho các mức tải caonhất có thể)
Trang 11o Cải thiện việc sử dụng và hiệu quả cho các hệ thống mà thường chỉ 10-20%được sử dụng
Độ tin cậy cải thiện thông qua việc sử dụng các site có nhiều dư thừa, làm nóthích hợp cho tính liên tục trong kinh doanh và khôi phục thất bại Tuy nhiên, phầnlớn các dịch vụ của cloud computing có những lúc thiếu hụt và người giám đốc kinhdoanh, IT phải làm cho nó ít đi
Tính co giãn linh động (“theo nhu cầu”) cung cấp tài nguyên trên một cơ sở mịn,
tự bản thân dịch vụ và gần thời gian thực, không cần người dùng phải có kỹ sư chochịu tải
Hiệu suất hoạt động được quan sát và các kiến trúc nhất quán, kết nối lỏng lẽođược cấu trúc dùng web service như giao tiếp hệ thống
Việc bảo mật cải thiện nhờ vào tập trung hóa dữ liệu, các tài nguyên chú trọngbảo mật, v.v… nhưng cũng nâng cao mối quan tâm về việc mất quyền điều khiển dữliệu nhạy cảm Bảo mật thường thì tốt hay tốt hơn các hệ thống truyền thống, mộtphần bởi các nhà cung cấp có thể dành nhiều nguồn lực cho việc giải quyết các vấn đềbảo mật mà nhiều khách hàng không có đủ chi phí để thực hiện Các nhà cung cấp sẽghi nhớ (log) các truy cập, nhưng việc truy cập vào chính bản thân các audit log cóthể khó khăn hay không thể
4 Các vấn đề có thể được giải quyết bởi điện toán đám mây và ưu nhược điểm của điện toán đám mây
4.1 Các vấn đề có thể được giải quyết bởi điện toán đám mây
Cloud Computing ra đời để giải quyết các vấn đề sau:
Vấn đề về lưu trữ dữ liệu:
Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ Các công ty lớnnhư Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp nơi trênthế giới Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh nghiệp có thểlưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm
Vấn đề về sức mạnh tính toán: (các mục nằm lỡ cỡ như thế này nên bắt đầu ở trang mới)
Có 2 giải pháp chính:
o Sử dụng các siêu máy tính (super-computer) để xử lý tính toán
o Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới (gridcomputing)
Trang 12Vấn đề về cung cấp tài nguyên, phần mềm:
Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS (platform as aservice), SaaS (software as a service) Các phần tiếp theo sẽ đi sâu hơn về các dịch vụnày
Hình 3: Các dịch vụ có thể được cung cấp trên nền điện toán đám mây
4.2 Các ưu, nhược điểm của điện toán đám mây
Ưu điểm
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ànhphần mà mình không muốn (Thay vì phải bỏ ra hàng trăm USD cho 1 bộ Msoffice, ta có thể mua riêng lẻ từng phần hoặc chỉ trả 1 khoản phí rất nhỏ mỗikhi sử dụng 1 phần nào đó của nó)
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
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ần phải quan tâm đến giới hạn phần cứng cũng như địa lý
đá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í
Trang 13khá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
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ườidù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 đặttạ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)
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ủamình
Nhược điểm
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?
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ìnhtrong những khoảng thời gian nào đó khiến ảnh hưởng đến công việc?
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 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ụngdị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ệucủ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ácdị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
“đá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ũnglạ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ếmdụ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
Trang 145 Cấu trúc và các dịch vụ điện toán đám mây
5.1 Cấu trúc của một đám mây điện toán
Như đã đề cập ở trên, cấu trúc vật lý của điện toán đám mây (bao gồm các thiết bị,máy móc để chạy dịch vụ,…) được xem như trong suốt đối với người sử dụng vàngười thuê sử dụng dịch vụ
Tuy nhiên khi xét về mặt cấu trúc nền tảng thì một đám mây, dù ở loại nào hay dohãng nào cung cấp thì cũng đều có 1 cấu trúc chung gồm 4 lớp
Hình 4: Cấu trúc 4 lớp của điện toán đám mây
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ầnmềm)…
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ườidù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 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 ứngdụ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ênbả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”
Trang 15o 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ựacho lớp ứng dụng, cho phép các ứng dụng hoạt động trên nền tảng đó Nó giảmnhẹ 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
o 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ácserver, 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 PrivateServer)
o 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ácngười dùng và các nhu cầu ngày càng cao của họ
5.2 Các dịch vụ triển khai trên một đám mây điện toán
Dựa trên cấu trúc phân tầng ở trên, một đám mây điện toán có thể cung cấp đượccác dịch vụ tổng quát như trong sơ đồ dưới đây
Hình 5: Sơ đồ kiến trúc cung cấp dịch vụ của một đám mây điện toán
Trang 16Cloud computing cung cấp hạ tầng, nền tảng và phần mềm như là dich vụ, mà cóthể được cung ứng như là một dich vụ cho thuê trong cách dùng bao nhiêu trả bấynhiêu đối với người dùng
Cloud computing được hiện thực theo 3 kiểu:
Tên ban đầu được sử dụng là dịch vụ phần cứng (HaaS) và được tạo ra bởi một nhàkinh tế học Nichlas Car vào thang 3 năm 2006, nhưng điều này cần thiết Nhưng từnày đã dần bị thay thế bởi khái niệm dịch vụ hạ tầng vào khoảng cuối năm 2006
Những đặc trưng tiêu biểu:
Cung cấp tài nguyên như là dịch vụ: bao gồm cả máy chủ, thiết bị mạng,
bộ nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu
Khả năng mở rộng linh hoạt
Chi phí thay đổi tùy theo thực tế
Nhiều người thuê có thể cùng dùng chung trên một tài nguyên
Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tàinguyên tính toán tổng hợp
Các ví dụ: Amazon EC2/S3, Elastra (Beta 2.0 2/2009), Nirvanix, AppNexus
Cung cấp dịch vụ nền tảng (PaaS) bao gồm những điều kiện cho qui trình thiết kếứng dụng, phát triển, kiểm thử, triển khai và lưu trữ ứng dụng có giá trị như là dịch vụ
Trang 17ứng dụng như cộng tác nhón, săp xếp và tích hợp dịch vụ web, tích hợp cơ sở dữ liệu,bảo mật, khả năng mở rộng, quản lý trạng thái, phiên bản ứng dụng, các lợi ích chocộng đồng phát triển và nghiên cứu ứng dụng Những dịch vụ này được chuẩn bị như
là một giải pháp tính hợp trên nền web
Những đặc trưng tiêu biểu:
Phục vụ cho việc phát triển, kiêm thử, triển khai và vận hành ứng dụnggiống như là môi trường phát triển tích hợp
Các công cụ khởi tạo với giao diện trên nền web
Ưu điểm trong những dự án tập hợp những công việc nhóm có sự phân tán
về địa lý
Khả năng tích hợp nhiều nguồn của dich vụ web
Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mởrộng, kiểm soát lỗi…
Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo phục
vụ, giao diện người dùng và các yếu tố ứng dụng khác
Mong đợi ở người dùng có kiến thức có thể tiếp tục hoàn thiện và hỗ trợtương tác với nhiều người để giúp xác định mức đô khó khăn của vấn đề chúng
ta gặp phải
Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dànghơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉtrong nhóm lập trình mà có thể kết hợp nhiều nhóm cùng làm việc
Trang 18Software-as-a-Service (SaaS – Dịch vụ phần mềm):
Cung cấp dịch vụ phần mềm thực thi từ xa
Dịch vụ phần mềm (SaaS) là một mô hình triển khai ứng dụng mà ở đó người cungcấ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ị kháchhàng, vô hiệu hóa nó sau khi kết thúc thời hạn Các chức năng theo yêu cầu có thểđược kiểm soát bên trong để chia sẻ bản quyền của một nhà cung cấp ứng dụng thứ
ba
Hình 6: Mô hình Software as a Services
Những đặc trưng tiêu biểu
Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng
Quản lý các hoạt dộng từ một vị trí tập trung hơn là tại mỗi nơi của kháchhàng, cho phép khác hàng truy xuất từ xa thông qua web
Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đếnnhiều hơn là mô hình 1:1 bao gồm cả các đặc trưng kiến trúc, giá cả và quản lý
Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tảicác bản vá lỗi và cập nhật
Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng Các ví dụ: 3Tera (2/2006), Salesforce
Trang 19Hình 7: So sánh quy trình làm phát triển phần mềm truyền thống với phát triển dựa
Định giá theo đơn vị : được áp dụng phổ biến cho lượng
dữ liệu truyền tải, dụng lượng bộ nhớ được cấp phát và sử dụng,… cách nàyuyển chuyên hơn cách trên
Định giá theo thuê bao : ứng dụng phần lớn trong mô hình
dịch vụ phần mềm (SaaS) người dùng sẽ tiên đoán trước định mức sử dụng ứngdụng cloud (cách tình này thường khó đạt được độ chính xác cao)
Trang 206 Các mô hình triển khai cloud Computing
Hình 8: Các mô hình triển khai Cloud Computing6.1 Các đám mây công cộng (Public cloud)
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 tồn tạingoài tường lửa công ty và chúng được lưu trữ đầy đủ và được nhà cung cấp đám mâyquản lý
Các đám mây công cộng cố gắng cung cấp cho người tiêu dùng với các phần tửcông nghệ thông tin tốt nhất Cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ
sở hạ tầng vật lý, nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cungcấp và bảo trì Khách hàng chỉ chịu phí cho các tài nguyên nào mà họ sử dụng, vì thếcái chưa sử dụng được loại bỏ
Tất nhiên điều này liên quan đến chi phí Các dịch vụ này thường được cung cấpvới "quy ước về cấu hình," nghĩa là chúng được phân phối với ý tưởng cung cấp cáctrường hợp sử dụng phổ biến nhất Các tùy chọn cấu hình thường là một tập hợp connhỏ hơn so với những gì mà chúng đã có nếu nguồn tài nguyên đã được người tiêudùng kiểm soát trực tiếp Một điều khác cần lưu ý là kể từ khi người tiêu dùng cóquyền kiểm soát một chút trên cơ sở hạ tầng, các quy trình đòi hỏi an ninh chặt chẽ vàtuân thủ quy định dưới luật không phải lúc nào cũng thích hợp cho các đám mâychung
Một đám mây công cộng là sự lựa chọn rõ ràng khi:
Phân bố tải workload cho các ứng dụng được sử dụng bởi nhiều người,chẳng hạn như e-mail
Trang 21 Bạn cần phải thử nghiệm và phát triển các mã ứng dụng.
Bạn có các ứng dụng SaaS từ một nhà cung cấp có một chiến lược an ninhthực hiện tốt
Bạn cần gia tăng công suất (khả năng bổ sung năng lực cho máy tính caonhiều lần)
Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại chung Việc kiểm soát chitiết hơn trên các tài nguyên khác nhau đang tạo thành một đám mây mang lại cho
Trang 22công ty tất cả các tùy chọn cấu hình có sẵn Ngoài ra, các đám mây riêng là lý tưởngkhi các kiểu công việc đang được thực hiện không thiết thực cho một đám mây chung,
do đúng với các mối quan tâm về an ninh và về quản lý
Một đám mây riêng là sự lựa chọn rõ ràng khi
Việc kinh doanh của bạn gắn với dữ liệu và các ứng dụng của bạn Vì vậy,việc kiểm soát và bảo mật chiếm phần lớn công việc
Việc kinh doanh của bạn là một phần của một ngành công nghiệp phải phùhợp với an ninh nghiêm ngặt và các vấn đề bảo mật dữ liệu
Công ty của bạn là đủ lớn để chạy một dữ liệu trung tâm điện toán đám mây
có hiệu quả
Hình 10: Kiến trúc một đám mây riêng
Trang 23Hình 11: Mô hình một đám mây riêng6.3 Các đám mây lai (Hybrid cloud )
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àythường do doanh nghiệp tạo ra và các trách nhiệm quản lý sẽ được phân chia giữadoanh 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
Các đám mây lai là câu trả lời khi một công ty cần sử dụng các dịch vụ của cả haiđám mây riêng và công cộng Theo hướng này, một công ty có thể phác thảo các mụctiêu và nhu cầu của các dịch vụ và nhận được chúng từ đám mây công cộng hay riêng,khi thích hợp Một đám mây lai được xây dựng tốt có thể phục vụ các quy trình nhiệmvụ-tới hạn, an toàn, như nhận các khoản thanh toán của khách hàng, cũng như nhữngthứ là không quan trọng bằng kinh doanh, như xử lý bảng lương nhân viên
Hạn chế chính với đám mây này là sự khó khăn trong việc tạo ra và quản lý cóhiệu quả một giải pháp như vậy Phải có thể nhận được và cung cấp các dịch vụ lấy từcác nguồn khác nhau như thể chúng có nguồn gốc từ một chỗ và tương tác giữa cácthành phần riêng và chung có thể làm cho việc thực hiện thậm chí phức tạp hơn nhiều
Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám mây, nên cáchthực hành và các công cụ tốt nhất về loại này tiếp tục nổi lên và bất đắc dĩ chấp nhận
mô hình này cho đến khi hiểu rõ hơn
Trang 24Hình 12: Mô hình một đám mây lai
Dưới đây là một vài tình huống mà một môi trường hybrid là tốt nhất
Công ty của bạn muốn sử dụng một ứng dụng SaaS nhưng quan tâm về bảomật Nhà cung cấp SaaS có thể tạo ra một đám mây riêng chỉ cho công ty củabạn bên trong tường lửa của họ Họ cung cấp cho bạn một mạng riêng ảo(VPN) để bổ sung bảo mật
Công ty của bạn cung cấp dịch vụ được thay đổi cho thị trường khác nhau.Bạn có thể sử dụng một đám mây công cộng để tương tác với khách hàngnhưng giữ dữ liệu của họ được bảo đảm trong vòng một đám mây riêng
Các yêu cầu quản lý của điện toán đám mây trở nên phức tạp hơn nhiều khi bạn cần quản
lý dữ liệu cá nhân, công cộng, và truyền thống tất cả với nhau Bạn sẽ cần phải thêm các khảnăng cho phù hợp với các môi trường
6.4 Các đám mây cộng đồng (Community cloud)
Là các đám mây được chia sẻ bởi một số tổ chức và hỗ trợ một cộng đồng cụ thểcómối quan tâm chung (ví dụ: chung sứ mệnh, yêu cầu an ninh, chính sách ) Nó có thểđược quản lý bởi các tổ chức hoặc một bên thứ ba
Một đám mây cộng đồng có thể được thiết lập bởi một số tổ chức có yêu cầutương tự và tìm cách chia sẻ cơ sở hạ tầng để thực hiện một số lợi ích của điện toánđám mây
Trang 25Tùy chọn này là tốn kém hơn nhưng có thể đáp ứng về sự riêng tư, an ninh hoặctuân thủ các chính sách tốt hơn.
Server trong mô hình client/ server thường mang ý nghĩa là 1 hoặc 1 cụm máy chủtrung tâm chỉ làm nhiệm vụ thực hiện tính toán cho 1 số client cụ thể (trong 1 công tyhoặc 1 tổ chức nào đó); trong khi server trong Cloud computing lại mang 1 ý nghĩarộ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 này khôngphả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ử dụng các dịch
vụ đó
Trang 268 So sánh Cloud Computing với Grids Computing
Khi xem xét các định nghĩa về Clouds, Grids, Distributed Systems (DS), chúng ta
dễ dàng thấy rằng định nghĩa của Clouds có điểm trùng lấp với các định nghĩa củaGrids và DS Điều này không phải là một vấn đề đáng ngạc nhiên bởi vì Cloudskhông ra đời một cách riêng lẻ hay độc lập mà nó dựa trên nền tảng của các côngnghệ trước đó Hình 14 minh họa mối liên hệ giữa Clouds và các công nghệ khác:
Hình 14: Biểu đồ so sánh Cloud Computing với một số công nghệ khác
Xét riêng về 2 lĩnh vực là Cloud Computing và Grids Computing thì có nhiều khíacạnh để so sánh, nhưng tựu chung thì có 6 mô hình sau đây cho thấy sự khác nhau rõnét giữa cloud và grids computing
8.1 Mô hình thương mại (Business Model)
Mô hình thương mại truyền thống trong các phần mềm trước đây là các hình thứctính phí theo một máy tính Trong Clouds mô hình thanh toán phí linh hoạt hơn nhiều,người khách hàng chỉ cần trả theo nhu cầu sử dụng như các loại phí sinh hoạt hàngngày mà họ phải trả: điện, nước, gas v.v Ngoài ra Clouds còn hỗ trợ khả năng mở
Trang 27rộng hệ thống mang tính kinh tế, tức là người sử dụng có thể triển khai với hệ thốngngày một lớn hơn với chi phí phù hợp Các tiềm năng hiện của có là các trung tâm dữliệu lớn của các tập đoàn Amazon, IBM, Sun, Google v.v Người dùng trong tươnglai chỉ cần một thẻ tín dụng đã có thể truy cập theo nhu cầu đến hàng 100 000 bộ xử
lý ngang qua hàng chục trung tâm dữ liệu trải khắp thế giới
Mô hình thương mại của Grids là hướng đến các dự án nghiên cứu trong môitrường học thuật như các đại học, viện nghiên cứu, phòng thí nghiệm của chính phủ.TeraGrid làm một ví dụ điển hình cho hình thức thương mại của Grid, nó sử dụnghàng chục Grid khác nhau từ các viện nghiên cứu trong cùng một quốc gia Khi một
tổ chức nào đó gia nhập vào TeraGrid thì sẽ có thể truy cập đến các Girds khác vàđồng thời có thể sử dụng tài nguyên, kết quả thí nghiệm … trên hệ thống Grid này
Mô hình này đã được ứng dụng rộng rải nhiều nơi trên thế giới Có nhiều nỗ lực đểxây dựng một Grid kinh tế cho cở sở hạ tầng Grid toàn cầu, nó hỗ trợ thương mại,đàm phán, cung cấp dịch vụ theo nhu cầu sử dụng, khả năng rủi ro, chi phí và sởthích của người sử dụng Nếu như các cố gắng này mang đến kết quả khả quan thì
mô hình thương mại của Grids và Clouds thật khó phân biệt trong tương lai
8.2 Kiến trúc (Architecture)
Phần này trình bày mô hình kiến trúc của Grids và Clouds để làm nổi bật sự khácbiệt trong hướng tiếp cận của cả hai Trong khi Grids tập trung trên việc tích hợp cáctài nguyên sẵn có gồm cả phần cứng, hệ điều hành, cở sở hạ tầng an ninh của các hệthống thì Clouds hướng đến các cấp độ khác nhau của dịch vụ nhằm đáp ứng tối đanhu cầu người sử dụng như SaaS, IaaS, PaaS
Để hỗ trợ cho việc tạo ra các tổ chức ảo (Virtual Organizations) – một thực thểluận lý mà bên trong nó các tài nguyên phân bố có thể được khám phá và chia sẻ nhưthể trong cùng một tổ chức, Grids đã định nghĩa và cung cấp một tập các giao thứcchuẩn, phần mềm cơ sở (middleware), bộ công cụ và các dịch vụ được xây dựng trêntập giao thức này Khả năng hoạt động liên kết và tính an toàn là những vấn đề chínhđược quan tâm cho cơ sở hạ tầng Grids bởi vì các tài nguyên có thể đến từ các miềnquản trị khác nhau, có cả chính sách sử dụng tài nguyên cục bộ và toàn cục khácnhau, các nền và cấu hình phần cứng và phần mềm cũng khác nhau về khả năng sửdụng và tính sẵn sàng của chúng
Grids cung cấp các giao thức và dịch vụ ở 5 lớp khác nhau như được minh họa bởihình 15
Lớp connectivity định nghĩa các giao tiếp và chứng thực cốt lõi cho quá trình giaotác an toàn và dễ dàng qua mạng Lớp resource định nghĩa các giao thức công bố,khám phá, đàm phán, giám sát, kế toán và thanh toán chi phí cho các hoạt động trêncác tài nguyên riêng biệt Lớp collective nắm giữ sự tương tác ngang qua các tập tàinguyên, dịch vụ thư mục cho phép giám sát và khám phá ra các tài nguyên tổ chức
Trang 28ảo Cuối cùng là lớp application bao gồm các ứng dụng người dùng được xây dựngtrên đầu của các giao thức.
Hình 15: Kiến trúc Grids Computing
Clouds được phát triển để giải quyết những bài toán tính toán mở rộng quaInternet trong đó một số giả thiết là khác biệt so với Grids Clouds thường được xemnhư là một “hồ” tính toán và lưu trữ có thể được truy cập thông qua các giao thứcchuẩn và qua một giao tiếp trừu tượng Thật ra Clouds có thể được hiện thực trênnhưng công nghệ Grids đã tồn tại hàng thập niên nhưng hướng vào kiến trúc 4 lớpsau: Lớp Fabric gồm các tài nguyên phần cứng, lớp Unified Resource chứa các tàinguyên được trừu tượng hóa để có thể xuất hiện đồng nhất với người dùng, lớpPlatform thêm vào một tập các công cụ, phần mềm và dịch vụ trên lớp UnifiedResource, lớp Application là lớp chứa các ứng dụng chạy trên Clouds Hình 16 minhhọa một kiến trúc của Clouds
Trang 29Hình 16: Kiến trúc Cloud Computing8.3 Quản lý tài nguyên (Resource Management)
Quản lý tài nguyên là vấn đề quyết định khả năng hoạt động của hệ thống và đươngnhiên nó không thể thiếu trong các hệ thống lớn như Grids và Clouds Trong phầnnày, đề cập đến những thách thức chính mà cả Grids và Clouds phải đối mặt để thấyđược điểm tương đồng và khác biệt trong hai mô hình
Mô hình tính toán (Compute Model):
Hầu hết các Grids sử dụng mô hình tính toán bó (batch-scheduled compute model)cùng với một bộ quản lý tài nguyên cục bộ như PBS, SGE, Condor để quản lý tàinguyên tại các vị trí khác nhau Với phương thức quản lý này Grids không thể phục
vụ tốt cho các chương trình yêu cầu nhiều bộ xử lý và thực thi trong thời gian dài.Chẳng hạn trong trường hợp một chương trình cần 100 bộ xử lý và thực thi trong 60phút, nó phải đợi đến khi hệ thống có đủ 100 bộ xử lý và rảnh trong 60 phút Môhình tính toán trong Clouds hoàn toàn khác, các người dùng được sử dụng tài nguyênđồng thời mặc dù phải đảm bảo được chất lượng dịch vụ cho người sử dụng Đâycũng là một trong những thách thức của Clouds về khả năng mở rộng và khi sốlượng người dùng lớn
Mô hình dữ liệu (Data Model):
Mô hình dữ liệu có khuynh hướng trong tương lai là mô hình tương tác tam giácnhư chỉ ra trong hình 17
Trang 30Hình 17: Mô hình dữ liệu
Tính toán Internet sẽ xoay quanh mô hình dữ liệu ở trên do các nguyên nhân khách quan
từ thực tiễn Người khách hàng không muốn đưa các dữ liệu nhạy cảm hoặc tối quan trọnglên xử lý và lưu trữ trên Clouds Đồng thời, người dùng cũng muốn truy cập đến dữ liệuriêng tư của họ ngay khi các giao tiếp mạng chậm hay hư hỏng Ngoài ra, công nghệ đa nhân(multicore - technology) cũng mang đến cho người dùng nhiều hệ thống con mạnh mẽ trongtương lai
Đối với Grids, thì mô hình tính toán tập trung vào dữ liệu đa được quan tâm từ sớm,chẳng hạn như Data Grid đã được thiết kế dành riêng cho các ứng dụng tập trung lớn trên dữliệu Do đó, Grids không cần thiết đưa ra định hướng phát triển mô hình dữ liệu như Cloudsthay vào đó nó đã có mô hình chuyên biệt để sử dụng
Tính cục bộ của dữ liệu (Data Locality):
Một thách thức chính trong vấn đề mở rộng ứng dụng một cách hiệu quả là vị trí
dữ liệu liên quan đối với các tài nguyên đã sẵn sàng Việc di dời dữ liệu ở xa về các
bộ xử lý một cách liên tục là một hạn chế rõ rệt, hơn nữa quá trình nhập xuất (I/O) dữliệu từ xa có khác biệt lớn với I/O trên dữ liệu cục bộ và ảnh hưởng trực tiếp đến hiệusuất của hệ thống Đây là một định hướng được Clouds quan tâm giải quyết Quá trình
xử lý dữ liệu là kết hợp dữ liệu liên quan và tiến trình (process) xử lý nó trong cùngmột nút (node), do đó vấn đề “data locality” sẽ được giải quyết một cách hiệu quả Vềphía Grids, dữ liệu được lưu trữ dựa trên các hệ thống file chia sẻ như NFS, GPFS,PVFS v.v Nơi mà tính “data locality” không dễ dàng áp dụng, đây cũng là một điểmyếu của Grids so với Clouds
Kết hợp tính toán và quản lý dữ liệu(Combining compute and data management):
Tính cục bộ của dữ liệu chỉ hiệu quả khi mà số lượng người dùng và qui mô chưathực sự lớn Khi hệ thống ngày càng mở rộng thì vấn đề kết hợp tính toán và quản lý
dữ liệu trở thành yếu tố quan trọng cho việc cải thiện hiệu suất Đó là bài toán địnhthời công việc (job) gần với dữ liệu mà nó sử dụng trong suốt quá trình thực thi tránhtối đa hoạt động di dời dữ liệu qua mạng Girds đã có các mô hình tập trung cho các
Trang 31ứng dụng dữ liệu khổng lồ còn Clouds thì sẽ phải đối mặt với vấn đề này trong tươnglai
Ảo hóa (Virtualization):
Đây là công nghệ được khai thác mạnh mẽ trong hầu hết các Clouds Không giốngnhư mô hình tính toán của Grids, Clouds đòi hỏi chạy nhiều ứng dụng người dùng vàtất cả các ứng dụng này phải được thực hiện một cách đồng thời đối với người sửdụng Bên cạnh đó mỗi người dùng có cảm giác như là họ đại sở hữu toàn bộ tàinguyên sẵn có Công nghệ ảo hóa cung cấp mức trừu tượng thiết yếu cho việc hợpnhất tài nguyên nhằm đạt được mục tiêu này Đồng thời ảo hóa còn cho phép mỗiứng dụng có thể được đóng gói (encapsulate) để có thể cấu hình, triển khai, bắt đầu,
di chuyển, tạm dừng, tiếp tục, dừng hẳn, v.v và vì vậy cung cấp tính độc lập, khảnăng quản lý, bảo mật tốt hơn Grids không dựa vào công nghệ ảo hóa nhiều nhưClouds, nhưng để đảm bảo được tính riêng tư cho các tổ chức ảo trên tài nguyên thìcông nghệ ảo hóa cũng được sử dụng trong lưới chẳng hạn như Nimbus
Giám sát (Monitoring):
Một thách thức khác mà công nghệ ảo hóa mang lại cho Clouds đó là việc giám sáttài nguyên Vấn đề giám sát tài nguyên trên Clouds chưa được tổ chức trực tiếp nhưGrids Grids đề ra các mô hình tin cậy khác nhau để người dùng được ủy quyền có thểtruy cập các tài nguyên khác nhau trên các Grid khác nhau và quá tình duyệt tàinguyên này được đảm bảo an toàn Hơn nữa, Grids không có độ trừu tượng cao và tậndụng ảo hóa như Clouds, ví dụ công cụ giám sát Ganglia có thể theo dõi các cluster vàGrids phân tán một cách khá hiệu quả và được chấp nhận rộng rải trong cộng đồngGrids Khả năng giảm sát tài nguyên của Clouds gặp nhiều thách thức do mục tiêu đề
ra của nó về việc cân bằng quá trình giám sát các ứng dụng thương mại, quản lý máychủ xí nghiệp, giám sát máy ảo, bảo trì phần cứng v.v Do đó trong tương lai gầnClouds sẽ hướng đến việc cung cấp khả năng tự bào trì, cấu hình và quản lý về phíangười dùng
Nguồn gốc dữ liệu(Provenance):
Đây là quá trình hướng dẫn về nguồn gốc, lai lịch của các sản phẩm dữ liệu baogồm tất cả các dữ liệu nguồn, sản phẩm dữ liệu trung gian, và các thủ tục được ứngdụng vào trong sản phẩm dữ liệu Thông tin này là cần thiết để hiểu, khám phá, hợp
lệ và chia sẻ các sản phẩm dữ liệu cũng như các ứng dụng, chương trình dẫn xuất từ
nó Trong Grids “provenance” đã được triển khai thành các hệ thống workflow vàđược sử dụng hiệu quả Ngược lại, Clouds còn chưa khai thác lĩnh vực này và cónhiều thách thức trong việc theo vết dữ liệu ngang qua các nhà cung cấp dịch vụ khácnhau, ngang qua các phần mềm khác nhau và các lớp phần cứng trừu tượng thuộc mộtnhà cung cấp
Trang 328.4 Mô hình lập trình (Programming Model)
Mặc dù mô hình lập trình trong môi trường Grids không có các khác biệt về cơ bản
so với các môi trường lập trình song song và phân bố truyền thống Nó có một số vấn
đề phức tạp như nhiều miền quản trị, tài nguyên bất đồng bộ, hiệu suất và tính ổnđịnh, điểu khiển ngoại lệ trong môi trường có tính linh động cao v.v Mục đích chínhcủa Grids là các ứng dụng khoa học đòi hỏi khả năng mở rộng cao, mở rộng đến khốilượng tài nguyên lớn và thực thi vừa nhanh vừa hiệu quả, do dó các chương trình cầnphải hoàn tất một cách chính xác nên phải xem xét đến độ tin cậy và khả năng khánglỗi trong môi trường Grids
Ngoài các môi trường lập trình truyền thống như MPI, Globus Toolkit, còn có mộtmột mô hình lập trình được quan tâm gần đây là MapReduce MapReduce thật ra chỉ
là một mô hình lập trình song song khác nhằm vào các hệ thống với khối lượng dữliệu lớn Nó được xây dựng dựa trên hai từ khóa chính là “map” và “reduce” mượn từngôn ngữ tự nhiên Chức năng “map” là cung cấp thao tác cụ thể lên một tập dữ liệu
và sinh ra một tập dữ liệu mới Thao tác “reduce” ngược lại sẽ thu gom các dữ liệulại Một hiện thực mã mở của mô hình này là Hadoop và đang được quan tâm trongClouds
Clouds về khái quát chấp nhận các Web Services APIs, nơi mà người dùng cấuhình và lập trình dịch vụ Cloud dựa trên các API được trình bày trong Web Services.Các giao thức HTTP và SOAP là những giao thức chuẩn được chọn trong các dịch vụnày Mặc dù Clouds chấp nhận một số giao thức tổng quát như HTTP và SOAP, khảnăng tích hợp và liên kết giữa các dịch vụ lẫn ứng dụng vẫn là một thách thức lớn khingười sử dụng làm việc với các nhà cung cấp Clouds
khác nhau
8.5 Mô hình ứng dụng (Application Model)
Grids một cách tổng quát hỗ trợ nhiều loại ứng dụng khác nhau và hỗ trợ tốt chocác ứng dụng hiệu suất cao (high performance computing - HPC) HPC là các ứngdụng song song chạy trên một hệ thống cục bộ không phải qua internet Mặt khácClouds Computing cũng hỗ trợ các loại ứng dụng tương tự Grids nhưng không đạtđược tính hiệu quả đối với các ứng dụng HPC Bởi vì Clouds còn trong quá trình sơkhai, nó còn nhiều vấn đề cần giải quyết
8.6 Mô hình bảo mật (Security Model)
Clouds hầu như bao gồm các trung tâm dữ liệu (data center) chuyên dụng thuộc
về cùng một tổ chức, nó mang tính đồng nhất khác biệt hoàn toàn với môi trườngGrids Mô hình bảo mật của Clouds hiện tại đơn giản và ít an toàn hơn các mô hìnhsẵn có của Grids Tiêu biểu là Clouds dựa trên Web tạo ra tài khoản người dùng, chophép họ đặt lại mật khẩu và nhận mật khẩu mới thông qua email trong một môi trườngkhông mã hóa và không an toàn Chú ý rằng, người dùng có thể dễ dàng sử dụng
Trang 33Clouds ngay lập tức với chỉ một thẻ tín dụng hay địa chỉ email Ngược lại hoàn toàn,Grids hạn chế hơn về tính bảo mật Chẳng hạn, mặc dù thông qua Web để tạo tàikhoản người dùng, thông tin nhạy cảm về tài khoản, mật khẩu được yêu cầu giao tiếpgiữa người với người để xác nhận rõ ràng người dùng được ủy quyền
Tính bảo mật là một vấn đề quan trọng được quan tâm trong Cloud Computing Có
7 điểm chính mà một người dùng Clouds cần chú ý khi quyết định sử dụng:
1 Truy cập bởi người dùng có quyền hạn: Việc dữ liệu nhạy cảm được xử lýbên ngoài xí nghiệp cần đảm bảo rằng nó chỉ truy cập và lan truyền bởingười sử dụng có đặc quyền
2 Đồng thuận về điều chỉnh : Người khách hàng cần phải biết được nhà cungcấp Clouds có thực hiện các thao tác ngoài luồng trên dữ liệu của họ haykhông
3 Vị trí dữ liệu: Do người dùng không biết nơi lưu trữ dữ liệu của họ, nhàcung cấp Clouds phải đảm bảo lưu trữ và xử lý dữ liệu đúng theo thỏa thuậnpháp lý ban đầu và phải tuân thủ yêu cầu về tính riêng tư của người kháchhàng
4 Sự tách biệt về dữ liệu: Dữ liệu giữa các người sử dụng khác nhau phải đượclưu trữ riêng biệt
5 Khôi phục: Nhà cung cấp Clouds phải có cơ chế nhân bản và khôi phục dữliệu trong trường hợp có hỏng hóc xảy ra
6 Hỗ trợ kiểm tra: Các dịch vụ Clouds rất khó kiểm tra, nếu như điều đó làquan trọng với khách hàng thì nhà cung cấp dịch vụ cũng phải có có chế hỗtrợ
7 Tính lâu dài: Dữ liệu trên Clouds phải tồn tại lâu dài bền vững ngay khi nhàcung cấp Clouds bị thu mua bởi một tập đoàn khác