Các công tyđiện thoại có thể cung cấp những dịch vụ dựa trên VPN với cùng một băng thông đảmbảo như những mạch vòng cố định ở một giá thành thấp bởi vì chúng duy trì khả năngchuyển mạch
Trang 1Trong quá trình tìm hiểu nghiên cứu để hoàn thành bài thu hoạch, tôi gặp không
ít khó khăn, nhưng những lúc như vậy, tôi luôn nhận được sự động viên, khích lệ
của thầy giáo, PGS.TS Nguyễn Phi Khứ Thầy đã giúp đỡ tôi rất nhiều trong quá
trình nghiên cứu, hướng dẫn tận tình trong cách thức và phương pháp nghiên cứu
khoa học cũng như hỗ trợ tôi trong việc tìm tài liệu.
Để có được những kết quả trong bài thu hoạch này, tôi xin gửi lời cảm ơn sâu sắc
đến thầy giáo, PGS.TS Nguyễn Phi Khứ trường Đại học Công Nghệ Thông Tin
ĐH Quốc Gia Hồ Chí Minh.
Cuối cùng tôi xin cảm ơn đồng nghiệp, gia đình và các bạn của tôi những
người đã luôn bên cạnh, động viên và khích lệ tôi để có được kết quả như ngày hôm nay.
Hà Nội, tháng 7 năm 2013
Học viên
Lê Xuân Tùng
Trang 2LỜI MỞ ĐẦU 1
CHƯƠNG 1: ĐIỆN TOÁN ĐÁM MÂY 2
1.1 Lịch sử Điện toán đám mây 2
1.2 Mô hình Điện toán đám mây 3
1.3 Phân tích, so sánh với các mô hình điện toán khác 5
1.3.1 Điện toán lưới (grid computing) 5
1.3.2 Phần mềm hoạt động như dịch vụ (SaaS – Software as a Service) 6
1.3.3 Điện toán theo yêu cầu (Utility Computing) 7
1.4 Kiến trúc tổng thể 10
1.4.1 Mô hình kiến trúc tổng quát: 10
1.4.2 Các thành phần của điện toán đám mây 11
1.4.3 Các tầng kiến trúc của điện toán đám mây 13
1.5 Các loại hình Điện toán đám mây 15
1.6 Các tác nhân tham gia điện toán đám mây 15
1.7 Xu hướng phát triển Điện toán đám mây 16
CHƯƠNG 2: CÔNG NGHỆ OPENNEBULA 19
2.1 Tổng quan về OpenNebula 19
2.2 Thành phần cơ bản của đám mây nguồn mở 22
2.3 Cấu trúc đám mây nguồn mở OpenNebula 25
CHƯƠNG 3: THỰC NGHIỆM 27
3.1 Mô hình cài đặt 27
3.2 Cấu hình và cài đặt 28
3.2.1 Cấu hình Host01 28
3.2.2 Cấu hình Host02 và Host03 29
Trang 33.3 Xây dựng đám mây dùng riêng 33
3.3.1 Thêm host vào đám mây 33
3.3.2 Thêm mạng ảo (virtual network) vào đám mây 34
3.3.3 Thêm VM vào đám mây 35
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 38
TÀI LIỆU THAM KHẢO 39
Trang 4Hình 1.01 Mô hình chung Điện toán đám mây 3
Hình 1.02 Mô hình Điện toán lưới 5
Hình 1.03 Các thành phần chính của Điện toán đám mây 12
Hình 1.04 Các dịch vụ Điện toán đám mây 14
Hình 1.05 Một số nhà cung cấp Điện toán đám mây 17
Hình 2.01 Lịch sử phát triển OpenNebula 19
Hình 2.02 Nền tảng OpenNebula 20
Hình 2.03 Các thành phần OpenNebula 22
Hình 2.04 Thành phần cơ bản của đám mây nguồn mở 23
Hình 2.05 Cấu trúc đám mây nguồn mở OpenNebula 25
Hình 3.01 Mô hình cài đặt OpenNebula 27
Hình 3.02 Kiểm tra dịch vụ OpenNebula 32
Hình 3.03 Cấu trúc thư mục OpenNebula sau khi cài đặt 32
Hình 3.04 Thêm host vào đám mây 33
Hình 3.05 Thông tin chi tiết về Host02 (1) 34
Hình 3.06 Thông tin chi tiết về Host02 (2) 34
Hình 3.07 Thêm mạng ảo vào đám mây 35
Hình 3.08 Thông tin chi tiết về mạng ảo 35
Hình 3.09 Thêm VM vào đám mây 36
Hình 3.10 Thông tin chi tiết về VM(1) 37
Hình 3.11 Thông tin chi tiết về VM(2) 37
Trang 5STT Ký hiệu/chữ viết tắt Diễn giải
3 API Application Program Interface: giao diện lập trình ứng
dụng
Trang 6STT Thuật ngữ Diễn giải
Trang 7LỜI MỞ ĐẦ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ủariê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 ưutiê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ư chiphí 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átviệc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu
Thuật ngữ “Điện toán đám mây” ra đời bắt nguồn từ một trong những hoàn cảnhnhư vậy Thuật ngữ “Điện toán đám mây” còn được bắt nguồn từ ý tưởng đưa tất cả mọithứ như dữ liệu, phần mềm, … lên 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ònmộ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í cholượ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 cho các công ty, doanh nghiệpvừ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.Điện toán đám mây IaaS là bước tiếp theo trong sự phát triển của các trung tâm dữliệu Việc xác định một kích thước phù hợp cho tất cả các đám mây là không thể, và cũngkhông thể cung cấp một giải pháp áp đặt các yêu cầu về cơ sở hạ tầng cho trung tâm dữliệu Công nghệ OpenNebula là một chuẩn công nghiệp mã nguồn mở có khả năng tươngtác làm cho đám mây tiến hóa bằng cách tận dụng cơ sở hạ tầng CNTT sẵn có, bảo vệ đầu
tư cho khách hang, và tránh cung cấp khóa OpenNebula được tạo ra nhằm cung cấp mộtlớp quản lý cởi mở, linh hoạt và toàn diện để tự động hóa và phối hợp các hoạt động ảohóa của trung tâm dữ liệu bằng cách tận dụng và tích hợp các giải pháp cho mạng, kholưu trữ, máy giám sát, ảo hóa, quản trị người dùng
Vì vậy, em đã chọn đề tài “Tìm hiểu về công nghệ điện toán đám mây ứng dụng với công
cụ mã nguồn mở OpenNebula” với hi vọng nắm bắt được công nghệ này, để có thể xây dựng được những đám mây
Trang 8CHƯƠNG 1: ĐIỆN TOÁN ĐÁM MÂY
1.1 Lịch sử Điện toán đám mây
Thành ngữ đám mây được sử dụng như một ẩn dụ cho Internet, để mô tả Internettrong những lược đồ mạng máy tính, và là một sự ảo hóa cho kiến trúc phức tạp mà nóche dấu
Đám mây là một thuật ngữ mượn từ ngành điện thoại Trước những năm 90 cácmạch vòng dữ liệu được nối cứng giữa các điểm Trong những năm 90 những công tyđiện thoại đường dài bắt đầu cung cấp dịch vụ VPN cho truyền thông dữ liệu Các công tyđiện thoại có thể cung cấp những dịch vụ dựa trên VPN với cùng một băng thông đảmbảo như những mạch vòng cố định ở một giá thành thấp bởi vì chúng duy trì khả năngchuyển mạch để cân bằng việc sử dụng khi chúng thấy đã đủ, do đó sử dụng băng thôngmột cách hiệu quả hơn Kết quả là không thể xác định chính xác đường đi của dữ liệu.Thành ngữ đám mây telecom được sử dụng để mô tả kiểu mạng này Điện toán đám mâycũng tương tự như vậy Điện toán đám mây nhận dựa chủ yếu trên những máy ảo đượctạo ra để đáp ứng những yêu cầu của người dùng
Các thể hiện ảo được tạo ra theo yêu cầu, do đó không thể xác định có bao nhiêumáy ảo sẽ chạy ở một thời điểm Khi những máy ảo có thể được tạo ra trên bất cứ máytính nào như yêu cầu, chúng hình thành một mạng mây Một sự thể hiện thông thườngtrong biểu đồ mạng là một đường viền đám mây
Lịch sử khái niệm quay lại những năm 1960 khi John McCarthy phát biểu rằng “sựtính toán một ngày nào đó được tổ chức như một tiện ích công cộng”; thực chất nó chia sẻnhững đặc tính với các công ty dịch vụ Thuật ngữ đám mây đã đến từ việc sử dụngthương mại đầu những năm 1990 để tham chiếu đến những mạng ATM lớn Đến thế kỷ
21, thuật ngữ điện toán đám mây đã bắt đầu xuất hiện, hầu hết sự tập trung ở thời điểmnày là vào phần mềm như một dịch vụ (SaaS)
Vào những năm 1999, Salesforce.com được thành lập bởi Marc Benioff, ParkerHarris và các đồng nghiệp Họ áp dụng nhiều kỹ thuật của những web site khách hàng khálớn như Google và Yahoo đối với những ứng dụng thương mại Họ cũng cung cấp kháiniệm “Theo yêu cầu” và “Phần mềm như một dịch vụ” (SaaS – Software as a Service) vớiviệc kinh doanh của họ và những khách hàng thành công Chìa khóa cho SaaS là khả năng
Trang 9tự cấu hình của khách hàng hay với một sự trợ giúp nhỏ Những người dùng kinh doanh
đã đón nhận một cách nồng nhiệt dich vụ này
Amazon.com đóng vai trò chính trong sự phát triển của điện toán đám mây bằngviệc hiện đại hóa trung tâm dữ liệu của họ và thấy rằng kiến trúc đám mây mới đạt đượcnhững sự cải tiến hiệu quả bên trong, cung cấp tiếp cận tới các hệ thông bằng cách củacác dịch vụ web Amazon trong năm 2005 dựa trên một cơ sở tính toán tiện ích
1.2 Mô hình Điện toán đám mây
Ngày nay Điện toán đám mây đang trở thành chủ đề được bàn luận sôi nổi Điệntoán đám mây đã thu hút rất nhiều sự quan tâm từ phía các nhà nghiên cứu, những ngườiphát triển và người sử dụng Trong phần này chúng ta sẽ đi sâu tìm hiểu mô hình điệntoán đám mây đang được ứng dụng hiện nay
Hình 1.01 Mô hình chung Điện toán đám mây
Điện toán đám mây là sự phát triển mạnh mẽ trên Internet và sử dụng kỹ thuật máytính Đây là một kiểu tính toán trong đó các tài nguyên ảo và có thể mở rộng được cung
Trang 10cấp như một dịch vụ trên Internet Người dùng không cần hiểu sâu về kiến trúc kỹ thuậttrong đám mây cung cấp cho họ.
Khái niệm điện toán đám mây kết hợp chặt chẽ kiến trúc như một dịch vụ (IaaS),nền tảng như một dịch vụ (PaaS) và phần mềm như một dịch vụ (SaaS) cũng như Web2.0
và những kỹ thuật khác hướng tới những lĩnh vực cơ bản của sự tin tưởng dựa trênInternet để thỏa mãn những sự cần thiết tính toán của người dùng Các ví dụ bao gồmSaleforece.com và Google Apps cung cấp những ứng dụng thương mại online thôngthường có thể tiếp cận từ một web browser, trong khi phần mềm và dữ liệu được để trêncác server
Lợi ích của điện toán đám mây:
- Khi khách hàng không làm chủ kiến trúc, họ đơn giản chỉ tiếp cận hay thuê, và do
đó có thể tránh các chi phí mua sắm và sử dụng các tài nguyên như một dịch vụ, trả tiềncho những gì họ sử dụng
- Chia sẻ sức mạnh tính toán giữa các thành phần có thể cải tiến tốc độ tối ưu choứng dụng
- Điều này đặc biệt quan trọng với những nơi mà sự quản lý yếu kém đối với những
hệ thống lớn, đối với những ứng dụng tải trọng lớn
- Tiếp cận ngay lập tức tới sự phân phối rộng lớn, dễ dàng mở rộng hay thu hẹpphạm vi sử dụng
- Những người dùng có thể kết thúc hợp đồng ở bất kỳ thời điểm nào (do đó tránhrủi ro lãi suất và tình trạng không chắc chắn) và những dịch vụ thường được kèm theo bởinhững thỏa thuận mức độ dịch vụ với hình phạt về kinh tế
- Sự độc lập thiết bị và vị trí: cho phép người dùng tiếp cận hệ thống sử dụng mộttrình duyệt không quan tâm vị trí của nó hay thiết bị nào nó sử dụng Khi hạ tầng ở vị tríkhác (đặc biệt được cung cấp bởi bên thứ 3) và tiếp cận thông qua Internet người dùng cóthể tiếp cận bất cứ khi nào
Nhược điểm: khả năng bảo mật và an toàn dữ liệu là một vấn đề nổi lên đối vớiđiện toán đám mây Lỗi lo về việc bị chiếm quyền điều khiển ứng dụng và việc xâm phạm
dữ liệu riêng tư để trên đám mây luôn là rào cản đối với điện toán đám mây
Trang 111.3 Phân tích, so sánh với các mô hình điện toán khác
Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện điện lưới (gridcomputing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing)
và phần mềm dịch vụ (SaaS)
1.3.1 Điện toán lưới (grid computing)
Điện toán mạng lưới hoặc điện toán lưới (grid computing) là một loại hệ thống phântán, bố trí song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập hợp các nguồn tàinguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chiphí và yêu cầu về chất lượng dịch vụ của người sử dụng
Hình 1.02 Mô hình Điện toán lưới
Điện toán lưới có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ vàthiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” thành một cỗ máy tính lớn Vìđiện toán lưới giải phóng những khả năng tính toán không được sử dụng vào một thờiđiểm bất kỳ, chúng có thể cho phép các doanh nghiệp tăng cường rất nhiều về tốc độ, sứcmạnh xử lý thông tin và sự liên kết, thúc đẩy các quy trình tính toán mật độ cao Trong
Trang 12khi đó, chi phí vẫn sẽ được giữ ở mức thấp vì tính toán lưới có thể được xây dựng từchính hạ tầng hiện có, góp phần đảm bảo sự huy động tối ưu các khả năng tính toán.Điện toán lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như cácnguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn đồngnhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vào các tính năng điệntoán rộng lớn Giống như người lướt web xem một nội dung thống nhất qua web, người
sử dụng tính toán lưới cũng nhìn thấy một máy tính ảo cực lớn duy nhất
Giả dụ, khi một người có chiếc máy tính cá nhân tham gia đóng góp sức mạnh xử lýtrong một mạng lưới tính toán muốn chạy một ứng dụng đòi hỏi thêm sức mạnh xử lý thìcông việc đang được giải quyết trên chiếc máy đó sẽ được tự động tái phân bổ tới mộtmáy khác trong lưới đang rảnh rỗi và không bị trưng dụng sức mạnh tính toán vào côngviệc nào
So với khái niệm bó (cluster) và điện toán phân tán khác, tính toán lưới có điểmchung là đem gộp các sức mạnh tính toán lại thành một nhưng khác ở chỗ là nó không cần
có sự giới hạn về không gian địa lý hay sự đồng nhất về hệ điều hành Khác biệt cơ bảngiữa khái niệm cluster và grid chủ yếu nằm ở phương thức quản lý các nguồn tài nguyên.Đối với cluster, việc phân bổ tài nguyên được thực hiện bởi một đối tượng quản lý tàinguyên trung tâm và tất cả các nút mạng hoạt động phối hợp với nhau như một nguồn đơnthống nhất Đối với điện toán lưới, mỗi nút có đối tượng quản lý tài nguyên riêng và cácnguồn tài nguyên độc lập trong lưới có thể trải rộng khắp một hoặc nhiều tổ chức
Tóm lại, điện toán lưới đặt trọng tâm vào việc chuyển tải một khối công việc đến địađiểm của các tài nguyên điện toán cần thiết để sử dụng và thực hiện tính toán Một lưới làmột nhóm máy chủ mà trên đó nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạysong song, thực hiện đồng thời, được xem là một máy chủ ảo Đó là một dạng của điệntoán phân tán trong đó tồn tại một ‘siêu máy tính ảo’, là sự bao gồm một cụm mạng máytính, những máy tính liên kết mềm, hoạt động phối hợp để thực thi những tác vụ cực lớn
1.3.2 Phần mềm hoạt động như dịch vụ (SaaS – Software as a Service)
Phần mềm hoạt động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hìnhtriển khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phầnmềm như là các dịch vụ theo yêu cầu cho khách hàng Theo dịnh nghĩa của hãng nghiên
Trang 13cứu toàn cầu IDC là: “Phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp vàcho phép người sử dụng truy cập từ xa”.
SaaS có các đặc tính sau:
- Truy cập và quản lý phần mềm thương mại dựa trên mạng (network-based)
- Các hoạt động được quản lý từ trung tâm thay cho mỗi vị trí của khách hàng, chophép khách hàng truy cập vào các ứng dụng từ xa thông qua web
- Việc phân phối phần mềm ứng dụng được thực hiện theo mô hình một-nhiều (mộtđối tượng-nhiều người thuê) khác với mô hình một-một, kể cả kiến trúc, giá cả, bạn hàng,
và sự quản lý
- Các nhà cung cấp SaaS xác định chi phí của phần mềm dựa theo yêu cầu người sửdụng (per-user basis), trường hợp số người sử dụng chỉ đạt con số cực tiểu thì thường phảicộng thêm phí tổn cho băng thông và không gian lưu trữ dữ liệu
- Cộng đồng người sử dụng luôn có được những tính năng, chức năng mới nhất củacác phần mềm dịch vụ được cung cấp Đây là một đặc điểm nổi bật và rất quan trọng vìgiúp cho những người phát triển có thể thu hút được sự quan tâm chú ý của người dùng
- Cộng đồng người sử dụng luôn được đáp ứng với những sản phẩm tốt nhất trongthực tế với giá thành hạ thấp nhất có thể Giá thành của việc phân phối sản phẩm luôn ởmức thấp do không có những chi phí khác khi phân phối
1.3.3 Điện toán theo yêu cầu (Utility Computing)
Điện toán theo yêu cầu đặt trọng tâm vào mô hình nghiệp vụ và dựa vào đó để cungcấp các dịch vụ tính toán Nói một cách đơn giản, dịch vụ tính toán là những gì mà người
sử dụng nhận được các tài nguyên tính toán từ các nhà cung cấp dịch vụ (bao gồm phầncứng và phần mềm) và thanh toán cho những phần đã dùng (pay by the drink), giống nhưviệc sử dụng dịch vụ điện dân dụng trong các gia đình
Tất cả các tài nguyên tính toán được cung cấp cho khách hàng đều dưới dạng cácdịch vụ theo yêu cầu, bao gồm phần cứng (HaaS – Hardware as a Service), cơ sở hạ tầng(IaaS – Infrastructure as a service) và nền tảng (PaaS – Platform as a Service) tất cả đềuđược cung cấp như là các dịch vụ
Trang 14Điện toán theo yêu cầu đem lại lợi ích về mặt kinh tế khi chi phí được giảm bớt Cáctrung tâm tích hợp dữ liệu thường sử dụng không hết công suất, nhiều tài nguyên, nhưmáy chủ thường chỉ dùng 85% thời gian vận hành Điện toán theo yêu cầu cho phép cáccông ty chỉ phải trả cho những tài nguyên tính toán thực mà họ sử dụng.
Điện toán theo yêu cầu có những ưu điểm:
- Quản trị đơn giản: Giảm thiểu được thời gian sử dụng các tài nguyên và giảmđược độ phức tạp trong quản trị hệ thống Điện toán theo yêu cầu cần những tài nguyêntính toán ở phạm vi rộng, được chuẩn hóa, đa dạng và không phụ thuộc nhiều vào phầncứng và phần mềm khi thực hiện công việc
- Khả năng tính toán phù hợp với nhu cầu nghiệp vụ: các nhà quản trị quản lý được
sự tăng trưởng về nhu cầu tính toán cũng như các tài nguyên xử lý nghiệp vụ, tránh đượcthời gian chết của các tài nguyên (downtime) và hiện tượng bị trễ do thay đổi các nhu cầu
- Chi phí thấp: chi phí cho cơ sở hạ tầng tính toán đáp ứng các yêu cầu thay đổinghiệp vụ là thấp, mặc dù yêu cầu nghiệp vụ tăng
Dịch vụ web (web services)
Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữliệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thểlàm việc thông qua các trình duyệt Bản thân các dịch vụ này sẽ chạy trên các máy phục
vụ trên nền Internet chứ không phải là các máy tính cá nhân, do đó có thể chuyển cácchức năng từ máy tính cá nhân lên Internet
Người sử dụng phần mềm yêu cầu các dịch vụ (Service Requester) thông qua SOAP(Simple Object Access Protocol) và chuyển các yêu cầu đó cho bộ phận môi giới ServiceBroker thông qua WSDL (Web Service Description Language)
Người sử dụng có thể làm việc với các dịch vụ thông qua bất kỳ loại máy nào có hỗtrợ dịch vụ web và có truy cập Internet, kể cả các thiết bị cầm tay Do đó các dịch vụ web
sẽ làm Internet biến đổi thành một nơi làm việc chứ không phải là một phương tiện đểxem và tải nội dung về theo yêu cầu Điều này cho phép đưa các ứng dụng và dữ liệu từmáy tính cá nhân tới các máy phục vụ của một nhà cung cấp dịch vụ web Các máy phục
vụ này cũng cần trở thành nguồn cung cấp cho người sử dụng cả về độ an toàn, tính cánhân và khả năng truy cập
Trang 15 Các máy phục vụ ứng dụng sẽ là một phần quan trọng của các dịch vụ web bởithông thường thì các máy phục vụ này thực hiện các hoạt động ứng dụng phức tạp dựatrên sự chuyển giao giữa người sử dụng và các chương trình kinh doanh hoặc các cơ sở
dữ liệu của một tổ chức nào đó
Một số chuyên gia trong ngành cho rằng dịch vụ web không thực sự là một kháiniệm mới và phản ánh một phần không nhỏ khái niệm mạng máy tính vốn có đã trở nênquen thuộc trong nhiều năm qua Dịch vụ web chủ yếu dựa trên một lời gọi thủ tục từ xakhông chặt chẽ để có thể thay thế các lời gọi thủ tục từ xa chặt chẽ, đòi hỏi các kết nốiAPI phù hợp đang phổ biến hiện nay Dịch vụ web sử dụng XML chứ không phải C hayC++ để gọi các quy trình
Tuy nhiên, các chuyên gia khác lại cho rằng dịch vụ web là một dạng API dựatrên phần mềm trung gian, có sử dụng XML để tạo phần giao diện trên nền Java2 (IEEE)hay các server ứng dụng NET Giống như các phần mềm trung gian, dịch vụ web sẽ kếtnối server ứng dụng với các chương trình của khách hàng
Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở
dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng cóthể làm việc thông qua các trình duyệt mạng
Bản thân các dịch vụ này sẽ chạy trên các máy chủ trên nền Internet chứ khôngphải là các máy tính cá nhân, do vậy có thể chuyển các chức năng từ máy tính cá nhânlên Internet Người sử dụng có thể làm việc với các dịch vụ thông qua bất kỳ loại máy nào
có hỗ trợ dịch vụ web và có kết nối Internet, kể cả các thiết bị cầm tay Do đó các dịch vụweb sẽ làm Internet biến đổi thành một nơi làm việc chứ không phải là một phương tiện
để xem và tải nội dung
Nền tảng như một dịch vụ (PaaS – Plastform as a Service)
Đây cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của Điện toánđám mây, mang đến môi trường phát triển như một dịch vụ: người sử dụng xây dựng ứngdụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người sử dụng thông quamáy chủ của nhà cung cấp đó Người sử dụng sẽ không hoàn toàn được tự do bị ràng buộc
về mặt thiết kế và công nghệ Một số ví dụ điển hình về PaaS là Force.com củaSalesforce.com, Google App Engine, Yahoo Pipes
Trang 16Cung cấp dịch vụ quản lý (MSP – Managed Service Provider)
MSP là hình thức tính toán theo kiểu điện toán đám mây lâu đời nhất – là ứng dụngchủ yếu dành cho giới chuyên môn hơn là người sử dụng cuối, chẳng hạn dịch vụ quétvirus cho e-mail hay chương trình quản lý desktop Một số nhà cung cấp nổi tiếng làSecure Works, IBM, Verizon hay Everdream
1.4 Kiến trúc tổng thể
Kiến trúc đám mây, kiến trúc hệ thống của những hệ thống phần mềm bao gồm sựphân phối của điện toán đám mây, gồm phần cứng và phần mềm thiết kế bởi một kiếntrúc sư làm việc ho một nơi tích hợp đám mây Nó bao gồm nhiều thành phần đám mâykết nối với nhau thông qua các giao diện lập trình ứng dụng, thông thường là các webservice
Nó gần giống với triết lý Unix bao gồm nhiều chương trình làm một công việc cùngnhau và kết nối với nhau thông qua các giao diện chung Kiến trúc đám mây mở rộng tớimáy khách, nơi những trình duyệt và/hoặc ứng dụng phầnmềm tiếp cận các ứng dụng đámmây
Kiến trúc lưu trữ đám mây không chặt chẽ, nơi mà các hoạt động siêu dữ liệu đượctập trung cho phép các node dữ liệu mở rộng thành hàng trăm, mỗi cái phân phối dữ liệuđộc lập tới các ứng dụng hoặc người dùng
1.4.1 Mô hình kiến trúc tổng quát
Phần lớn hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của nhữngdịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu được xây dựng trênnhững máy chủ với những cấp độ khác nhau của các công nghệ ảo hóa Những dịch vụnày có thể được truy cập từ bất kỳ đâu trên thế giới, trong đó có đám mây là một điểmtruy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng Các dịch vụ thươngmại cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách hàng và thông thường đều đưa
ra các mức thỏa thuẩn dịch vụ (Service level agreement) Các tiêu chuẩn mở và phầnmềm mã nguồn mở cũng góp phần phát triển điện toán đám mây
Tất cả các tài nguyên tính toán (phần cứng, phần mềm) được tổ chức thành danhmục các dịch vụ (service catalog) Các dịch vụ này được cung cấp lên mạng Internet ở cácserver trong các đám mây thông qua các công cụ cung cấp dịch vụ Các dịch vụ tương tác
Trang 17với người sử dụng thông qua các phần giao diện tương tác người sử dụng và được theodõi bởi hệ thống giám sát.
Theo kiến trúc của điện toán đám mây, có thể xử lý theo lô nhiều công việc theotruyền thống được tải xuống kết hợp với điện toán lưới
- Lưu trữ đám mây (cloud storage): Mô hình lưu trữ dữ liệu trên mạng và các máytính, trong đó dữ liệu được lưu trữ ở nhiều server ảo
- Được đưa lên bởi các bên thứ ba
- Các hãng Hosting thao tác các trung tâm CSDL lớn
- Các dịch vụ đám mây: các dịch vụ web được cung cấp thông qua điện toán đámmây
1.4.2 Các thành phần của điện toán đám mây
Điện toán đám mây là cách thức chuyển đổi các chương trình ứng dụng diện rộngtheo kiến trúc và phân phối các dịch vụ Trong nhiều thập kỷ qua, các hãng CNTT đã tậphợp nhiều công sức, thời gian và các tài nguyên để xây dựng cơ sở hạ tầng và cung cấpchúng để dành thế cạnh tranh Phần lớn các trường hợp theo cách tiếp cận đó dẫn đến kếtquả:
- Những vùng lớn các khả năng tính toán không được sử dụng hết công suất
- Trong nhiều trường hợp phải tận dụng những máy tính không đủ mạnh để làm cácmáy chủ, trong khi rất nhiều máy chủ lại không được sử dụng hết công suất
- Chi phí cho các ứng dụng giải quyết các bài toán đặt ra trong thực tế là rất cao,tốn kém (toàn bộ chi phí là của chủ nhân)
- Với điện toán đám mây, những khả năng tính toán vượt trội được cung cấp chokhách hàng đúng theo yêu cầu với một chi phí thấp nhất có thể
Điện toán đám mây được phát triển để khắc phục những nhược điểm trên Điện toánđám mây gồm 6 thành phần chính liên quan với nhau:
Trang 18Hình 1.03 Các thành phần chính của Điện toán đám mây
- Infrastructure: cơ sở hạ tầng của điện toán đám mây là phần cứng được cung cấpnhư là các dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng Các tài nguyênphần cứng được cung cấp theo các thời gian cụ thể theo yêu cầu Dịch vụ kiểu này giúpcho việc giảm chi phí bảo hành, chi phí sử dụng…
- Storage: lưu trữ đám mây (cloud storage) là khái niệm tách dữ liệu khỏi quá trình
xử lý và chúng được lưu trữ ở những vị trí từ xa Lưu trữ đám mây cũng bao gồm cả cácdịch vụ CSDL, ví dụ như BigTable của Google, SimpletDB của Amazon…
- Platform: là dịch vụ cho việc phát triển phần mềm ứng dụng và quản lý các yêucầu phần cứng, nhu cầu phần mềm Ví dụ nền dịch vụ như Khung ứng web (webapplication frameworks), web hosting, …
- Application: ứng dụng đám mây là một đề xuất về kiến trúc phần mềm sẵn sàngphục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành và duy trì ứngdụng tại máy bàn/thiết bị (desktop/device) của người sử dụng Ứng dụng đám mây loại bỏđược các chi phí/tài nguyên để bảo trì và vận hành các chươn trình ứng dụng
- Services: dịch vụ đám mây là một phần độc lập của phần mềm có thể kết hợp vớicác dịch vụ khác để thực hiện tương tác, kết hợp giữa các máy tính với nhau để thực thi
Trang 19chương trình ứng dụng theo yêu cầu trên mạng Ví dụ các dịch vụ hiện nay như: SimpleQueue Service, Google maps, các dịch vụ thanh toán linh hoạt trên mạng của Amazon.
- Client: khách hàng đám mây là những yêu cầu phần mềm hoặc phần cứng để tậndụng các dịch vụ điện toán đám mây trên mạng Thiết bị cung cấp cho khách hàng có thể
là trình duyệt web, máy để bàn, máy xách tay hoặc điện thoại di động
1.4.3 Các tầng kiến trúc của điện toán đám mây
Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc:
- Các server thực (Physical Servers)
Trang 20Hình 1.04 Các dịch vụ Điện toán đám mây
Software as a service (SaaS): tương tự như dịch vụ theo yêu cầu Một phần mềm
có thể thực hiện trên nền đám mây và làm dịch vụ cho nhiều người sử dụng đầu cuối,nhiều khách hàng (các tổ chức) khác nhau Ví dụ, salesforce.com là SaaS điển hình, ngoài
ra phải kể đến Google Apps dịch vụ thư điện tử, xử lý văn bản, … hay force.com lànhững dịch vụ có thể được xem là nền dịch vụ
Platform as a service (PaaS): nền dịch vụ đóng gói tầng kiến trúc phần mềm vàcung cấp nó như là một dịch vụ để xây dựng những dịch vụ ở mức cao hơn Ở đây, PaaSphụ thuộc vào người cung cấp dịch vụ và người sử dụng dịch vụ Có thể thực hiện cácdịch vụ PaaS phụ thuộc vào các phương tiện dịch vụ của người sản xuất hoặc khách hàng:
Một số người có thể tạo ra môi trường tích hợp hệ điều hành OS, các phần mềmtrung gian, phần mềm ứng dụng, hoặc phát triển những môi trường cung cấp cho kháchhàng phát triển phần mềm giống như một dịch vụ Ví dụ NetBeansTM Web stack hỗ trợcho các ngôn ngữ lập trình giống như Perl hoặc Ruby
Một số người có thể sử dụng PaaS như là các dịch vụ đóng gói thông qua mộtAPI Dịch vụ thương mại của PaaS phải kể đên như Google Apps Engine, cung cấp cácứng dụng trên nền cơ sở hạ tầng của Google’s infrastructure
Trang 21 Infrastructure as a service (IaaS): cung cấp các khả năng lưu trữ cơ sở và tính toánnhư là các dịch vụ chuẩn Servers, các hệ thống lưu trữ (storage systems), switch, routers,
và nhiều hệ thống phụ trợ khác giúp cho việc xử lý tải công việc từ các thành phần ứngdụng tới các ứng dụng tính toán hiệu năng cao Dịch vụ thương mại của loại dịch vụ này
có thể kể ra là Joyent, sản phẩm chính là dòng các máy chủ ảo sẵn sàng dịch vụ theo yêucầu
1.5 Các loại hình Điện toán đám mây
Đám mây công cộng: đám mây công cộng mô tả điện toán đám mây theo cảm nhậntruyền thống, trong đó các tài nguyên được cung cấp tự động, cơ sở tự phục vụ trênInternet, thông qua các ứng dụng web, Web service, từ một nhà cung cấp thứ 3 khác, chia
sẻ các tài nguyên và tính phí dựa trên tính toán tiện ích
Đám mây dùng riêng: đám mây dùng riêng là những từ mới mà nhà sản xuất đang
sử dụng để mô tả sự cung cấp mà cạnh tranh điện toán đám mây trên mạng dành riêng.Những sản phẩm này đòi hỏi phân phối một số lợi ích của điện toán đám mây mà không
có những lỗ hổng, lợi dụng tính bảo mật dữ liệu, quản lý phối hợp, và mối quan tâm có cơ
sở Chúng đã được phê phán dựa trên cơ sở rằng những người dùng “vẫn phải mua, xâydựng, và quản lý chúng” và theo nghĩa thông thường không thể đạt được lợi ích từ vốn tưbản trả trước thấp và sự quản lý ít phải dùng tay, mà về bản chất mô hình kinh tế tạo chođiện toán đám mây như một khái niệm hấp dẫn
Đám mây lai (hybrid cloud): đám mây lai là sự giao thoa của hai hay nhiều mô hìnhđám mây, như kết hợp giữa đám mây công cộng và đám mây dùng riêng nghĩa là kết hợpgiữa các dịch vụ đám mây được cung cấp cho mọi người sử dụng rộng rãi và cơ sở hạtầng, các dịch vụ được xây dựng để phục vụ cho một tổ chức, doanh nghiệp duy nhất Môitrường đám mây lai bao gồm nhiều nhà cung cấp bên trong/bên ngoài sẽ trở thành điểnhình cho hầu hết các doanh nghiệp
1.6 Các tác nhân tham gia điện toán đám mây
Nhà cung cấp dịch vụ (provider): một nhà cung cấp điện toán đám mây hay nhàcung cấp dịch vụ điện toán đám mây làm chủ và điều chỉnh hoạt động những hệ thốngđiện toán đám mây đang tồn tại để phân phối dịch vụ tới các hãng thứ ba Thông thườngđiều này đòi hỏi các tài nguyên quan trọng và tính toán chuyên gia trong xây dựng vàquản lý các trung tâm dữ liệu trong thế hệ tiếp theo Rào cản đối với đầu vào khá cao với
Trang 22chi phí xây dựng yêu cầu và việc tính phí cộng với sự quản lý tạo một số phức tạp Tuynhiên, hiệu năng hoạt động quan trọng và lợi thế tính sẵn sàng có thể được nhận ra, thậmchí bởi những tổ chức nhỏ Amazon.com là nhà cung cấp đầu tiên như thế, hiện đại hóacác trung tâm dữ liệu, giống như hầu hết các mạng máy tính, đang sử dụng chỉ khoảng10% khả năng chứa đựng ở một thời điểm bất kỳ Điều này cho phép những nhóm nhỏ cónhiều thay đổi thêm những đặc trưng mới nhanh hơn và dễ dàng hơn, và họ tiếp tục mởrộng thêm ra như các dịch vụ web của Amazon năm 2002 dựa trên cơ sở tính toán tiệních.
Người dùng (User): một người dùng là một người sử dụng của điện toán đám mây.Tính riêng tư của những người dùng trong điện toán đám mây đã và đang trở thành mốiquan tâm lớn Quyền của những người dùng cũng là một vấn đề đang được tập trungthông qua một nỗ lực cộng đồng để tạo một bản dự thảo về quyền
Đại lý cung cấp (vendor): một số nhà sản xuất bán hay đưa sản phẩm và các dịch v ụlàm tăng tính thuận lợi của sự phân phối, sự chấp nhận và sử dụng của điện toán đámmây Các dịch vụ có thể là cung cấp phần cứng (thiết bị lưu trữ, hạ tầng), phần mềm hay
hệ điều hành
1.7 Xu hướng phát triển Điện toán đám mây
Thuật ngữ “Điện toán đám mây” ra đời từ giữa năm 2007, cho đến nay đã khôngngừng phát triển mạnh mẽ và được hiện thực bởi nhiều công ty lớn trên thế giới như IBM,Sun, Amazon, Google, Microsoft, Yahoo, SalesForce, …
Với mục tiêu giải quyết các bài toán về dữ liệu, tính toán, dịch vụ, … cho kháchhàng, cloud computing đã và đang mang lại lợi nhuận lớn, đem đến một sân chơi, một thịtrường rộng lớn cho các nhà cung cấp dịch vụ, nên sự phát triển nhanh chóng của nó cóthể được tính bằng từng ngày Trong khi đó, thuật ngữ ban đầu của “grid computing”không mang tính kinh tế, lợi nhuận cao nên sự phát triển của nó đang ngày càng giảm sút,
và chỉ đang được áp dụng vào lĩnh vực nghiên cứu khoa học
"Điện toán đám mây là xu thế hiện đại Xu hướng này được cả thế giới đón nhận vàđang chuyển dần về dịch vụ này nhằm tồn tại, bắt kịp và phát triển bền vững Các doanhnghiệp phần mềm, hòa nhịp với xu hướng toàn cầu hóa, cần đầu tư và chuyển đổi theo xuthế hiện đại, phát triển dịch vụ điện toán đám mây", chuyên gia Lữ Thành Long nhận địnhtại sự kiện Tech.Days 2011 được Microsoft tổ chức tại Hà Nội và TP HCM cuối tháng