Điện toán đám mây có thể được xem như một phần mở rộng trong ứng dụng và cơ sở hạ tầng vật lý của các ứng dụng Kiến trúc hướng Dịch vụ trước đây.. Những hạn chế này như là không có giao
Trang 2LỜI CAM ĐOAN
Tôi – Tô Đình Hiếu, học viên lớp Cao học Xử lý Thông tin và Truyền thông Khóa 2008 Trường Đại học Bách Khoa Hà Nội – cam kết Luận văn tốt nghiệp là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Vũ Thị Hương Giang, Viện CNTT-TT, Trường Đại học Bách Khoa Hà Nội
Các kết quả nêu trong Luận văn tốt nghiệp là trung thực, không sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày 28 tháng 03 năm 2011
Lớp: Cao Học XLTT-TT 2008
Trang 3Tôi xin chân thành cảm ơn tập thể các thầy, cô giáo trường Đại học Bách Khoa Hà Nội nói chung và Viện Công Nghệ Thông Tin và Truyền Thông nói riêng
đã tận tình giảng dạy truyền đạt cho tôi những kiến thức, kinh nghiệm quý báu trong suốt những năm học vừa qua
Cuối cùng, tôi xin chân thành cảm ơn gia đình, người thân đã hết lòng giúp
đỡ hỗ trợ về vật chất lẫn tinh thần giúp tôi yên tâm học tập và nghiên cứu trong suốt quá trình học tập và thực hiện luận văn
Trang 4Mục lục
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
DANH MỤC NHỮNG TỪ VIẾT TẮT 7
DANH MỤC BẢNG 8
DANH MỤC HÌNH 9
MỞ ĐẦU 10
TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ ĐIỆN CHƯƠNG 1 TOÁN ĐÁM MÂY 13
1.1 Kiến trúc hướng dịch vụ (SOA) 13
1.1.1 Dịch vụ 13
1.1.1.1 Định nghĩa 13
1.1.1.2 Các đặc điểm chính của dịch vụ 15
1.1.2 Các thành phần tham gia trong kiến trúc hướng dịch vụ 15
1.2 Điện toán đám mây (Cloud Computing) 17
1.2.1 Định nghĩa 18
1.2.2 Mô hình tổng quan 19
1.2.3 Các tính năng chính của Điện toán Đám mây 21
1.2.4 Các thành phần hợp thành đám mây 23
1.2.5 Các nhóm dịch vụ điện toán đám mây 25
1.2.5.1 Dịch vụ hạ tầng (Infrastructure-as-a-Service -IaaS) 25
1.2.5.2 Dịch vụ nền tảng (Platform-as-a-Service - PaaS) 26
1.2.5.3 Dịch vụ phần mềm (Software-as-a-Service - SaaS) 28
1.2.6 Các kiểu triển khai đám mây 30
1.2.6.1 Đám mây công cộng (Public cloud) 33
1.2.6.2 Đám mây cộng đồng (Community cloud) 33
1.2.6.3 Đám mây lai (Hybrid cloud) 34
1.2.6.4 Đám mây riêng (Private cloud) 35
Trang 51.3 Khả năng ứng dụng Kiến trúc Hướng Dịch vụ trong Điện toán Đám mây
36
1.3.1 Lợi ích khi sử dụng kiến trúc hướng dịch vụ 37
1.3.2 Những đặc điểm ở đám mây mà kiến trúc hướng dịch vụ chưa có 38
1.3.3 Những đặc điểm của kiến trúc hướng dịch vụ nên được phát triển ở điện toán đám mây 38
1.3.4 Những giá trị mà điện toán đám mây đem lại 40
1.3.5 Nhận dạng ứng dụng có thể phát triển thành ứng dụng đám mây 41
1.3.6 Nhận dạng ứng dụng không thích hợp phát triển trên đám mây 42
1.4 Tính khả thi của việc phát triển dịch vụ Quản lý Tệp Phân tán DFM 43 1.5 Kết luận 44
PHÁC THẢO QUY TRÌNH XÂY DỰNG ỨNG DỤNG ĐIỆN CHƯƠNG 2 TOÁN ĐÁM MÂY 45
2.1 Phân tích yêu cầu cụ thể 45
2.1.1 Bài toán 45
2.1.2 Yêu cầu 45
2.2 Hướng tiếp cận 47
2.3 Quy trình xây dựng phần mềm DFM 48
2.3.1 Lựa chọn dịch vụ 49
2.3.2 Biểu đồ phân cấp 50
2.3.3 Giao diện 51
2.3.4 Cơ sở dữ liệu quản trị 53
2.3.5 Các chức năng xây dựng trên cơ sở các chức năng có sẵn của DFS 53 2.3.5.1 Add Root 53
2.3.5.2 Remove Root 56
2.3.5.3 Add Link 57
2.3.5.4 Remove Link Target 57
2.3.5.5 Delete Link 58
2.3.5.6 Enable Link target 59
Trang 62.3.5.7 Disable Link target 60
2.3.6 Các chức năng nâng cao của DFM 60
2.3.6.1 Shutdown Server 60
2.3.6.2 Start DFS 61
2.3.6.3 Stop DFS 61
2.3.6.4 Server Session 62
2.3.6.5 View Root 63
2.3.6.6 View Link 65
2.3.6.7 View Link Target 66
2.3.6.8 Giải thuật điều khiển thông minh 68
2.4 Kết luận 72
TRIỂN KHAI THỰC TẾ DỊCH VỤ DFM TRONG MẠNG NỘI CHƯƠNG 3 BỘ ĐÀI PT-TH HÀ NỘI 73
3.1 Hiện trạng hệ thống mạng HANOITV 73
3.1.1 Cơ sở hạ tầng 73
3.1.2 Cấu trúc DFS 74
3.2 Triển khai dịch vụ DFM trên mạng nội bộ HANOITV 75
3.2.1 Cài đặt 75
3.2.2 Địa chỉ truy cập 76
3.2.3 Giao diện 77
3.2.4 Thử nghiệm 78
3.2.4.1 Bài toán thử nghiệm 78
3.2.4.2 Thực hiện 78
3.2.5 Nhận xét 80
3.2.5.1 Nhược điểm còn tồn tại 80
3.2.5.2 Phương án giải quyết 80
3.2.6 Kết luận 81
KẾT LUẬN VÀ KIẾN NGHỊ 82
TÀI LIỆU THAM KHẢO 84
Trang 7PHỤ LỤC 1 HỆ THỐNG TỆP PHÂN TÁN (DFS) 85
DFS root 85
DFS link 86
PHỤ LỤC 2 MÃ NGUỒN CHƯƠNG TRÌNH 88
Mã nguồn của cmd.php 88
Mã nguồn của executer.php 92
Mã nguồn của index.php 97
Mã nguồn file modlink.exe 100
Trang 8DANH MỤC NHỮNG TỪ VIẾT TẮT
Trang 9DANH MỤC BẢNG
Bảng 2-1 Bảng Users chứa tài khoản quản trị trong DFM 53Bảng 3-1 Tổng số máy chủ cần dùng trong mạng HANOITV 76
Trang 10DANH MỤC HÌNH
Hình 1-1 Mô hình chi tiết của Kiến trúc hướng Dịch vụ 14
Hình 1-2 Các thành phần tham gia Kiến trúc hướng Dịch vụ 16
Hình 1-3 Mọi thứ đều tập trung vào đám mây 19
Hình 1-4 Mô hình tổng quan của điện toán đám mây 20
Hình 1-5 Minh họa về các tầng trong đám mây 23
Hình 1-6 Giải phẫu đám mây 25
Hình 1-7 Một số nhà cung cấp dịch vụ điện toán đám mây 31
Hình 1-8 Xu hướng phát triển trong điện toán 32
Hình 1-9 Các kiểu đám mây 32
Hình 1-10 Kiến trúc hướng Dịch vụ và Điện toán đám mây tạo ra một giá trị lớn khi chúng làm việc cùng nhau 37
Hình 2-1 Các thành phần trong DFM 48
Hình 2-2 Quy trình phát triển dịch vụ đám mây 49
Hình 2-3 Biểu đồ phân cấp DFM 51
Hình 2-4 Giao diện đăng nhập của DFM 51
Hình 2-5 Giao diện quản trị của DFM 52
Hình 3-1 Cấu trúc DFS trong mạng HANOITV 74
Hình 3-2 Giao diện đăng nhập DFM 77
Hình 3-3 Giao diện quản trị DFM 77
Hình 3-4 Giao diện DFM khi tạo root 79
Hình 3-5 Giao diện DFM khi tạo Link 79
Hình PL1-1 Mô tả cấu trúc DFS 85
Trang 11Điện toán đám mây được xây dựng như những dịch vụ mà doanh nghiệp có thể sử dụng chúng như là cơ sở hạ tầng và ứng dụng Kiến trúc hướng dịch vụ (SOA), một kiến trúc mà Điện toán đám mây hay sử dụng nhất, đã đóng một vai trò
để cho phép điện toán đám mây trở thành những gì như hôm nay và nó cũng đang đóng một vai trò quan trọng trong sự tiến triển của điện toán đám mây Điện toán đám mây có thể được xem như một phần mở rộng trong ứng dụng và cơ sở hạ tầng vật lý của các ứng dụng Kiến trúc hướng Dịch vụ trước đây
Có một vấn đề ở các doanh nghiệp, mà ở đây thực tế đối với tác giả là trong Đài PT-TH Hà Nội, đó là vẫn chưa thể quyết định có nên sử dụng các dịch vụ đám mây hay không và tận dụng như thế nào cho các ứng dụng đang có Làm thế nào để chúng tôi chuyển đổi các chức năng và các phần mềm hiện có lên các đám mây điện toán là một bài toán cần có lời giải Phần mềm của Đài PT-TH Hà Nội phải được xây dựng như thế nào, chúng phải có kiến trúc gì thì mới nên tiến hành chuyển đổi chúng lên các đám mây, hay là dùng hẳn một ứng dụng điện toán đám mây khác để phục vụ cho cùng mục đích
Hiện trong mạng nội bộ của Đài PT-TH Hà Nội, trong số các dịch vụ mà chúng tôi hay sử dụng nhất, có dịch vụ chia sẽ tệp tin, chúng tôi xây dựng hệ thống
chia sẻ tệp tin phân tán dựa trên dịch vụ DFS (Distributed File System), dịch vụ này
đang hoạt động rất tốt khi đem lại khả năng sẵn sàng cao, khả năng đồng bộ dữ liệu, khả năng phục hồi liên tục, địa chỉ truy cập là duy nhất, có khả năng cân bằng tải Tuy nhiên qua quá trình sử dụng vẫn còn những hạn chế nhất định khiến chúng tôi băn khoăn trong việc có nên phát triển nâng cấp nó hay xây dựng hẳn mới một dịch
Trang 12vụ khác để giải quyết các hạn chế này Những hạn chế này như là không có giao diện web nên không tích hợp được vào trang web nội bộ, không nâng cấp được dung lượng thư mục lưu trữ, không tính toán tối ưu dựa trên lượng truy cập, cần đến khả năng quản trị IT để vận hành khắc phục sự cố cũng như theo dõi quá trình hoạt động của dịch vụ…
Như vậy việc nghiên cứu về điện toán đám mây, về kiến trúc của nó dựa trên kiến trúc nào trước đây, về các đặc điểm của điện toán đám mây, để từ đó đưa ra các nhận định nhằm giúp doanh nghiệp xác định các ứng dụng của họ có thích hợp
để phát triển lên đám mây hay không và khi phát triển như vậy họ sẽ có được những lợi ích gì Việc nghiên cứu này ngoài ra còn giúp cho các nhà phát triển dịch vụ định hướng phát triển ứng dụng của họ để tận dụng những ưu thế của điện toán đám mây
Trong đề tài này tác giả sẽ thử xây dựng nâng cấp dịch vụ chia sẻ tệp tin (DFS) hiện có thành một phần mềm ứng dụng theo hướng đám mây, gọi là phần
mềm quản lý tệp tin phân tán (DFM - Distributed File Management), phần mềm
này có được ngoài những khả năng của dịch vụ DFS, còn có thể khắc phục được các hạn chế nêu trên và đồng thời có thêm những ưu điểm khác nữa càng tốt DFM sẽ được phát triển theo hướng dịch vụ đám mây và có kiến trúc hướng dịch vụ
Như vậy việc làm rõ Kiến trúc hướng Dịch vụ và Điện toán Đám mây, việc nhận dạng ứng dụng và chỉ ra kiến trúc tốt nhất mà ứng dụng nên phát triển theo là
có ý nghĩa thực tiễn và cần thiết, đó là tiền đề cho việc chuyển đổi nâng cấp đúng hướng cho các ứng dụng hướng đến đám mây Đó chính là lý do tôi chọn đề tài
“Ứng dụng kiến trúc hướng dịch vụ trong tính toán đám mây để xây dựng dịch
vụ Quản lý Tệp Phân tán” Mục tiêu của đề tài này là:
1) Tìm hiểu về Kiến trúc hướng Dịch vụ, điện toán đám mây
2) Phân tích, đánh giá và tìm ra những điểm tương đồng của Kiến trúc hướng Dịch vụ và điện toán đám mây trong việc cung cấp các ứng dụng cho người dùng
Trang 133) Nhận dạng các ứng dụng có thể phát triển lên thành ứng dụng đám mây, và nhận dạng các ứng dụng không phát triển được lên các đám mây
4) Đề xuất mô hình phát triển các ứng dụng đám mây dưới dạng các dịch vụ tích phối xây dựng theo cách tiếp cận Kiến trúc hướng Dịch vụ dựa trên việc phát triển phần mềm Quản lý Tệp Phân tán (DFM)
5) Xây dựng thử nghiệm phần mềm Quản lý Tệp Phân tán trong mạng nội bộ của Đài PT-TH Hà Nội
Nội dung luận văn gồm 3 chương :
Chương 1 giới thiệu tổng quát về Kiến trúc hướng dịch vụ và Điện toán đám mây Tiếp theo, chương này đưa ra phân tích của tác giả về những điểm tương đồng, những ưu điểm của Kiến trúc hướng dịch vụ và Điện toán đám mây trong việc phát triển ứng dụng Cuối chương sẽ trình bày những hiểu biết của tác giả về việc nhận định ứng dụng nào nên theo hướng điện toán đám mây, ứng dụng nào không
Chương 2 tác giả đề xuất mô hình phát triển ứng dụng đám mây dưới dạng dịch vụ theo Kiến trúc hướng dịch vụ bằng việc chi tiết hóa bài toán xây dựng phần mềm Quản lý tệp tin phân tán (DFM) Đánh giá tính thực tế của phần mềm, liệu có khả thi khi triển khai DFM trong mô hình dịch vụ đám mây khi mà phần mềm này dựa trên dịch vụ DFS của Windows Server Thiết kế các chức năng của DFM, khả năng mà nó khắc phục được trước những nhược điểm còn tồn tại của DFS
Chương 3 tác giả trình bày quá trình triển khai thực tế phần mềm DFM trong mạng nội bộ của Đài PT-TH Hà Nội Đánh giá lại các tác động mà phần mềm đem lại cho công tác quản lý lưu trữ tệp tin
Phần kết luận của luận văn, tác giả nêu lên những đóng góp của mình trong luận văn Nêu lên kết quả của quá trình xây dựng phần mềm DFM cũng như nêu lên những lợi ích và hạn chế khi phát triển các phần mềm kiến trúc dịch vụ theo hướng
„đám mây‟ Đánh giá lại phần mềm DFM và hướng phát triển của nó.
Trang 14TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ VÀ ĐIỆN
Chương 1
TOÁN ĐÁM MÂY
Chương này sẽ trình bày về kiến trúc hướng dịch vụ (Service-oriented
architecture) và về một thuật ngữ mà ngày nay người ta đang sôi nổi bàn tán đến:
điện toán đám mây (Cloud Computing) Tìm ra những điểm tương đồng của chúng
khi phát triển, cung cấp các ứng dụng đám mây Cuối chương sẽ chỉ ra những tính
chất mà một phần mềm cần có để mở rộng được nó thành phần mềm „đám mây‟
1.1 Kiến trúc hướng dịch vụ (SOA)
Kiến trúc hướng Dịch vụ mô tả một kiến trúc cơ sở hạ tầng cho phép các chức năng được tách thành dịch vụ có thể giao tiếp với nhau và có thể truy cập qua mạng
1.1.1 Dịch vụ
1.1.1.1 Định nghĩa
Về mặt định nghĩa (1), dịch vụ là một hệ thống có khả năng nhận một hay nhiều yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các giao diện đã được định nghĩa trước đó Thông thường việc giao tiếp này được thực hiện trên các giao diện đã được chuẩn hóa và sử dụng rộng rãi
Một ví dụ đơn giản của “dịch vụ” mà hầu hết mọi người biết sử dụng máy tính hiện nay đều thực hiện hàng ngày, đó là thao tác kiểm tra thư điện tử mới Khi ta muốn kiểm tra thư điện tử mới trong hòm thư của mình, đầu tiên là đăng nhập vào tài khoản thư điện tử đó Sau đó nhấn nút “Kiểm tra thư mới của tôi” (hoặc một nút hay ho nào đó với chức năng tương tự trong hoàn cảnh có quá nhiều giao diện kiểm tra thư như ngày nay), với việc nhấn nút “Kiểm tra thư mới của tôi” này là ta đang tiến hành gởi yêu cầu cho dịch vụ “kiểm tra thư” Khi máy chủ chứa thư điện tử nhận được yêu cầu “kiểm tra thư mới” của tôi, chúng sẽ kiểm tra trong cơ sở dữ liệu của nó, nếu không có thư nào được gửi đến hòm thư của tôi mà tôi chưa được báo lần nào hoặc không có thư nào tôi đánh dấu là chưa đọc, thì máy chủ sẽ báo lại cho tôi một thông điệp “Bạn không có thư mới” Trong trường hợp có thư mới gửi cho
Trang 15tôi mà tôi chưa đọc, máy chủ sẽ báo lại cho tôi một thông điệp khác “Bán có thư mới” và máy chủ sẽ thực hiện việc truyền thông tin về các thư mới đó đến trình duyệt web (hoặc phần mềm duyệt thư) của tôi Ở đây, yêu cầu chính là các thông tin
về thư mới của tôi, được truyền đạt khi tôi ấn nút “Kiểm tra thư mới”, còn kết quả trả về của dịch vụ thư điện tử là thông điệp của nó “Bạn không có thư mới” hoặc thông điệp “Bạn có thư mới” kèm thêm thông tin về các thư mới đó
Một hệ thống được thiết kế theo kiểu hướng dịch vụ (service oriented) là một
hệ thống trong đó các chức năng của hệ thống được xây dựng dựa trên các dịch vụ
có độ kết dính thấp Các dịch vụ trong hệ thống giao tiếp với nhau thông qua việc gửi nhận các thông điệp (message)
Hình 1-1 Mô hình chi tiết của Kiến trúc hướng Dịch vụ
Hình 1-1 mô tả mô hình chi tiết của Kiến trúc hướng Dịch vụ cung cấp một cách hay để hiểu làm sao Kiến trúc hướng Dịch vụ tận dụng một lớp tiến trình để thay đổi các tiếng trình công việc chính mà không phải thay đổi các hệ thống Đây
là kiến trúc kết nối lỏng lẻo
Trang 161.1.1.2 Các đặc điểm chính của dịch vụ
- Có ranh giới rõ ràng (Explicit Boundaries)
Mỗi dịch vụ được xây dựng dựa trên các giao diện chuẩn hóa đã được sử dụng rộng rãi
Chi tiết hiện thực của mỗi dịch vụ sẽ không được thể hiện ra bên ngoài Mỗi dịch vụ chỉ công bố một số các giao diện của nó cho người sử dụng có thể dùng để gửi các yêu cầu và nhận kết quả trả về
- Sự tương thích giữa các dịch vụ được căn cứ vào các chính sách
Tương thích về mặt cấu trúc dựa trên các đặc tả hình thức bao gồm giao ước (dựa trên Web Service Description Language (WSDL) hoặc Business Process Execution Language for Web Services (BPEL4WS)) và lược đồ (XSD)
Sự tương thích dựa trên chính sách cung cấp khả năng phân tích cũng như đảm bảo sự tương thích giữa các dịch vụ
1.1.2 Các thành phần tham gia trong kiến trúc hướng dịch vụ
Kiến trúc hướng dịch vụ (SOA) cung cấp cơ chế cho phép các hệ thống hoạt động trên các nền tảng phần mềm phần cứng khác nhau vẫn có thể giao tiếp với nhau
Trang 17Một hệ thống được xây dựng theo mô hình Kiến trúc hướng Dịch vụ bao gồm các dịch vụ thỏa mãn các tính chất của dịch vụ ở mục 0 Mỗi dịch vụ trong hệ thống
có thể được sửa đổi một cách độc lập với các dịch vụ khác nhằm mục đích đáp ứng một yêu cầu mới từ thực tế
Hình 1-2 mô tả các thành phần tham gia trong một hệ thống xây dựng theo Kiến trúc hướng Dịch vụ
- Nhà cung cấp dịch vụ (Service Provider): Cung cấp dịch vụ mềm dẻo phục
vụ cho một nhu cầu nào đó Người sử dụng không cần quan tâm đến vị trí thực sự
mà dịch vụ họ cần sử dụng đang hoạt động
- Người sử dụng dịch vụ (Service Consumer): người sử dụng dịch vụ được cung cấp bởi Nhà cung cấp dịch vụ
- Cơ sở dữ liệu dịch vụ (Service Registry): Nơi lưu trữ thông tin về các dịch
vụ của các Nhà cung cấp khác nhau, Người sử dụng dịch vụ dựa trên những thông tin này để tìm kiếm và lựa chọn Nhà cung cấp phù hợp
Hình 1-2 Các thành phần tham gia Kiến trúc hướng Dịch vụ
Nhà cung cấp dịch vụ sẽ đăng kí thông tin về dịch vụ mà mình có thể cung cấp (các chức năng có thể cung cấp, khả năng của hệ thống (tài nguyên, hiệu năng), giá cả dịch vụ, ) vào Cơ sở dữ liệu Dịch vụ Người sử dụng dịch vụ khi có nhu cầu
về một dịch vụ nào đó sẽ tìm kiếm thông tin trên Cơ sở dữ liệu Dịch vụ Ngoài chức năng hỗ trợ tìm kiếm, Cơ sở dữ liệu Dịch vụ còn có thể xếp hạng các Nhà cung cấp
Trang 18Dịch vụ dựa trên các tiêu chí về chất lượng dịch vụ, bầu chọn từ các khách hàng đã
sử dụng dịch vụ Những thông tin này sẽ hỗ trợ thêm cho quá trình tìm kiếm của Người sử dụng Dịch vụ Khi đã xác định được Nhà cung cấp Dịch vụ mong muốn, Người sử dụng Dịch vụ thiết lập kênh giao tiếp trực tiếp với Nhà cung cấp Dịch vụ nhằm sử dụng dịch vụ hoặc tiến hành thương lượng thêm (về mặt giá cả, tài nguyên
sử dụng, )
1.2 Điện toán đám mây (Cloud Computing)
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ Để có thể quản
lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa, … Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu
Từ một bài toán điển hình như vậy, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn phải quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn
Thuật ngữ “điện toán đám mây” ra đời bắt nguồn từ một trong những hoàn cảnh như 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ọi thứ như dữ liệu, phần mềm, tính toán, … lên trên mạng Internet Chúng
ta sẽ không còn trông thấy các máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các “máy chủ ảo” tập trung ở trên
mạng Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể
quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ,
mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến
Trang 19cô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
Phần tiếp theo sẽ nêu rõ “điện toán đám mây” là gì ? Và làm sao “điện toán
đám mây” có thể giải quyết bài toán trên và có những đặc điểm nổi bật gì?
1.2.1 Định nghĩa
Theo Gartner (2)
“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ột dị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ướng theo 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ền tảng (platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”
Có một cách diễn giải đúng về điện toán đám mây đó là Điện toán đám mây (cloud computing) không phải là một công nghệ mà là một mô hình cung cấp và
tiếp thị dịch vụ CNTT đáp ứng các đặc trưng nào đó Mây là toàn bộ dịch vụ máy tính, không phải sản phẩm, thể hiện trong Hình 1-3, trong đó:
- Cơ sở hạ tầng được chia sẻ Nhiều khách hàng chia sẻ một nền tảng công nghệ chung và thậm chí là chung một ứng dụng đơn lẻ
- Các dịch vụ đám mây được truy xuất theo yêu cầu tại các đơn vị khác nhau tùy theo dịch vụ Các đơn vị có thể là người sử dụng, dung lượng, giao dịch hoặc bất kỳ sự kết hợp nào từ chúng
- Các dịch vụ đám mây được mở rộng Từ quan điểm người dùng thì các dịch
vụ đám mây thật sự linh hoạt; không có giới hạn cho sự phát triển
- Mô hình giá cả dựa trên mức độ sử dụng Thay vì thanh toán các chi phí cố định của một dịch vụ có quy mô để sử dụng tối đa, bạn chỉ phải trả một cái giá tham
Trang 20chiếu trên một đơn vị tiêu dùng (người sử dụng, các giao dịch, dung lượng…) được
đo trong những khoảng thời gian có thể khác nhau, chẳng hạn theo giờ hoặc tháng
Hình 1-3 Mọi thứ đều tập trung vào đám mây
- Khả năng truy cập dịch vụ không giới hạn Dịch vụ có thể được truy xuất từ bất cứ nơi nào trên thế giới bởi nhiều thiết bị
1.2.2 Mô hình tổng quan
Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ
sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình
và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.3
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của điện toán đám mây theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau Do đó, việc tích hợp các “đám mây” để giải quyết một bài toán lớn của khách hàng vẫn còn là một vấn đề khó khăn Chính vì vậy, các nhà cung cấp dịch vụ
đang có xu hướng tích hợp các đám mây lại với nhau thành “sky computing”, đưa
ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng
Trang 21Hình 1-4 thể hiện các đám mây của các nhà cung cấp dịch vụ như Google, Amazon, Microsoft … được kết hợp thành “sky computing” để phục vụ người dùng
Hình 1-4 Mô hình tổng quan của điện toán đám mây
Điện toán đám mây 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ớn như 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ên thế 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ó 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
(grid computing)
Trang 22- Vấ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 a service), SaaS (software as a service) Phần sau ta sẽ đi sâu hơn về các dịch vụ
này
1.2.3 Các tính năng chính của Điện toán Đám mây
Tính linh động (Agility) cải thiện khả năng linh động của người dùng để tái
cung cấp một cách nhanh chóng và không tốn kém nguồn tài nguyên hạ tầng công nghệ
Giao diện lập trình ứng dụng (Application Programming Interface (API)) có khả năng truy cập các phần mềm mà cho phép các máy tính giao tiếp với
phần mềm đám mây theo cách giống như giao diện người dùng tương tác giữa người và máy
Chi phí (Cost) Chi phí đầu tư được chuyển đổi sang chi phí hoạt động Bề
ngoài của việc này là làm giảm các rào cản chi phí ban đầu, như cơ sở hạ tầng thường được cung cấp bởi một bên thứ ba và không cần phải mua quyền sử dụng cho những tác vụ một lần hoặc những tác vụ 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 hơn so với những tùy chọn dựa trên những yếu tố khác Các kỹ năng CNTT được đòi hỏi tối thiểu (hay không phải đòi hỏi) cho việc thực hiện
Thiết bị và vị trí truy cập độc lập (Device and location independence) cho
phép người sử dụng truy cập các hệ thống bằng một 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, PC hay mobile Khi mà nền tảng là không cố định vị trí và có thể truy cập được qua Internet, người sử dụng có thể kết nối từ mọi nơi
Khả năng chia sẻ sử dụng (Multi-tenancy) cho phép chia sẻ các tài nguyên
và vốn qua một dải lớn nhiều người sử dụng từ đó cho phép:
Trang 23#Tập trung cơ sở hạ tầng trong các vùng với chi phí thấp nhất (chẳng hạn như bất động sản, điện, v.v.)
#Tăng khả năng chịu tải
#Cải thiện khả năng sử dụng và hiệu quả cho các hệ thống mà thường chỉ dùng đến 10-20%
Tính tin cậy (Reliability) được cải thiện thông qua việc sử dụng nhiều trung
tâm có nhiều dư thừa, điều đó làm cho đám mây thiết kế phù hợp cho việc phục hồi
và duy trì kinh doanh Tuy nhiên, phần lớn các dịch vụ của điện toán đám mây có những lúc thiếu hụt và người giám đốc kinh doanh, IT phải làm cho nó ít đi
Khả năng mở rộng (Scalability) thông qua việc cung cấp động (theo yêu
cầu) các tài nguyên thật hiệu quả, tự thực hiện gần như là trong thời gian thực, mà không cần người dùng phải có kỹ năng CNTT cho những việc ít sử dụng Hiệu suất được theo dõi, kiến trúc phù hợp và liên kết lỏng lẻo được xây dựng bằng cách sử dụng các dịch vụ web như giao diện của hệ thống Một trong những phương pháp mới quan trọng nhất để khắc phục hiệu suất bị thắt cổ chai cho một lớp lớn các ứng dụng là lập trình song song dữ liệu trên một lưới dữ liệu phân tán,
Bảo mật (Security) có thể được cải thiện do dữ liệu nằm tập trung, dễ cho
việc tăng nguồn lực tập trung vào bảo mật, v.v., nhưng mối quan tâm còn tồn tại là mất kiểm soát ở một số dữ liệu nhạy cảm, và sự thiếu an toàn cho các nhân hệ thống được lưu trữ Bảo mật thường tốt bằng hoặc tốt hơn so với các hệ thống truyền thống, một phần vì các nhà cung cấp có thể dành nguồn lực để giải quyết các vấn đề
an nình mà nhiều khách hàng không thể có được Nhà cung cấp thường ghi lại nhật
ký truy cập, việc truy cập các nhật ký kiểm soát có thể khó khăn hoặc bất khả thi Hơn nữa, sự phức tạp về bảo mật sẽ tăng lên rất nhiều khi dữ liệu được phân bố trên một diện tích rộng hơn và/ hoặc nhiều thiết bị hơn
Bảo trì (Maintenance) các ứng dụng điện toán đám mây sẽ dễ dàng hơn khi
thực hiện, vì chúng không phải cài đặt trên mỗi máy tính của người dùng Chúng dễ dàng hơn để hỗ trợ và để cải thiện khi mà những thay đổi sẽ tác động ngay lập tức
Trang 24đến người dùng (backup thời gian thực cung cấp cho người dùng một thời gian hoạt động được cao nhất Đó là một lợi thế lớn trong web hosting.)
Đo lường (Metering) khả năng sử dụng tài nguyên điện toán đám mây phải
thực hiện được và đo được cho từng người dùng và từng ứng dụng hàng ngày, hàng tuần, hàng tháng, và hàng năm Điều đó cho phép những người dùng trong việc lựa chọn nhà cung cấp đám mây dựa trên chi phí và độ tin cậy (QoS)
1.2.4 Các thành phần hợp thành đám mây
Hình 1-5 Minh họa về các tầng trong đám mây
Phần tiếp sau đây, tác giả sẽ liệt kê các thành phần hợp thành một đám mây, phân chia chúng thành các tầng khác nhau như Hình 1-5 mô tả Mặc dù được phân chia như vậy nhưng khi đã kết nối được thì các tầng này đều có thể cung cấp các dịch vụ trực tiếp đến nó
MÁY TRẠM (CLIENT)
Một máy trạm cloud bao gồm phần cứng và (hoặc) phần mềm của máy tính dựa vào điện toán đám mây để phân phối ứng dụng, hoặc được thiết kế riêng biệt cho việc phân phối các dịch vụ đám mây, mà nếu đặt vào vị trí khác sẽ là vô dụng
Trang 25Những ví dụ như là một số máy tính, điện thoại và các thiết bị khác, các hệ điều hành và các trình duyệt
ỨNG DỤNG (APPLICATION)
Các dịch vụ ứng dụng đám mây hay "Software as a Service (SaaS)" phân phối
phần mềm như là một dịch vụ qua Internet, loại bỏ việc bắt buộc cài đặt và chạy ứng dụng trên máy tính cá nhân của khác hàng và đơn giản hóa việc bảo trì và hỗ trợ Các đặc điểm chính như là:
- Truy cập , và quản lý qua mạng phần mềm thương mại
- Các hoạt động được quản lý từ địa điểm trung tâm hơn là tại mỗi trang web của khách hàng, cho phép khách hàng truy cập từ xa đến các ứng dụng qua nền Web
- Ứng dụng cung cấp mà điển hình là gần hơn với một mô hình một-nhiều (một ví dụ, kiến trúc nhiều người thuê) hơn là một mô hình một-một, bao gồm các đặc điểm kiến trúc, giá cả, đối tác, và quản lý
- Cập nhật tính năng một cách tập trung, sẽ phòng ngừa được sự cần thiết phải tải về các bản vá lỗi và nâng cấp
NỀN TẢNG (PLATFORM)
Các dịch vụ nền tảng (platform) đám mây hay "Platform as a Service (PaaS)"
phân phối một nền tảng điện toán và (hoặc) phân chia giải pháp như một dịch vụ,
mà thường tiêu thụ cơ sở hạ tầng đám mây và duy trì các ứng dụng đám mây Điều
đó tạo điều kiện triển khai các ứng dụng mà không cần chi phí và độ phức tạp của việc mua và quản lý các lớp phần cứng và phần mềm cơ bản
CƠ SỞ HẠ TẦNG (INFRASTRUCTURE)
Các dịch vụ cơ sở hạ tầng (infrastructure) đám mây hay "Infrastructure as a
Service (IaaS)" cung cấp hạ tầng máy tính, thông thường là một môi trường ảo hóa
nền tảng như một dịch vụ Thay vì phải mua các server, phần mềm, khu trung tâm
dữ liệu hay các thiết bị mạng, các máy trạm thì chỉ mua các tài nguyên này như một
Trang 26dịch vụ gia công hoàn chỉnh Dịch vụ thông thường tính phí trên có sở tính toàn tiện ích và số lượng tài nguyên tiêu thụ (và do đó là chi phí) thông thường sẽ phản ánh mức độ hoạt động Nó là một sự tiến hóa của các dịch vụ máy chủ ảo tư nhân
MÁY CHỦ (SERVER)
Lớp servers bao gồm các sản phẩm phần cứng máy tính và/hoặc phần mềm
máy tính được thiết kế đặc biệt cho việc cung cấp các dịch vụ đám mây, bao gồm các bộ xử lý đa lõi, hệ điều hành đám mây và các dịch vụ kết hợp
1.2.5 Các nhóm dịch vụ điện toán đám mây
Dịch vụ CNTT được cung cấp qua đám mây được nhóm lại thành 3 dạng: Cơ
sở hạ tầng như một dịch vụ (Infrastructure as a Service – IaaS); Nền tảng như một dịch vụ (Platform as a Service – PaaS); và Phần mềm như một dịch vụ (Sotware as a
Trang 27Những kiến trúc ảo xếp chồng là một ví dụ của xu hướng “mọi thứ là dịch vụ” và có cùng những điểm chung Hơn hẳn một máy chủ cho thuê, không gian luu trữ tập trung hay thiết bị mạng, máy trạm thay vì đầu tư mua nguyên chiếc thì có thể thuê đầy đủ dịch vụ bên ngoài Những dịch vụ này thông thường được tính chi phí trên cơ sở tính toán chức năng và lượng tài nguyên sử dụng (và từ đó ra chi phí) sẽ phản ảnh được mức độ của hoạt động Đây la một sự phát triển của những giải pháp lưu trữ web và máy chủ cá nhân ảo
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 tháng 3 năm 2006 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ài nguyên tính toán tổng hợp
Các ví dụ: Amazon EC2/S3, Elastra (Beta 2.0 2/2009), Nirvanix, AppNexus
1.2.5.2 Dịch vụ nền tảng (Platform-as-a-Service - PaaS)
Dịch vụ nền tảng cung cấp môi trường (API) để phát triển và chạy các ứng dụng trên một nền tảng trừu tượng Chứng thực, uỷ quyền, quản lý phiên và siêu dữ liệu cũng là một phần của dịch vụ này
PaaS cung cấp nền tảng tinh toán và một tập các giải pháp nhiều lớp Nó hỗ trợ việc triển khai ứng dụng mà không quan tâm đến chi phí hay sự phức tạp của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dưới, cung cấp tất cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ của việc xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên Internet mà không cần bất kì thao
Trang 28tác tải hay cài đặt phần mềm cho những người phát triển phần mềm, quản lý tin
học, hay người dùng cuối Nó còn được biết đến với một tên khác là cloudware
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ụ ứng dụng như cộng tác nhóm, 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 cho cộ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ụng giố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 Kiến trúc đồng nhất
- Tích hợp dịch vụ web và cơ sở dữ liệu
- Ư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 dịch 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 dịch
vụ, giao diện người dùng và các yếu tố ứng dụng khác
Trang 29- 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àng hơ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òn có thể kết hợp nhiều nhóm cùng làm việc với nhau
Những lợi ích của mô hình này là rõ ràng và rất hấp dẫn: truy xuất vào một dịch vụ dễ dàng, loại bỏ các khoản đầu tư, hoãn một số chi phí và loại bỏ những thứ khác, tăng tính linh hoạt của CNTT, tăng khả năng di động cho người dùng và cải thiện tính sẵn sàng của dịch vụ
Trang 30Tuy nhiên, vì tính mới lạ của mô hình, có một số khía cạnh chưa được giải quyết, và như trong tất cả các môi trường làm việc, có những rủi ro phải tính đến khi đánh giá thế nào, khi nào và vì cái gì để áp dụng công cụ mới này vào lĩnh vực CNTT của các công ty
Những đặc trưng tiêu biểu
- Phần mềm có sẵn đò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ách hàng, cho phép khách 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 đến nhiề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 nâng cấp tập trung, giải phóng người dùng khỏi việc tải cá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
Hiện việc triển khai mô hình điện toán đám mây chưa cung cấp các hợp đồng đầy đủ về mức độ dịch vụ hoặc các công cụ kiểm soát của chúng Chúng không cung cấp quá trình kiểm định an toàn hoặc quy định cho việc lưu trữ và sao lưu dữ liệu khách hàng được quản lý và lưu trữ trong “mây” Chúng cũng không cung cấp giao diện tích hợp một cách rõ ràng và ổn định theo thời gian, giữa các dịch vụ lấy
từ mây và dịch vụ của riêng công ty
Giống như bất kỳ công cụ nào, điện toán đám mây không phải là hoàn hảo, cũng không phải là áp dụng trong tất cả các tình huống và nó không thể được thực hiện chỉ qua một đêm Nó đòi hỏi một quá trình đánh giá các lợi ích và rủi ro, một
kế hoạch với từng giai đoạn thực hiện, và xác định một quá trình cải tiến liên tục cho giai đoạn sản xuất
Căn cứ vào những ưu khuyết điểm đã được đề cập, các dịch vụ đám mây là một chọn lựa đúng đắn, trong thời kỳ đầu tiên, cho các doanh nghiệp để triển khai các đám mây riêng bằng cách sử dụng IaaS, để thử nghiệm các môi trường hoặc
Trang 31phát triển ứng dụng với dịch vụ PaaS và cho các ứng dụng khép kín, chẳng hạn như hội nghị Web trong dịch vụ SaaS
Trong khi mô hình điện toán mây đưa ra các lựa chọn mới cho người sử dụng,
nó cũng đòi hỏi thay đổi đáng kể từ các nhà cung cấp sản phẩm và dịch vụ CNTT Các công ty cung cấp phần cứng, phần mềm và dịch vụ sẽ phải đối mặt với 2 thách thức đồng thời Đầu tiên là phát triển thích ứng với sản phẩm, quy trình và các công cụ của họ để tiếp thị và cung cấp mô hình mới này Thứ hai, và có lẽ là khó nhất, là thay đổi cơ cấu bán hàng và hỗ trợ của họ, và trong một số trường hợp, các thị trường mục tiêu của họ là tốt, nhằm đáp ứng sự năng động của môi trường mới Đối với các công ty kinh doanh phần cứng và phần mềm thông thường, sự thay đổi chủ yếu sẽ là ở cấp độ của thị trường mục tiêu của họ: trong mô hình điện toán đám mây người tiêu dùng công nghệ không còn là các công ty tài chính, công nghiệp hay tổ chức nhà nước (họ đều đã trở thành người sử dụng), mà là các công ty cung cấp dịch vụ CNTT
Đối với các công ty bán ứng dụng, tác động sẽ diễn ra trong cơ cấu bán hàng
và hỗ trợ, vì họ cần phải thay đổi từ việc bán giấy phép sang bán và hỗ trợ dịch vụ Cuối cùng, các công ty cung cấp dịch vụ CNTT sẽ phải tích hợp truyền thông với các dịch vụ của họ 100%, điều chỉnh danh mục đầu tư của họ đối với các dịch
vụ đám mây, trong đó họ quyết định tham gia (IaaS, PaaS hay SaaS), điều chỉnh doanh số bán hàng, phân phối và quy trình thanh toán của họ cho mô hình theo yêu cầu, và phát triển các cơ chế tích hợp cần thiết giữa phạm vi CNTT của khách hàng
và các đám mây để phát triển mô hình một cách hợp lý
Do quy mô và độ phức tạp của những thay đổi rồi sẽ diễn ra, nếu có một vài khởi đầu sai sót thì cũng không có gì đáng ngạc nhiên Điều quan trọng là phải lập
ra được kế hoạch, hiểu biết ở mỗi bước để đối mặt với những thách thức và phải đánh giá được các rủi ro, và hãy bắt đầu phương thức mới, đừng trì hoãn, nhằm mục đích đem đến hiệu quả kinh doanh, mang lại lợi nhuận nhiều hơn
1.2.6 Các kiểu triển khai đám mây
Trang 32Thuật ngữ “điện toán đám mây” ra đời từ giữa năm 2007, cho đến nay đã
không ngừ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, …(Hình 1-7)
Hình 1-7 Một số nhà cung cấp dịch vụ điện toán đám mây
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ách hàng, điện toán đám mây đã 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
Hình 1-8 thể hiện xu hướng phát triển trong thế giới điện toán, chỉ ra
sự phát triển của Điện toán Đám mây đang bắt đầu chiếm ưu thế
Trang 33Hình 1-8 Xu hướng phát triển trong điện toán
Theo báo VNUnet (3) (28/04/2009), trong một cuộc khảo sát các khách hàng sử dụng các dịch vụ của điện toán đám mây thì có tới 27,7% quan tâm về vấn đề lưu trữ dữ liệu (data storage); 17% về các ứng dụng liên quan tài chính; 12,8% về e-mail
Hình 1-9 Các kiểu đám mây
Dựa trên mức độ phổ biến trên lượng khách hàng của mô hình đám mây dẫn đến có 2 loại cơ bản khác nhau của các đám mây: đám mây riêng (private) và đám mây công cộng (public) Những đám mây công cộng cung cấp các dịch vụ CNTT cho mọi khách hàng trên Internet Đám mây riêng cung cấp dịch vụ CNTT cho một nhóm được xác định trước của khách hàng, có quyền truy xuất thông qua Internet hoặc mạng riêng
Trang 34Có thể ta cũng đã nghe về các đám mây trong và ngoài Lúc trước là một nhóm nhỏ của những đám mây riêng, và cung cấp dịch vụ trong cùng một công ty hay nhóm các công ty Về sau có thể là công cộng hay riêng và cung cấp các dịch
vụ cho các công ty khác
1.2.6.1 Đám mây công cộng (Public cloud)
Public cloud or external cloud mô tả điện toán đám mây theo ý nghĩa truyền
thông, theo đó các nguồn lục được cung cấp động trên một cơ sở tự phục vụ trên Internet, qua các ứng dụng web/các dịch vụ web, từ một nhà cung cấp thứ ba và thanh toán dựa trên một cơ sở tính toán tiện ích sát với nhu cầu
1.2.6.2 Đám mây cộng đồng (Community cloud)
Đám mây công cộng (public cloud) (hay còn gọi là đám mây ngoài) - bất kỳ
dịch vụ CNTT được duy trì bởi một nhà cung cấp dịch vụ bên ngoài và được truy cập thông qua Internet - giúp giảm chi phí, tăng hiệu quả CNTT nhưng lại gặp vấn
đề về mất an ninh, thiếu tin cậy, lộn xộn và nguy cơ thảm họa Trong một cuộc khảo sát gần đây của Portio Research, 68% số người được hỏi tỏ ra lo ngại về an ninh từ các dự án mây; 58% nói rằng hiệu suất cũng là một nhược điểm
“Trong đám mây công cộng điều đáng lo ngại là dữ liệu của bạn nằm trên cơ
sở hạ tầng khác của nhà cung cấp dịch vụ”, ông Vince DiMemmo, Tổng giám đốc dịch vụ đám mây và CNTT tại công ty Equinix chuyên về dịch vụ và trung tâm dữ liệu cho thuê, cho biết “Khi bạn thuê một người khác, mong đợi của bạn cho an ninh cao hơn nhiều, do đó, hầu hết khách hàng sẽ không so sánh những gì mà một nhà cung cấp dịch vụ cung cấp với những gì họ làm trong các hệ thống riêng của
họ Khách hàng có xu hướng lo lắng nhiều về mây, không yên tâm như với các dịch
vụ thuê chỗ đặt máy chủ hay thuê máy chủ mà họ đã sử dụng lâu nay”
Không có nhiều sự khác biệt giữa các dịch vụ thuê chỗ (đặt máy chủ) hay thuê máy chủ và dịch vụ đám mây trong thị trường PaaS (Platform as a Service - nền tảng như một dịch vụ), có nghĩa là bất kỳ tổ chức CNTT cùng với các nhà cung cấp bên ngoài đã sẵn sàng mọi thứ cho một nhà cung cấp mây, theo Jim Levesque,
Trang 35lập trình viên hệ thống và giám sát hệ thống phục hồi thảm họa dựa trên đám mây
và hệ thống sao lưu dự phòng của Sở cấp thoát nước và năng lượng Los Angeles với mạng lưới ứng dụng doanh nghiệp dùng 600 máy chủ
“Bạn kiểm tra an ninh, đảm bảo về tài chính của họ thì họ sẽ không biến mất ngay lập tức Hãy thuyết phục khách hàng chắc chắn có dự phòng tốt cho các kết nối, truy cập vào/ra và truy cập mạng cũng như nguồn điện năng cung cấp, những
kế hoạch khẩn cấp, tóm lại là tất cả mọi thứ quan trọng”, Levesque nói
Nhưng nhiều khách hàng lại tỏ ra lo lắng sẽ bị lệ thuộc vào công ty dịch vụ nếu các API (giao diện lập trình ứng dụng), hệ thống và các giao diện mà nhà cung cấp dịch vụ đám mây của họ không cho phép họ quay trở lại với các máy chủ nội bộ hoặc chuyển sang hạ tầng của một nhà cung cấp khác, theo Karl MacDonald, trưởng
bộ phận truyền bá của nhà cung cấp dịch vụ đám mây Cloud.com
Những nhà cung cấp tốt nhất các dịch vụ đám mây công cộng ở Mỹ có thể kể đến như Rackspace, Terramark, Equinix, AT & T và IBM
Một đám mây cộng đồng có thể được thiết lập từ một số tổ chức có yêu cầu tươ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 Với chi phí dàn trải cho số người sử dụng ít hơn so với một đám mây công cộng (nhưng nhiều hơn một người thuê duy nhất) tùy chọn này là tốn kém hơn nhưng có thể cung cấp một cấp cao hơn về vấn đề riêng tư, an ninh và / hoặc tuân thủ chính sách Ví dụ về các đám mây cộng đồng là các đám mây của Google "Gov Cloud"
1.2.6.3 Đám mây lai (Hybrid cloud)
Tương lai gần của CNTT là mô hình đám mây lai Điện toán đám mây lai có thể bao gồm một hỗn hợp các đám mây nội bộ, các dịch vụ đám mây bên ngoài và những lựa chọn SaaS (Software as a Service - phần mềm như là dịch vụ) truyền thống Việc lai ghép các mảnh nên tính đến từng doanh nghiệp cụ thể và tùy theo từng tổ chức CNTT cung cấp dịch vụ, ông nói
Trang 36Chia nhỏ các dịch vụ theo yêu cầu có thể phù hợp với những hóa đơn ở đây Khởi đầu, được hình thành cho các ứng dụng như kiểm thử và phát triển theo yêu cầu, các môi trường (chẳng hạn như cần tới 100 máy trạm ảo để kiểm thử một kịch bản phân phối phần mềm) theo yêu cầu được CloudShare, Soonr hoặc Microsoft Azure cung cấp các phiên bản mini của các đám mây có quy mô lớn
Thay vì mua dịch vụ quy mô lớn từ Amazon hoặc các công ty lưu trữ khác
mà phải nhọc công với rất nhiều công việc, từ cấu hình tới quản lý, bạn chỉ cần một dịch vụ cung cấp nền tảng CNTT theo yêu cầu cho các nhóm làm việc chứ không phải là toàn doanh nghiệp
“Chúng tôi, giống như rất nhiều công ty, chỉ có một bộ các máy chủ hoạt động cho bất cứ điều gì, và bạn không muốn thêm một tính năng bởi vì bạn không muốn can thiệp vào các máy đang hoạt động”, một giám đốc nói “Có rất nhiều thứ chúng ta phải đáp ứng trong ngày mà không có các máy chủ dạng rack (rack server)
có thể kéo ra để thực hiện Chúng tôi nhìn vào đó để quyết định thuê ngoài các nhà cung cấp SaaS, như Salesforce, email của Gmail, Amazon hoặc Cloudshare cho nền tảng Đôi khi tôi không biết chúng tôi sẽ sử dụng một dịch vụ hoặc chức năng cụ thể
để làm gì, nhưng tôi biết chúng tôi sẽ cần đến nó Đó là vì sao tôi đang tìm tới các đám mây”
1.2.6.4 Đám mây riêng (Private cloud)
Như là hình thức phổ biến nhất của điện toán đám mây (và thuận tiện cho nhà cung cấp máy chủ ảo VMware) các đám mây riêng (dùng cho nội bộ doanh nghiệp) cho phép một công ty phủ các lớp ảo hóa và phần mềm quản lý lên cơ sở hạ tầng hiện có để liên kết các máy chủ, lưu trữ , mạng, dữ liệu và các ứng dụng Mục tiêu: Sau khi chúng được kết nối với nhau và ảo hóa, CNTT có thể chuyển đổi lưu trữ, năng lực tính toán hoặc các nguồn tài nguyên khác, một cách vô hình, từ một nơi tới nơi khác để cung cấp cho tất cả các bộ phận người dùng cuối mọi nguồn tài nguyên mà họ cần bất cứ lúc nào, nhưng không có nhiều hơn thế
Trang 37Sự khác nhau giữa môi trường ảo hóa cao và đám mây riêng là gì? VMware cho biết một đám mây riêng cũng cần phải đạt mức độ tự động hóa quản lý cao và cung cấp khả năng thanh toán cho các bộ phận kinh doanh Các đám mây riêng làm cho việc quản lý thông tin và công nghệ dễ dàng hơn, nhưng sẽ gây xáo động cho hầu hết các tổ chức CNTT đã được xây dựng qua nhiều thập kỷ, Wolf nói “Hiện giờ các máy chủ trao đổi với nhau, không phải mạng hoặc hỗ trợ hay bất cứ điều gì khác”, ông nói “Nếu mọi thứ đều ảo hóa, mọi thứ đều bố trí theo từng chỗ, thì công việc của bạn không thể được xác định theo nơi bạn ngồi”
Tuy nhiên đám mây riêng vẫn có nghĩa là người dùng “vẫn phải mua, xây dựng, và quản lý chúng” và chi phí cho việc gây dựng cũng không được kinh tế cho lắm, trong khi tiêu chí tiết kiệm chi phí là một khái niệm hấp dẫn
1.3 Khả năng ứng dụng Kiến trúc Hướng Dịch vụ trong Điện toán Đám mây
Tiến bộ trong công nghệ điện toán đám mây có thể được thừa hưởng sự hỗ trợ
áp dụng định hướng dịch vụ và xây dựng kiến trúc công nghệ hướng dịch vụ Khi thích hợp, các mô hình triển khai điện toán đám mây và các mô hình phân phối dịch
vụ đám mây có thể được sử dụng cho các dịch vụ cụ thể hoặc toàn bộ các thành phần dịch vụ Từ đó cung cấp tùy chọn cho các dịch vụ để được triển khai trong thời hạn và truy cập thông qua các môi trường đám mây, nơi chúng có thể hưởng lợi
từ khả năng mở rộng và độ tin cậy cung cấp bởi các môi trường đám mây nằm bên dưới cơ sở hạ tầng và nguồn lực
Trong phần 1.2.3 ta đã mô tả các nhóm dịch vụ của điện toán đám mây, đó là IaaS PaaS SaaS, đó đều là các dạng hướng đến dịch vụ, giống như Kiến trúc hướng Dịch vụ Nhưng thay vì nhỏ hẹp trong nội bộ doanh nghiệp như trong kiến trúc hướng dịch vụ, thì các “đám mây” sẽ mở rộng cho phép các nguồn tài nguyên được
sử dụng vượt ra ngoài biên giới của mỗi doanh nghiệp Mối quan hệ giữa điện toán đám mây và Kiến trúc hướng Dịch vụ là điện toán đám mây cung cấp nguồn lực CNTT mà ta có thể tận dụng theo yêu cầu, bao gồm cả các tài nguyên lưu trữ dữ liệu, dịch vụ, và quy trình Vì vậy, doanh nghiệp có khả năng mở rộng Kiến trúc
Trang 38hướng Dịch vụ của họ ra bên ngoài của tường lửa doanh nghiệp để đến với các Nhà cung cấp Dịch vụ Điện toán Đám mây, tìm kiếm những lợi ích đã được mô tả
Kiến trúc hướng Dịch vụ là một cách tiếp cận tốt với kiến trúc của hệ thống thông tin, bằng cách sử dụng các cơ chế làm cho chúng kết nối tốt với nhau, cả ở trong và ngoài doanh nghiệp Thực tế là doanh nghiệp thực sự cần một kiến trúc bên trong doanh nghiệp, như là Kiến trúc hướng Dịch vụ, để thiết lập hầu hết các tính toán đám mây
Hình 1-10 Kiến trúc hướng Dịch vụ và Điện toán đám mây tạo ra một giá trị lớn khi chúng làm việc cùng nhau
1.3.1 Lợi ích khi sử dụng kiến trúc hướng dịch vụ
Sử dụng mô hình Kiến trúc hướng Dịch vụ trong việc thiết kế hệ thống mang lại lợi ích về mặt kinh tế cũng như kỹ thuật
Trang 39o Hệ thống xây dựng theo mô hình Kiến trúc hướng Dịch vụ đảm bảo các dịch vụ trong hệ thống có tính độc lập cao (độ kết dính thấp)
o Ở góc nhìn người sử dụng, vị trí các dịch vụ có tính trong suốt, việc di dời các dịch vụ đến một máy tính khác không ảnh hưởng khả năng phục vụ yêu cầu khách hàng
o Hoạt động của các dịch vụ có tính động, hành vi của các dịch vụ tùy thời đểm, tùy yêu cầu cần xử lý mà có sự khác nhau
1.3.2 Những đặc điểm ở đám mây mà kiến trúc hướng dịch vụ chưa có
Thiết kế dịch vụ
Việc thiết kế dịch vụ cho các đám mây cần phải thỏa mãn hai đặc điểm sau: thứ nhất là không được định nghĩa quá chặt và thứ hai là phải được thiết kế tốt Các dịch vụ đám mây sẽ không gặp vấn đề hay sự cố gì khi dùng các công nghệ và các tiêu chuẩn liên quan khác nhau
Khả năng mở rộng Dịch vụ
Các dịch vụ điện toán đám mây được thiết kế để mở rộng khi cần, và những người tận dụng các dịch vụ đám mây làm như vậy bởi vì họ có thể nhận được các dịch vụ theo yêu cầu, khi họ cần chúng Khả năng mở rộng dịch vụ trong một Kiến trúc hướng Dịch vụ thường là một quá trình khó khăn và tốn kém
Thực tế là các dịch vụ thiết kế và phát triển trong các doanh nghiệp thường không được thiết kế để mở rộng Thật vậy, những vấn đề cốt lõi với Kiến trúc hướng Dịch vụ xoay quanh một thực tế rằng rất nhiều việc trong lĩnh vực CNTT không tập trung vào việc mở rộng quy mô cho đến khi điều đó là quá trễ và quá khó khăn để sửa chữa Các Nhà Cung cấp Dịch vụ Điện toán đám mây đã phải tìm ra việc mở rộng khá nhanh chóng
1.3.3 Những đặc điểm của kiến trúc hướng dịch vụ nên được phát triển ở điện toán đám mây
Quản trị Dịch vụ
Trang 40Có rất ít khái niệm về quản trị hiện nay trong điện toán đám mây, và bởi vậy
có rất ít chính sách kiểm soát và thực hiện Do đó, nhiều doanh nghiệp không mặn
mà ngay vào điện toán đám mây
Quản trị, trong khi không phải luôn luôn thực hiện tốt, là một thực tế cơ bản của cuộc sống với Kiến trúc hướng Dịch vụ Các khả năng thiết lập các chính sách xung quanh dịch vụ và quản lý thay đổi cho các dịch vụ là một yếu tố thành công quan trọng
Đi lên từ Kiến trúc
Việc sử dụng tài nguyên điện toán đám mây là về mở rộng kiến trúc từ trong doanh nghiệp ra để kết hợp các nguồn tài nguyên điện toán đám mây, và do đó điều quan trọng cần nhớ là kiến trúc không kết thúc tại tường lửa việc hiểu được cả những tài nguyên tồn tại trong các doanh nghiệp và các tài nguyên điện toán đám mây giao cho thậm chí còn quan trọng hơn, cũng như là cần phải cấu hình các tài nguyên này một cách chính xác trong bối cảnh của một kiến trúc và để đáp ứng nhu cầu của doanh nghiệp
Rõ ràng, Kiến trúc hướng Dịch vụ và điện toán đám mây phải kết hợp với nhau Điện toán đám mây chỉ là khả năng tận dụng các nền tảng và các tài nguyên mới mà bạn không có trong tay Không có gì thực sự thay đổi bên ngoàiviệc đó Tuy nhiên, điện toán đám mây đẩy nhanh việc áp dụng Kiến trúc hướng Dịch vụ bằng cách cung cấp các khía cạnh của Kiến trúc hướng Dịch vụ theo yêu cầu Kiến trúc hướng Dịch vụ có thể học hỏi được rất nhiều từ những đám mây, và những đám mây có thể học hỏi được rất nhiều từ Kiến trúc hướng Dịch vụ
Các mô hình điện toán đám mây có thể mở rộng và xây dựng theo các mô hình kiến trúc hướng tới dịch vụ Tuy nhiên, điều quan trọng cần lưu ý là với một chương trình phần mềm để được định hướng dịch vụ, nó không đòi hỏi công nghệ đám mây - và - cho một chương trình phần mềm được dựa trên đám mây, nó không cần phải có được đóng gói bởi mô hình thiết kế hướng dịch vụ Các mô hình kiến