Cloud Computing là m t mô hình dộ ịch chuyển, trong đó tính toán được d ch chuyị ển t ừ máy tính cá nhân và thậm chí cả những máy chủ ứng dụng của các doanh nghiệp riêng lẻ vào một Cloud
Trang 1LUẬN VĂN THẠC SĨ
TÌM HIỂU, MÔ HÌNH HÓA VÀ MÔ PHỎNG
CLOUD COMPUTING
THÁI THANH SƠN
Hà Nội, 1 1 /2009
Trang 2LUẬN VĂN THẠC SĨ
TÌM HIỂU, MÔ HÌNH HÓA VÀ MÔ PHỎNG
CLOUD COMPUTING
THÁI THANH SƠN
NGƯ ỜI HƯỚNG D ẪN KHOA HỌC:
TS NGUY ỄN TH ÚC H ẢI
Trang 3L ỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là nghiên cứu của chính bản thân Các nghiên cứu trong luận văn này dựa trên những tổng h p lý thuyợ ết và hiểu biết th c tự ế ủ c a mình, không sao chép từ ấ b t kỳ ộ m t luận văn nào khác Mọi thông tin trích dẫn đ u đư c ề ợtuân theo lu t sậ ở ữ h u trí tu , li t kê rõ ràng các tài liệ ệ ệu tham khảo
Tôi xin chịu hoàn toàn trách nhiệm v i nh ng n i dung đướ ữ ộ ợc vi t trong luế ận văn này
Trang 4L ỜI CẢM ƠN
Em xin bày tỏ lòng bi t ơn sâu sắế c đ n t t c m i ngư i đã giúp đ , h tr th c hi n ế ấ ả ọ ờ ỡ ỗ ợ ự ệ
luận văn này, xin c m ơn Vi n ả ệ Đào tạ Sau Đại họ Việo c, n Công ngh Thông tin và ệTruyền thông trường Đại h c Bách Khoa Hà Nọ ội đã cho phép và t o đi u kiệạ ề n đ ể
em th c hi n luự ệ ận văn này
Luận văn này sẽ không th hoàn thành n u không có sự giúp đỡể ế và ch b o tận tình ỉ ảcủa thầy giáo, giáo sư Nguy n Thúc Hảễ i, ngư i thầờ y hư ng dẫn của em Em xin ớchân thành biết ơn về nh ng ch b o, đ nh hư ng nghiên c u th c hi n, h tr , t o ữ ỉ ả ị ớ ứ ự ệ ỗ ợ ạnhững điều kiện tốt nhất cho em trong su t quá trình th c hi n đ tài ố ự ệ ề
Con xin bày t lòng biỏ ết ơn sâu sắc đ n B , M , nh ng b c sinh thành đã ch u ế ố ẹ ữ ậ ị
thương, chịu khó nuôi dư ng, hỗ ợ, động viên, ủng h con trong nh ng lúc khó ỡ tr ộ ữ
Truyền thông đã tận tình chỉ ả b o, rèn luy n, truyệ ền đ t những tạ ri th c, kứ ỹ năng, kinh
Học viên thực hiện
Thái Thanh Sơn
Trang 5M ỤC LỤ C
DANH MỤC HÌNH VẼ 7
CÁC CHỮ VIẾT TẮT 9
LỜ I NÓI Đ ẦU 10
CHƯƠNG 1: TỔNG QUAN V CLOUD COMPUTING 13 Ề 1.1 Cloud Computing 14
1.2 Sơ lượ ịc l ch s Cloud Computing 16 ử 1.2.1 Client/Server Computing: T p trungậ ứng dụng và lưu tr 16 ữ 1.2.2 Peer- -to Peer Computing: Chia sẻ tài nguyên 17
1.2.3 Distributed Computing: Cung cấp sức mạnh tính toán nhiều hơn 17
1.2.4 Collaborative Computing: Làm việc nhóm 17
1.2.5 Cloud Computing: Bước k tiếế p c a s c ng tác 18 ủ ự ộ 1.3 Ưu điểm của Cloud Computing 18
1.3.1 Gi m chi phí phả ần cứng cho người dùng 18
1.3.2 Hiệu năng xử lý nâng cao 18
1.3.3 Giảm chi phí đ u tư cơ sầ ở ạ ầ h t ng 18
1.3.4 Giảm chi phí bảo trì hệ thống 19
1.3.5 Sử ụ d ng phần mềm với chi phí th p hơn 19 ấ 1.3.6 Cập nhật nhanh hơn 19
1.3.7 Không gian lưu trữ ớ l n 20
1.3.8 Nâng cao độ an toàn 20
1.3.9 Tăng tính tương thích 20
1.3.10 Cộng tác nhóm 20
1.4 Nhượ c đi m của Cloud Computing 21 ể 1.4.1 Yêu cầu phải có kết n i Internetố 21 1.4.2 Không làm việ ố ớc t t v i các k t n i ch m 21 ế ố ậ 1.4.3 Tốc đ x lý có th ch m 21 ộ ử ể ậ
Trang 61.4.4 Tính năng có thể ị b giớ ại h n 21
1.4.5 Dữ ệ li u lưu tr có th ữ ểkhông an toàn 22
CHƯƠNG 2: KIẾN TRÚC VÀ CÔNG NGHỆ Ỗ H TR CLOUD Ợ COMPUTING 23
2.1 Kiến trúc Cloud Computing 23
2.1.1 Khung SPI cho Cloud Computing 23
2.1.2 Mô hình dịch vụ ủ c a Cloud Computing 24
2.1.2.1 SaaS Mô hình ph- ần mềm như m t d ch v 24 ộ ị ụ 2.1.2.2 PaaS Mô hình n- ền tảng như mộ ịt d ch v 25 ụ 2.1.2.3 IaaS-Mô hình hạ ầ t ng như là một dịch vụ 26
2.1.3 Các mô hình triển khai Cloud Conputing 27
2.1.3.1 Public Clouds 28
2.1.3.2 Private Clouds 29
2.1.3.3 Hybrid Clouds 29
2.2 Các công nghệ hỗ ợ tr Cloud Computing 30
2.2.1 Các thi t bế ị truy cập Cloud Computing 31
2.2.2 Trình duyệt và mô hình thin clients 32
2.2.3 Truy cập băng thông t c đ ố ộcao 32
2.2.4 Data Centers và Server Farms 32
2.2.5 Thiết bị lưu tr 33 ữ 2.2.6 Virtualization-Công nghệ ảo hóa 33
2.2.7 APIs- Giao diệ ận l p trình ng dụng 35 ứ 2.2.8 Web service và Service Oreinted Architecture (SOA) 37
2.2.9 Web 2.0 38
2.2.10 Programming model 39
2.3 Ví dụ ề v Cloud Computing 39
2.3.1 Amazon Web Services (IaaS) 39
Trang 7CHƯƠNG 3: MÔ HÌNH HÓA VÀ MÔ PH NG MÔI TRƯ Ỏ ỜNG CLOUD
COMPUTING 42
3.1 Đặ ấ t v n đ 42 ề 3.2 Các khái niệm và thuật ng ữchính 44
3.2.1 User 44
3.2.2 Broker 45
3.2.3 Tài nguyên 45
3.2.4 Kiến trúc Market-Oriented Cloud 46
3.2.5 Federation Cloud Computing-Liên hiệp Cloud Computing 49
3.3 Kiến trúc CloudSim 51
3.3.1 SimJava 51
3.3.2 GridSim 53
3.3.3 CloudSim 54
3.4 Mô hình tài nguyên mô ph- ỏng đa tác vụ và đa x ửlý 57
3.4.1 Mô phỏng lậ ịch tài nguyên time-shared 58 p l 3.4.2 Mô phỏng lậ ịch tài nguyên space-shared 62 p l 3.5 Mô hình hóa Clouds 65
3.5.1 Mô hình hóa VM allocation 67
3.5.2 Mô hình hóa Cloud Market 69
3.6 Thiế ế t k và cài đ t CloudSim 70 ặ 3.6.1 Các lớp chính của CloudSim 70
3.6.2 Luồng và th c th 78 ự ể 3.6.3 Truyền thông giữa các th c th 80 ự ể 3.7 Các thử nghi m và đánh giá 81 ệ 3.7.1 Thử nghiệm mô phỏng không tải 81
3.7.2 Thử nghiệm có tải 85
CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LU N 90 Ậ 4.1 Đánh giá 90 4.2 Hướ ng phát tri n, m r ng c a lu n văn 90 ể ở ộ ủ ậ
Trang 8TÀI LIỆU THAM KHẢO 92 TÓM TẮT LUẬN VĂN 95
SUMMARY 96
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1: Chi tiêu cho CNTT trên toàn thế ớ gi i năm 2008 và 2012 15
Hình 2.1: Mô hình dịch v ụSPI 23
Hình 2.2: Public Cloud 29
Hình 2.3: Hybrid Cloud 30
Hình 2.4: Kiến trúc các công ngh h tr ệ ỗ ợCloud Computing 31
Hình 2.5: Môi trường Sun xVM hypervisor 35
Hình 2.6: API hỗ ợ tr Cloud Computing 36
Hình 3.1: Mô hình kiến trúc Ki n trúc Marketế -Oriented Cloud 49
Hình 3.2: Các đám mây và mạng liên k t gi a chúng thông qua Cloud Exchange 50 ế ữ Hình 3.3 Kiến trúc mô-đun c a GridSim 54 ủ Hình 3.4: Kiến trúc lớp của CloudSim 56
Hình 3.5: Thuật toán lập lịch chia s ẻtài nguyên time shared 59
-Hình 3.6: Phân bổ PE cho Cloudlet vớ ậi l p lịch time-shared 60
Hình 3.7: Giản đ l p lịồ ậ ch time shared c- ủa các Cloudlets 61
Hình 3.8: Thuật toán lập lịch chia s ẻtài nguyên space shared 63
-Hình 3.9: Phân bổ PE cho Cloudlet vớ ậi l p lịch time-shared 63
Hình 3.10: Giản đ l p lịồ ậ ch space shared c- ủa các Cloudlets 65
Hình 3.11: Các chính sách lập lịch cho các VMs 68
Hình 3.12: Lớp VMMAllocationPolicy và các l p mở ộớ r ng của nó 73
Hình 3.13: Lớp VMScheduler và các l p mở ộớ r ng c a nó 74 ủ Hình 3.14: Lớp VMProvisioner và các l p mở ộớ r ng của nó 75
Hình 3.15: Lớp BWProvisioner và các l p mở ộớ r ng của nó 76
Hình 3.16: Lớp MemoryProvisioner và các l p mở ộớ r ng của nó 77
Hình 3.17: Biểu đồ ớ l p của CloudSim 78
Hình 3.18: Luồng dữ ệ li u mô phỏng 80 Hình 3.19: Các bướ ạc t o m t Data Center 82 ộ
Trang 10Hình 3.20: Tràn bộ nhớ Heap trong quá trình mô ph ng v i 90000 hostỏ ớ 83 Hình 3.21: Tràn bộ nhớ Heap trong quá trình mô ph ng với 100000 host 84 ỏ Hình 3.22: Thời gian th c hiện mô phỏng 85 ự Hình 3.23: Bộ nhớ ử ụ s d ng trong quá trình th nghi m 85 ử ệ Hình 3.24: Kịch b n th nghiệả ử m mô ph ng có t i 86 ỏ ả Hình 3.25: Các bướ ạc t o th c hiệự n mô ph ng CloudSim 87 ỏ Hình 3.26: Thực thi các tác v v i lập lịch space-shared 88 ụ ớ Hình 3.27: Thực thi các tác v v i lập lịch time-shared 89 ụ ớ
Trang 11CÁC CHỮ VI T TẮT Ế
Trang 12L Ờ I NÓI Đ Ầ U
Máy vi tính đã trở thành một ph n t t y u củầ ấ ế a cu c s ng Chúng ta c n máy vi tính ộ ố ầ
ở kh p m i nơi, nó đư c s d ng công vi c, nghiên c u ho c trong b t k lĩnh v c ắ ọ ợ ử ụ ệ ứ ặ ấ ỳ ựnào Cũng như việ ử ục s d ng máy vi tính trong cu c sộ ống của chúng ta ngày càng giatăng, việc tính toán nguồ ựn l c mà chúng ta cần cũng ti p tế ục tăng Đối với các công
không phải là m t vộ ấn đ Nhưng khi nói đến các doanh nghiệp nhỏ hơn, thì đi u đó ề ề
có thể trở thành một yế ố ấu t r t l n V i sớ ớ ự đầ u tư cơ sở h tạ ầng đ n các vấế n đ như ềmáy móc bị ỏ h ng, ổ ứ c ng bị hư, ph n mầ ềm có lỗi,…Điều này có thể gây đau đầu
pháp cho tình trạng này
Cloud Computing là m t mô hình dộ ịch chuyển, trong đó tính toán được d ch chuyị ển
riêng lẻ vào một Cloud tính toán M t Cloud là m t máy chộ ộ ủ ảo có thể cung cấp các
chỉ ầ c n quan tâm những dịch vụ tính toán theo yêu cầu Chi ti t th c hiế ự ện như th ếnào để thu đư c k t quảợ ế là n vớẩ i ngườ ử ụi s d ng Dữ ệ li u và các d ch v ợc cung ị ụđư
cấp nằm trong các ata Center có thểD m rở ộng và có thể đư c truy cậợ p từ ấ b t kỳ thiết bị ở ọ m i nơi trên thế ớ gi i
Hiện nay, nhiều nhà cung cấp Cloud Computing đã xu t hiệấ n và có một sự tăng
trong rất nhiều các lĩnh v c như máy ch ự ủweb, xử lý song song theo lô, đ hồ ọa, mô hình tài chính, phân tích gen,…
Trang 13động điện toán hoặc cho phép tiếp cận thông tin và hạ tầng công nghệ cần thiết để khách hàng có thể thiết kế hay triển khai các môi trường điện toán riêng của mình Trung tâm sẽ phục vụ khách hàng thuộc nhiều lĩnh vực như ngân hàng, viễn thông, chính phủ, giáo dục đào tạo và dịch vụ hosting …
Cloud Computing tại Vi t Namệ , đề tài lu n văn “Tìm hiểu, mô hình hóa và mô ậ
phỏng Cloud Computing” được em l a ch n và th c hiện ự ọ ự
Luận văn tập trung vào các vấn đ ềsau:
• Tìm hiểu v Cloud Computing hiề ện nay đ có m t b c tranh tể ộ ứ ổng quan về công nghệ, các vấn đ , các phương hư ng gi i quyề ớ ả ết chủ ế y u nhằm làm tiền
đề tham kh o cho vi c ng d ng, phát tri n Cloud Computing trong tương ả ệ ứ ụ ểlai
• Thử nghi m, đánh giá hi u năng c a vi c mô ph ng, mô hình hóa ệ ệ ủ ệ ỏ
Luận văn được trình bày g m 4 chương v i nồ ớ ội dung như sau:
Chương 1: Tổng quan về Cloud Computing: Giới thi u sơ lư c v l ch s , b n ệ ợ ề ị ử ảchất, những ưu đi m và như c điể ợ ểm c a Cloud Computing ủ
Chương 2: Kiến trúc và công nghệ ỗ ợ h tr Cloud Computin : Trình bày kiến trúc g
mô hình dịch v , mô hình triụ ển khai của Cloud Computing Đồng th i nêu ra m t s ờ ộ ố
Chương 3: Mô hình hóa và mô ph ng môi trư ỏ ờng Cloud Computing: Nêu ra bài
toán th c tự ế ề ự ầ v s c n thiế ủt c a một môi trư ng mô phỏng Cloud Computing đố ớờ i v i các nhà phát tri n Tể ập trung đi sâu nghiên cứu các vấn đ ề liên quan, thử nghi m ệ
mô hình hóa và mô phỏng với CloudSim
Trang 14Chương 4 Đánh giá và kết lu n: Tóm lưậ ợc các vấn đ đã nghiên cề ứu tìm hi u, đ ể ề
ra hướng phát triển trong tương lai
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ CLOUD COMPUTING
Trong một thế ớ gi i mà những xu hướng công nghệ ớ m i xuất hiện và mất đi di n ra ễ
Internet
Cloud Computing báo hi u mệ ột sự thay đ i l n trong cáchổ ớ thức chúng ta lưu trữ thông tin và thực thi các ứng dụng Thay vì thực thi các chương trình và dữ liệu trên
một máy tính đ bàn cá nhân (ể PCs), tất cả mọi thứ được lưu tr trong các Cloud ữ
Cloud Computing cho phép người dùng truy c p vào tấ ảậ t c các ng d ng và các tài ứ ụliệu của họ ừ ấ t b t cứ nơi nào trên thế ớ gi i, giải phóng ngư i dùng khỏi sờ ự ạ h n chế
Với đi n toán đ bàn truyền thốệ ể ng, ngư i dùng thực thi các bản sao của chương ờtrình phần mềm trên máy tính riêng c a h Tài liủ ọ ệu do họ ạ t o ra đư c lưu tr trên ợ ữmáy tính mà chúng đượ ạc t o ra M c dù các tài li u này có thể ợặ ệ đư c truy c p t các ậ ừ
bên ngoài mạng đó Những đi u này là hình ảnh về ộề m t PC-centric
Với Cloud Computing, các chương trình ph n mềầ m ngư i dùng sử ụng không ờ dđược th c thi t máy tính cá nhân, mà đư c lưu tr trên các servers truy c p thông ự ừ ợ ữ ậqua Internet N u máy tính c a mế ủ ột ngư i dùng bị ờ treo ho c l i, thì phặ ỗ ần mềm vẫn sẵn sàng cho những ngư i khác sử ụờ d ng Đi cùng là các tài li u do ngư i dùng tạo ệ ờ
ra, chúng đư c lưu trợ ữ trên m t tập các máy chủộ truy c p thông qua Internet B t cậ ấ ứ
ai có quyền, không chỉ có th truy c p vào các tài li u, mà còn có tể ậ ệ h ể chỉnh sửa và
cộng tác (collaborate) trên các tài liệu này theo thời gian thực
Trang 161.1 Cloud Computing
Trước tiên, Cloud Computing không phải là một Network Computing (điện toán
của ột công ty duy nhm ất và đư c truy cậợ p qua mạng c a công ty Cloud ủ
của Cloud có thể truy cập từ ất cứ nơi nào trên thế giới thông qua kết nối Internet; b
Chìa khóa để đị nh nghĩa v Cloud Computing chính là "Cloud" Cloud là một nhóm ề
hoặc các máy chủ ạ m ng (network servers); chúng có th là công c ng (public) hoể ộ ặc dành riêng (private)
Trong luận văn này, chúng ta ch n Google là đ i tư ng quan sát Tọ ố ợ ừ những khía cạnh của Google, có sáu tính chất quan trọng của Cloud Computing:
lưu giữ ở đó-tài li u, bài vi t, hình nh, ng d ng, b t c ềệ ế ả ứ ụ ấ ứđi u gì, s tr thành ẽ ở
của họ Ngoài ra, ngư i dùng cũng có th chia sẻ nó với những người khác ờ ể
• Task-centric Thay vì tập trung vào : ứng dụng và nh ng gì nó có thữ ể làm,
các ứng dụng có thể làm điều đó cho người dùng
Cloud tạo ra sự ồ d i dào về ứ s c mạnh tính toán mà một máy tính đ bàn ểkhông thể có đư c ợ
• Accessible: Với dữ liệu đư c lưu tr trong Cloud, người dùng ngay l p tợ ữ ậ ức
Trang 17• Intelligent: Với tất cả những dữ liệu khác nhau đư c lưu trên các máy tính ợtrong Cloud, khai phá và phân tích dữ ệ li u là cần thiế ểt đ truy c p thông tin ậ
cung cấp bởi Google như: Google Docs & Spreadsheets, Google Calendar, Gmail, Picasa, T t cấ ả các ứng dụng này đư c lưu trữ ợ trên máy chủ ủ c a Google, có thể được truy c p bở ấ ỳậ i b t k ngư i dùng nào có kế ốờ t n i Internet, và có th s d ng cho ể ử ụ
cộng tác nhóm từ ất kỳ nơi nào trên thế giới b
S ự quan tâm về Cloud Computing ngày càng tăng bởi các giải pháp của Cloud
(supercomputer) v i chi phí nhớ ỏ và phục vụ theo yêu u ccầ ủa người dùng Cloud Computing được dự đoán s có sẽ ự tăng trư ng đáng k ở ể trong chi tiêu cho CNTT trên toàn thế ớ gi i Theo IDC (International Data Corporation), các dịch vụ ủ c a Cloud Computing d ự kiến sẽ tăng trưởng với tốc đ tăng trưởng bình quân hàng năm ộ
tiêu cho các d ch vị ụ không d trên Cloud Computing d ự ự kiến sẽ tăng 5%,
Chi tiêu về IT của toàn thế giới năm 2008 và 2012
Trang 18Tóm lại, Cloud Computing mang đến một sự thay đổi từ máy tính đ n ngư i dùng, ế ờ
t ừ ứng dụng tới tác vụ (task), và từ ữ liệu bị cô lập thành dữ liệu có thể được truy d
cập từ ất cứ nơi nào và chia sẻ ới bất cứ ai b v
1.2 Sơ lược lịch sử Cloud Computing
khách/ch và eer to eer istributed ủ) P - -P D Computing (điện toán phân tán ngang hàng)
Tất cả đều tập trung vào cách thức lưu tr t p trung như thế nào để ễữ ậ d dàng c ng tác ộ(collaboration) và cách thức nhiều máy tính làm việc cùng nhau như th nào gia ế đểtăng khả năng tính toán
Thời kỳ đầ u của đi n toán (trước những năm 1980 hoặệ c hơn), t t cấ ả ọ m i thứ ho t ạ
động d a trên mô hình client/server T t c các ng d ng ph n m m, d li u, và ự ấ ả ứ ụ ầ ề ữ ệ
điều khiển đượ ậc t p trung trên các mainframe computer (máy tính l n), đượớ c bi t ếđến như các server
viên công ngh thông tin) không ệ có thói quen điều khiển truy cập ngẫu nhiên Ngay
n-giám sát s c mứ ạnh đó Truy c p không tứậ c thời, và hai ngư i dùng không thể cùng ờtruy cập vào cùng mộ ữ ệt d li u trong cùng một th i đi m ờ ể
Thự ếc t , khi nhiều người chia s m t máy tính, ngay cả khi nếu đó là một máy tính ẻ ộmainframe lớn, thì ngư i dùng cũng c n phải chờ đợ ếờ ầ i đ n lư t phục vụ ủợ c a mình Tóm lại, không th luôn luôn truy cể ập tức thì trong môi trư ng client/server ờ
Vì vậy, mô hình client/server, trong khi cũng cung c p lưu trấ ữ ậ t p trung, nhưng khác với mô hình Cloud Computing ở chỗ nó không tập trung vào User centric; với -Client/Server Computing, t t c các hoấ ả ạ ột đ ng dựa vào mainframe, chịu sự giám sát
Trang 191.2.2 Peer-to-Peer Computing: Chia sẻ tài nguyên
Peer to- -Peer Computing (điện toán ngang hàng) [1] định nghĩa m t kiến trúc mạng, ộtrong đó mỗi máy tính có kh ảnăng và trách nhiệm tương đương nhau, điều này trái ngược v i ki n trúc m ng client/server truy n thống Trong môi trường P2P, mỗi ớ ế ạ ề
trực ti p các nguế ồn tài nguyên và d ch v mà không cị ụ ần một central server (máy
chủ trung tâm)nào
Một trong những tập con quan trọng nhất của mô hình P2P là Distributed Computing (điện toán phân tán [2], ở) đó các PCs nhàn rỗi trên mạng ho c trên ặInternet đư c khai thác đợ ể cung c p sứấ c m nh tính toán cho các d án l n, đòi h i ạ ự ớ ỏ
x ử lý chuyên sâu Đó là một khái niệm đơn gi n, về chia sẻ chu kỳ (cycle sharing) ảgiữa nhiều máy tính
T ừ những ngày đ u của lient erver Computing tiếp nối ầ C /S qua sự phát triển của P2P Computing, đã từng có một mong muốn cho nhiều người dùng làm việc đ ng th i ồ ờ
là động lực đằng sau Cloud Computing, nhưng đã xuất hiện đư c khoảợ ng hơn m t ộ
thập kỷ ự ộ S c ng tác nhóm (group collaboration) đã sớm đư c kích ho t bợ ạ ởi sự ế k t
cộng tác trong các dự án nhóm trực tuyến (group projects online), theo thời gian
th c.ự
Các hệ thống cộng tác tr i dài tả ừ tương đ i đơn gi n (Lotus Notes và Microsoft ố ảNetMeeting) đến c c k ph c tạp (kiếự ỳ ứ n trúc kh i xây d ng c a h th ng Groove ố ự ủ ệ ốNetworks) Hầu hết chúng đư c nhằm vào các tậợ p đoàn l n, và giớ ạn hoạ ộớ i h t đ ng trên các m ng riêng c a công ty.ạ ủ
Trang 201.2.5 Cloud Computing: Bướ c k tiếp củ ự ộ ế a s c ng tác
trường m ng c a doanh nghiạ ủ ệp, mà vượt ra ngoài ranh giới công ty và ranh giớ ịa i đ
lý Khái niệm các d ch v và tài liị ụ ệu dựa trên cơ s đám mây (cloud-based) đã c t ở ấcánh cùng v i s phát triớ ự ển của các erver farmss (trung tâm dữ liệu lớn), chẳng hạn như Google và các công ty tìm kiếm khác
cứng cần thiế ểt đ xây dựng những Cloud network (mạng lư i Cloud) ớ
trên nền tảng Cloud
1.3 Ưu điể m c a Cloud Computing ủ
1.3.1 Giảm chi phí phần cứng cho người dùng
Đây là mộ ợt l i thế tài chính v mề ặt định lư ng: ngư i dùng không c n ph i có máy ợ ờ ầ ảtính cấu hình cao đ chạể y các ứng dụng trên nền web (web based) c- ủa Cloud Computing Bởi ứng dụng chạy trong Cloud, nên máy tính đ bàn PC không cần ểnhiều sức mạnh xử lý ho c không gian đĩa c ng so v i các theo yêu c u c a ph n ặ ứ ớ ầ ủ ầ
Computing có thể ả gi m xuống với các ổ đĩa c ng nhỏứ hơn, ít b nh hơn, ộ ớ
Khi người dùng tham gia vào một hệ th ng Cloud Computing, họố đư c tùy ý sử ợ
tính toán (supercomptuing) của hàng ngàn máy tính
Trong một tổ chức lớn, bộ phận IT cũng có th ậể nh n thấy chi phí thấp hơn t việc ừ
Trang 21sung hoặc thay th các tài nguyên tính toán n i bế ộ ộ Những công ty có nhu cầu tính toán cực đại (peak computing) không còn ph i mua thi t bả ế ị để ử x lý các đ nh tính ỉtoán (và sau đó không sử ụ d ng th i gian còn l i); nhu c u về đỉờ ạ ầ nh tính toán (peak computing) có thể ễ d dàng được x lý b i máy tính và máy ch ử ở ủtrong Cloud.
cho các tổ chức thuộc mọi quy mô Về phần cứng, vớ ối s lư ng phần cứng ít hơn ợ(một vài servers) trong tổ ức, chi phí b o trì hch ả ệ ốth ng đư c giảm xuống Vềợ ph n ầ
trách nhiệm bảo trì
đích sử ụ d ng c a mình Chi phí thuê các phần mềm và dịch vụ ứủ ng d ng này sụ ẽ có giá thấp hơn đáng kể so với phần mềm cho máy tính đ ể bàn Trong thực tế, nhiều công ty (như Google) cung cấp mi n phí các ng d ng c a h trên n n tảng web ễ ứ ụ ủ ọ ềcho cả cá nhân và t ch c ổ ứ
động x y ra và có hi u lả ệ ực khi ngư i dùng đăng nh p vào Cloud lầờ ậ n kế ế ti p sau đó
nhận được phiên b n mả ới nh t, mà không c n ph i tr ti n ho c t i v m t b n nâng ấ ầ ả ả ề ặ ả ề ộ ả
cấp
V mề ặt dữ liệu, Cloud luôn lưu tr phiên bản tài liệu mới nhất của người dùng, ọữ h
tính đang làm việc
Trang 221.3.7 Không gian lưu trữ ớ l n
Cloud cung cấp dung lư ng lưu trợ ữ ầ h u như vô h n Khảạ năng lưu tr cữ ủa các máy tính để bàn kho ng 200GB, rả ất nhỏ khi so sánh với hàng trăm petabyte (m t tri u ộ ệgigabyte) có sẵn trong Cloud
1.3.8 Nâng cao độ an toàn
Không giống như máy tính đ bàn, khi đĩa c ng bị ỏể ổ ứ h ng có thể phá h y toàn dữ ủ
liệu có giá trị ủ c a người dùng, m t máy tính bộ ị ỏ h ng trong Cloud không ảnh hư ng ở
đến lưu tr d li u c a h Đó là b i vì d li u trong Cloud tự độữ ữ ệ ủ ọ ở ữ ệ ng đư c sao chép ợ
lại, do đó không bao giờ b mị ất Đi u đó cũng có nghĩa là n u máy tính cá nhân củề ế a người dùng b hị ỏng, tấ ảt c các d li u c a h v n còn trong Cloud, và vữ ệ ủ ọ ẫ ẫn có thểtruy cập
1.3.9 Tăng tính tương thích
máy tính vớ ệi h đi u hành ề Windows đến đám mây và chia s tài liệu vớẻ i các máy tính chạy hệ đi u hành Mac, Linux, hoề ặc UNIX Trong Cloud, dữ liệu m i quan ớtrọng, chứ không phải là hệ ề đi u hành
Ngoài ra, người dùng cũng không c n ph i lo lắầ ả ng v ềtính tương thích gi a các đữ ịnh
dạng tài liệu Tất cả các tài liệu đư c tạo ra bởi các ứng dụng trên nền tảng web có ợthể đư c đọc bợ ởi bấ ỳt k ngư i dùng nào truy c p tờ ậ ớ ứi ng d ng đó ụ
Chia sẻ tài liệu dẫn đến cộng tác trên các tài liệu Đ nhi u ngưể ề ời sử ụ d ng, đây là
ngườ ử ụi s d ng để ễ d dàng c ng tác trên các tài li u và các d án Ngư i dùng có th ộ ệ ự ờ ểtruy c p các tài liậ ệu của dự án đ ng thờồ i; những sửa đổi c a hủ ọ ẽ ự độ s t ng đư c ợphản ánh tới những người khác, b i tài liở ệu được lưu tr trong Cloud V i Cloud ữ ớ
Trang 231.4 Nhược điể m c a Cloud Computing ủ
cũng gặp phải m t s nh ng r i ro sau ộ ố ữ ủ
Người dùng kế ốt n i và s d ng các ng d ng, dịử ụ ứ ụ ch v và tài li u thông qua Internet ụ ệKhông thể có Cloud Computing nếu ngườ ụi d ng không kế ốt n i với Internet
Những kết nối Internet tốc đ thộ ấp, như d ch vụ ị dial-up, làm cho Cloud Computing hoạ ột đ ng không hiệu quả và gây ra các phi n toái Các ứề ng d ng nụ ền tảng web, các tài liệu kích thước lớn thư ng đòi h i nhiềờ ỏ u băng thông đ ể thao tác xử lý Nói cách
1.4.3 Tố c đ x ộ ửlý có thể ch m ậ
Ngay cả ớ v i m t k t n i nhanh, ộ ế ố ứng dụng dựa trên web đôi khi có th ch m hơn so ể ậ
Đó là bởi vì tất cả ọ m i thứ: chương trình, giao diện, dữ ệ li u mà ngư i dùng s d ng ờ ử ụđượ ảc t i lên đám mây, ch x lý và tr k t qu v cho ngư i dùng N u các máy ch ờ ử ả ế ả ề ờ ế ủCloud đang bận (ví d : th c hi n sao lưu, ), ho c n u kếụ ự ệ ặ ế t n i Internet b ch m, ố ị ậngười dùng s ẽ không nhận đư c truy cập ngay lậợ p t c như đang s d ng với các ứ ử ụ
ứng d ng máy tính đ ụ ểbàn
1.4.4 Tính năng có thể ị b giới hạn
Tuy nhiên những bất l i này có thợ ể đư c thay đợ ổi theo th i gian mà minh ch ng là ờ ứ
Trang 24khuyết đi m, nhưng ngày càng đư c c i tiể ợ ả ến đ ểcó th thay thể ế ầ d n Microsoft Word
và Excel
Không đảm bảo về tính sẵn sàng cũng là một trở ngại hiện nay, khi chỉ có một số rất
ít nhà cung cấp dịch vụ cam kết được về sự sẵn sàng và liên tục của dịch vụ, về thời gian sửa chữa và phục hồi dữ liệu Nói cách khác, những dịch vụ Cloud Computing
có vẻ không đáng tin cậy đối với một số ứng dụng quan trọng và có yêu cầu cao
Computing, tất cả các dữ liệu của người dùng được lưu trữ trên mây Khi dữ liệu được cập nhật trong Cloud, nó có thể dễ dàng bị những tên tội phạm mạng, gián điệp và những đối thủ cạnh tranh xâm nhập Thực tế hiện nay các nhà cung cấp dịch
vụ Cloud Computing vẫn chưa có một phương pháp bảo vệ nào trong trường hợp dữ liệu bị xâm nhập
Trang 25CHƯƠNG 2: KIẾN TRÚC VÀ CÔNG NGHỆ Ỗ H TR Ợ
CLOUD COMPUTING
2.1.1 Khung SPI cho Cloud Computing
Để mô t các d ch v chính c a Cloud Computing, ngườả ị ụ ủ i ta thư ng s d ng ch ờ ử ụ ữviết t t "SPI", là vi t t t c a ba d ch vắ ế ắ ủ ị ụ chủ ế y u đư c cung c p thông qua Cloud: ợ ấphần mềm như mộ ịt d ch v (SaaS), n n tảụ ề ng như mộ ịt d ch v ( PaaS), và cơ s h ụ ở ạ
tầng như m t dịch vụ (IaaS) Hình 2.1 minh hoạ ối quan hệ giữa dịch vụộ m , ngư i ờdùng và các kiểu Cloud
Hình 2.1: Mô hình dịch v ụSPI
Trang 262.1.2 Mô hình dịch vụ ủ c a Cloud Computing
Mô hình các d ch vị ụ phân phối của Cloud Computing thư ng đườ ợc g i là mọ ột SPI
Các phương mua bán phần mềm truy n th ng bao gồề ố m vi c khách hàng t i ph n ệ ả ầ
mềm về, chạy trên phần cứng riêng của mình và trả phí bản quyền (đư c gọi là ợCapEx) Khách hàng cũng có thể mua m t hợộ p đ ng bồ ảo trì để nh n đư c các bản ậ ợ
năng tương thích với các h ềệ đi u hành khác nhau, cài đ t b n vá, và việặ ả c tuân th ủcác th a thuỏ ận về ấ gi y phép sử ụ d ng
Trong một mô hình Soft- -a-as Service (SaaS), khách hàng không phải mua phần
mềm, mà thuê để s dử ụng dư i dạng một thuê bao hoặc theo mô hình pay-ớ per use (được gọi là OpEx) Trong một số trường h p, dịch vụợ mi n phí đư c cung cấp ễ ợmiễn phí song khả năng s d ng bử ụ ị ạ h n chế Thông thường, dịch vụ được mua sẽ có
-đầy đ ph n c ng, ph n m m, và h tr Ngư i dùng truy c p d ch v thông qua b t ủ ầ ứ ầ ề ỗ ợ ờ ậ ị ụ ấ
k ỳ thiết bị nào đã được cho phép
Lợi ích chính của mô hình SaaS bao gồm:
• SaaS cho phép các tổ ch c thuê ngoài d ch v lưu tr -hosting và qu n lý ứ ị ụ ữ ả ứng
có nghĩa là giảm chi phí mua bản quy n ph n m m, các máy chề ầ ề ủ, và cơ sở ạ h
tầng khác cũng như nhân l c cần thiế ểự t đ cần thiế ểt đ lưu trữ các ứng dụng
nội bộ
Trang 27• SaaS cho phép công ty bán phần mềm kiểm soát và gi i hớ ạn sử ụ d ng, cấm sao chép và phân phối, và ki m soát c a tể ủ ất cả các phiên bản phần mềm của
h ọ
• Các ứng d ng phân ph i b ng cách s d ng mô hình SaaS thư ng s d ng ụ ố ằ ử ụ ờ ử ụphương pháp phân phối m t-nhiều (one- -ộ to many), với cơ s h t ng Web ở ạ ầ
duyệt web, m t sộ ố nhà cung c p SaaS cungấ cấp giao diện riêng c a hủ ọ đư c ợthiết kế để ỗ h ợ cho các tính năng đ c trưng ctr ặ ủ ứng dụng a
• Việc tri n khai SaaS không yêu cể ầu về phần cứng và có thể ự th c hiện đư c ợtrên các cơ sở ạ ầ h t ng hi n t i có kh ệ ạ ảnăng truy cập Internet
• Quản lý ng d ng SaaS đư c h tr b i các các công ty bán ph n m m t ứ ụ ợ ỗ ợ ở ầ ề ừgóc độ ngư i dùng cu i, theo đó m t ng d ng SaaS có thểờ ố ộ ứ ụ đư c cấu hình ợ
một số tham số và chức năng b ng cách sử ụng các APIs.ằ d
Mô hình SaaS là một mô hình ki n trúc đa thuê-multitenant, nghĩa là cơ s h t ng ế ở ạ ầ
mỗi khách hàng về m t logic Ki n trúc multitenant tặ ế ối đa hóa chia s ẻ tài nguyên
2.1.2.2 PaaS-Mô hình nền tả ng như m t d ch v ộ ị ụ
một môi trư ng phát triển cho nhữờ ng ngư i phát triển ứng dụng, họ phát triển ứng ờdụng và cung cấp những d ch vị ụ này thông qua n n tề ảng của nhà cung cấp (provider) Các provider thường phát triển các b công c (toolkits) và tiêu chu n ộ ụ ẩcho quá trình phát triển, và các kênh đ phân ph i và thanh toán Provider thư ng ể ố ờnhận đư c một khoản thanh toán cho viợ ệc cung cấp nề ảng, bán và phân phố ịn t i d ch
v ụ
PaaS là m t biộ ến thể ủ c a SaaS, theo đó các môi trường phát triển đư c cung cấp ợnhư một d ch v Ngư i phát tri n sử ụị ụ ờ ể d ng các kh i xây dựng-building blocks (ví ố
Trang 28dụ, các khối code đư c đ nh nghĩa trư c) củợ ị ớ a môi trư ng phát triển của vendor ờ(người bán d ch v ) t o ra các ng dụng riêng củị ụ để ạ ứ a h ọ
Các giải pháp PaaS là nền tảng phát triển mà công cụ phát triển-đư c lưu tr trong ợ ữCloud và truy cập thông qua một trình duy t V i PaaS, các nhà phát tri n có thệ ớ ể ể xây dựng các ứng d ng web mà không cụ ần cài đ t b t kặ ấ ỳ công cụ trên máy tính c a ủ
quản tr h th ng đặc biệt nào ị ệ ố
Nền tảng PaaS có những chức năng khác biệt so với nền tảng phát triển truyền thống, bao gồm:
• Các công cụ phát tri n multitenant: Các công cụể phát tri n truy n th ng ch u ể ề ố ị
s ự tác động của một ngư i dùng duy nhấờ t; nhưng m t môi trư ng phát triển ộ ờ
dựa trên nền tảng Cloud phải hỗ trợ đa người dùng, mỗi ngư i dùng với ờnhiều dự án đang ho t đạ ộng khác nhau
• Kiến trúc tri n khai multitenant: Trong PaaS, khảể năng m r ng ng d ng và ở ộ ứ ụcác tầng dữ liệu phải được xây d ng sự ẵn bên trong (ví dụ, cân bằng tải-load balancing và khả năng ch u lỗi-ị failover là những yếu tố cơ bản của nền tảng phát triển Cloud)
• Tích hợp qu n lý: Các giảả i pháp phát tri n truy n th ng (thư ng) không đư c ể ề ố ờ ợ
khả năng giám sát ph i đư c xây dựng và phát triể ả ợ n
2.1.2.3 IaaS-Mô hình hạ ầ t ng như là m t dịch vụ ộ
Trong mô hình ứng dụng truyền thống, vender cung cấp toàn bộ cơ s h tở ạ ầng cho
Infrastructure as- -a-Service (IaaS) cũng cung cấp cơ sở ạ ầ h t ng đ ch y các ng ể ạ ứ
Trang 29IaaS, có thể xây d ng mộự t cơ s h t ng ki m soát nhu cở ạ ầ ể ầ ả ựu t i c c đ i và th p nh t ạ ấ ấ
vendor có thể chỉ bao quát việc lưu trữ ứ ng dụng, hoặc có thể m r ng sang các ở ộ
dịch vụ khác (như hỗ ợ ứ tr ng dụng, phát tri n ứể ng d ng, và nâng cấp) ụ
tưởng cơ b n là cung cấả p d ch v ị ụ tính toán như là các tiện ích hay yêu cầu (utilities) Tức là, người dùng phải trả tiền cho sức mạnh xử lý, không gian đĩa,…
trực tuyến tách người dùng ra khỏi các chi ti t cế ủa cơ sở ạ ầ h t ng, bao gồm các tài nguyên tính toán v t lý, phân vùng dậ ữ ệ li u, bảo mật, sao lưu,… Trong Cloud Computing, nhà cung c p kiấ ểm soát toàn bộ cơ s h t ng Ngưở ạ ầ ợc lại, trong Utility Computing, người dùng ph i tìm ki m d ch v cho phép h tri n khai, qu n lý và ả ế ị ụ ọ ể ả
nguồn tài nguyên tiêu th ụ
Tính năng của m t h th ng IaaS thư ng bao g m: ộ ệ ố ờ ồ
• Khả năng m r ng: Các yêu cầ ở ộ u v kh năng m r ng cơ sở ạ ầề ả ở ộ h t ng, ch ng ẳ
hạn như tài nguyên tính toán, b nhớ và không gian lưu trữ (với tốộ c đ cao, ộ
gần như th i gian thực) dựa trên yêu cầu sử ụng.ờ d
• Pay as you go: Khả năng chi tr lư ng tiềả ợ n chính xác cho cơ s h t ng yêu ở ạ ầ
cầu tại bất kỳ thời đi m nào.ể
• Công nghệ và tài nguyên t t nh t: Truy cập tới các giải pháp công nghệ ốt ố ấ t
nhấ ớt v i chi phí thấp
2.1.3 Các mô hình triển khai Cloud Conputing
Cloud là m t thuộ ật ngữ ẩ n dụ cho Internet và là m t biộ ểu diễn đơn giản cho các thiết
b ịphức tạp, kết nối và hoạ ột đ ng trên môi trư ng Internet Private Cloud và Public ờCloud là tập con của Internet và đư c đ nh nghĩa dợ ị ựa trên m i quan hố ệ ủ c a chúng
Trang 30đối v i doanh nghi p Private Cloud và Public Cloud cũng có th đư c xem như ớ ệ ể ợInternal Cloud và External Cloud
Các khái ni m Private Cloud và Public Cloud r t quan trệ ấ ọng bởi vì chúng hỗ trợ cho
rộng và ảo hóa qua các kết nối Internet bởi một vendor hoặc một tổ chức, một doanh nghiệp CNTT t i các khách hàng v i m t m c chi phí nhấ ịớ ớ ộ ứ t đ nh Ngư i dùng ờ
cu i (end user) ố - s dử ụng các d ch vị ụ được cung cấp thông qua Cloud Computing có thể không có ki n thức, chuyên môn, hoế ặc kiểm soát các cơ s h tở ạ ầng công nghệ
h ỗ trợ ọ h
Phần lớn các cơ s h t ng Cloud Computing bao gồm các ch vở ạ ầ dị ụ đư c phân phối ợxác th c thông qua các ự Data Center (trung tâm dữ liệu) và được xây d ng trên các ựservers với các mức khác nhau của công ngh o hóa Nh ng d ch v này có th ệ ả ữ ị ụ ểtruy cập bấ ừ ứt t c nơi nào có quy n truy cập vào cơ sở ạ ầề h t ng m ng Cloud xuất ạhiện như một đi m truy cể ập duy nh t cho tấ ấ ả t c các nhu cầu tính toán của ngư i ờdùng
2.1.3.1 Public Clouds
Public Clouds (hoặc External Clouds) mô tả Cloud Computing theo ý nghĩa truyền thống, theo đó các tài nguyên, ngu n lựồ c đư c truy cợ ập công cộng ự độ, t ng cung
cấp, tự phục vụ (self service) thông qua các Web Services (ví dụ: SOAP Simple -
Public Cloud được lưu tr , v n hành và quảữ ậ n lý b i m t hãng thứở ộ ba t m t hoặc ừ ộnhi u ề Data enter, theo mô hình payC -for use Dịch vụ này được cung cấ- p cho nhiều người dùng thông qua một cơ s h t ng chung (hình 2.2 ở ạ ầ )
Trang 31Hình 2.2: Public Cloud2.1.3.2 Private Clouds
Private Clouds (ho c Internal Clouds) là nhặ ững thuật ngữ mô t ảcác d ch vị ụ Cloud
khác với Public Clouds về cơ s h t ng mạở ạ ầ ng, tính toán, lưu tr ,…chúng được ữdành riêng cho một tổ chức duy nhất và không chia sẻ ớ v i b t kấ ỳ ổ t chức nào khác (ví d , các Clouds dành riêng cho m t tụ ộ ổ chức, người dùng)
Nhìn chung, trong m t mô hình hoộ ạ ột đ ng của Private Clouds, quản lý b o mả ật và
nhiệm
2.1.3.3 Hybrid Clouds
Hybird Clouds là sự ế k t hợp của Public Clouds và Private Clouds V i Hybrid ớClouds, các tổ chức có thể thực thi các ứng dụng thông thường trên các Public Clouds, trong khi duy trì các ứng dụng lõi quan trọng và dữ ệ li u nhạy cảm trong Private Clouds (hình 2.3)
Trang 32Hình 2.3: Hybrid Cloud
Cloud Computing không phải là một công nghệ m i mà là sự ếớ k t hợp c a nhiủ ều công nghệ trư c đó Nh ng công nghệớ ữ này đã phát triển với các mức đ , bộ ối cảnh khác nhau và không được thiết kế liền mạch, tuy nhiên, họ đã được kết hợp với nhau để thành m t môi trư ng kỹộ ờ thu t cho Cloud Computing Nh ng ti n bộ ớậ ữ ế m i trong vi xử lý, công ngh o hóa, ổệ ả đĩa lưu trữ, k t nế ối Internet băng thông r ng, và ộmáy tính đem lại sức mạnh tính toán cao và chi phí sản xuất giảm, đã được k t hế ợp
Trang 33Hình 2.4: Kiến trúc các công nghệ ỗ trợ Cloud Computing h
Phạm vi của các thiết bị truy cập cho Cloud đã mở ộ r ng trong những năm g n đây ầMáy tính cá nhân PCs, máy tính doanh nghiệp, m ng máy tính, thiạ ết bị ệ đi n thoại di
động, các thi t b c m tay cá nhân, và các thi t b gia d ng,… t t c u online ế ị ầ ế ị ụ ấ ả đề
App Store minh họa cho sự ả c i tiến khả năng truy cập vào các Clouds Sự gia tăng truy cập này là kết quả ủ c a vi c sệ ử ụ d ng nhiều và tăng trư ng củở a d ch v Cloud Ví ị ụ
d : ụ người dùng có thể ử ụng Skype thông qua iPhone, do đó đưa mạng ngang s dhàng P2P gần gũi hơn v i ngư i sớ ờ ử ụ d ng; và Salesforce.com cũng đã giới thiệu một
ứng d ng cho phép người dùng truy c p dụ ậ ịch vụ của mình t ừiPhone…
Trang 342.2.2 Trình duy t và mô hình thin clientsệ
Nhiều loại thiế ị ủt b c a ngư i dùng có thểờ truy cập các ứng d ng và thông tin tụ ừ ấ b t
c ứ nơi nào họ muốn, miễn là họ có một trình duyệ (browser) Thật vậy, trình duyệt t đang ngày càng trở nên tinh vi hơn Các ng d ng doanh nghiệứ ụ p, ch ng hẳ ạn như SAP và Oracle, có thể được truy cập thông qua m t giao diộ ện trình duyệt- một sự chuyển dịch so với mô hình fat clients (là mô hình mà ứng dụng cần phải đư c tải ợlên các máy tính để bàn )
các phương tiện đ k t nối các thành phầể ế n và cung c p m t trong nhữấ ộ ng s khác ựbiệt đáng k t khái ni m đi n toán theo yêu c u (ể ừ ệ ệ ầ Utility Computing) của 30 năm trư c đây Hiớ ện nay, truy c p băng thông r ng truy trởậ ộ nên ph bi n rổ ế ộng rãi, đặc biệt là ở các vùng đô th Truy cậị p không dây (ví d : WiFi, WiMAX) c ng phát ụ ũtriển m nh, cho phép thiạ ết l p các thi t bậ ế ị di đ ng thành các đi m truy nhập tớộ ể i các nguồn tài nguyên của doanh nghiệp và các Clouds
Các d ch vị ụ ự d a trên nền t ng Cloud (Cloudả -based services) yêu cầu khả năng tính toán lớn và đư c lưu tr tợ ữ ại các Data Centers và Server Farms Các Data Centers và
Server arms phân tán được phân bố ại nhiềF t u đ a đi m và có thể được kết nối ị ểthông qua Internet để cung c p tính toán phân tán và cung c p các d ch v ấ ấ ị ụ
Cloud Computing Ví dụ: Google liên kết với m t sộ ố lượng rất l n các máy chớ ủ ẻ r tiền đ cung c p một s c mể ấ ứ ạnh tính toán lớn và linh hoạ Amazon Elastic Compute t; Cloud (EC2) mang đến sự ả o hóa trong các trung tâm dữ ệ li u để ạ t o ra s lư ng lớn ố ợcác virtual instances (thể ệ hi n ảo) cho các yêu cầu dịch vụ; Salesforce.com cung cấp
Trang 352.2.5 Thi t bế ị lưu tr ữ
Giảm chi phí và tăng tính linh ho t trong lưu tr đư c triạ ữ ợ ển khai đã thay đổi cảnh quan lưu trữ Nh ng truy cậữ p tĩnh tr c ti p vào ự ế các thiết bị lưu trữ (DASD) đã được thay thế ằ b ng các mạng lưu tr (ữ SAN), làm gi m chi phí và cho phép m t thả ộ ỏa thuận linh hoạt hơn trong lưu tr cữ ủa doanh nghi p Phệ ần m m qu n lý SAN tích ề ả
qua số ợ lư ng thiế ịt b
Virtualization-Ảo hóa [4] là công nghệ ền tảng của Cloud Computing, làm thay n
đổ ộ ặ ủi b m t c a các data centers hi n t i Thu t ng virtualization cho bi t tính tr u ệ ạ ậ ữ ế ừ
tượng c a các nguồn tài nguyên tính toán (CPU, storage-ủ lưu trữ, network- m ng, ạmemory-b ộ nhớ, application stack-ngăn xếp ứng dụ , và ng database-cơ sở ữ d ệu) từ licác ứng dụng và ngư i dùng cuờ ối sử ụ d ng dịch vụ Sự ừ tr u tư ng củợ a hạ ầ t ng cơ s ởlàm nảy sinh khái niệm resource democratization (dân ch ủ tài nguyên) về cơ s h ở ạ
góp chung để ẵ s n có và d dàng ti p cận vớ ấ ỳễ ế i b t k ai hay b t c ềấ ứđi u gì được phép
để ử ụ s d ng chúng thông qua các phương th c đã đư c chu n hóa ứ ợ ẩ
cách cung cấp một nền tảng tài nguyên chia s , có khẻ ả năng m rở ộng (scalable) cho
tất cả những ngư i thuê dịch vụ Quan trọng hơn, chúng cung cấp một cái nhìn ờchuyên nghiệp hơn v tài nguyên và ngư i dùng Từề ờ góc đ ộ doanh nghiệp, ảo hóa mang lại sự ợ h p nhất của các datacenters và nâng cao hiệu quả hoạ ột đ ng của lĩnh
ảo hóa trong các data centers v i các hình th c khác nhau, bao gớ ứ ồm hệ ề đi u hành ảo (VMware, Xen), lưu trữ ả o (NAS, SAN), ảo hóa cơ sở ữ ệ d li u, và các ng d ng ứ ụhoặc phần mềm ảo hóa (Apache Tomcat, JBoss, Oracle App Server, WebSphere)
Trang 36Xuất phát t Pulic Clouds, phừ ụ thu c vào mô hình phân phối và ki n trúc các dộ ế ịch
của các dịch vụ ảo hóa (ví dụ, hệ ề đi u hành, lưu tr , cơ s d li u, ữ ở ữ ệ ứng dụng)
Hình 2.5 minh hoạ ệ h điều hành ảo hóa và các tầng của môi trư ng ảo hóa được ờ
ServePath (GoGrid), và Sun Cloud, cho phép khách hàng chạy nhiều thể hiện (instances) khác nhau c a các hủ ệ đi u hành trong mề ột Public Cloud Nền tảng ảo hóa được hi n th trong hình 2.ể ị 5 là môi trường Sun xVM hypervisor ảo hóa các tài nguyên phần cứng chia s cho khách hàng hoẻ ặc hoặc các điều hành máy chủ ả o
Hypervisor là mộ ứng dụng nhỏ ạy ở ầt ch t ng trên cùng c a lủ ớp vật lý phần cứng máy tính, nó cài đặt và quản lý CPU ảo (vCPU), bộ nh ớ ảo (vMemory), các kênh sự
kiện, và bộ ớnh đư c chia sẻ ởợ b i các máy ảo cư trú trên đó (VMs) Nó cũng đi u ềkhiển các ho t đ ng vào/ra (I/O) và truy c p bộạ ộ ậ nh t i các thi t b ớ ớ ế ị
Trong Xen, cũng như Sun xVM (được d a trên n n tảng Xen), mộự ề t máy o VM ả
được g i là m t tên mi n-domain, trong khi VMware nó đư c g i là m t h ều ọ ộ ề ở ợ ọ ộ ệ đihành khách-guest OS Trong hình 2.5, các máy ảo được gán nhãn là dom0 và domU1, domU2, và domU3 Dom0 được s dử ụng để quản lý các tên mi n khác ề(domU1,… ) VMware sử ụ d ng một cơ chế tương t , gọi là "service console" Quá ựtrình qu n trả ị thông qua Dom0 hoặc qua service console bao gồm việc creating-t oạ , destroying-h y, ủ migrating di trú, saving lưu trữ, hoặc khôi phục lại các user - -domain M t hộ ệ ề đi u hành chạy trong một user domain được cấu hình đ có quy n ể ềhoạ ột đ ng thông qua các l i g i t i hypervisor ờ ọ ớ
Trang 37Hình 2.5: Môi trường Sun xVM hypervisor
Ngoài ảo hóa hệ điều hành và ảo hóa lưu tr , các nhà cung cữ ấp dịch vụ SaaS và PaaS được biế ết đ n v i vai trò ớ cài đặt phần m m và cơ sở ữ ệ ảề d li u o hóa, theo đó khách hàng chia sẻ stack ứng d ng phụ ần mềm và các tài nguyên cơ sở ữ d ệli u Ví
tất cả các khách hàng chia sẻ ọi lớp duy nhấ ủ m t c a cơ sở h tạ ầng phân phối
cho người dùng b ng cách chằ o phép các tính năng như tự cung c p (self-ấprovisioning) và điều khi n chương trình c a các dịch vụể ủ và tài nguyên c a Cloud ủ
hiện khác nhau, từ thao tác URL đơn gi n đả ến mô hình lập trình tiên tiến SOA APIs cũng trợ giúp đ khai thác đ y đ ti m năng c a Cloud Computing và những ể ầ ủ ề ủ
Cloud
Trang 38APIs được cung c p b i các nhà cung c p d ch v Cloud (Cloud Servrce Providers) ấ ở ấ ị ụ
tài nguyên Cloud, bao gồm tính toán, lưu tr , và các thành phầữ n mạng Trong
PUT, và DELETE được s d ng, m c dù hầu hếử ụ ặ t các công vi c có th ệ ể được th c ự
JavaScript Object Notation (JSON) Ví dụ, các đ c đi m của Sun Cloud API bao ặ ể
• Các hành vi thông thường đư c áp dụng cho tấ ảợ t c các yêu c u và các hồầ i đáp
• Các mô hình tài nguyên, mô tả ấ c u trúc dữ liệu JSON được sử ụ d ng trong các yêu cầu và hồi đáp
• Các yêu c u có thầ ể được gửi đến các tài nguyên Cloud, và những phản ứng mong đợi
Tất cả các nhà phát triển *aaS cần phải nắm rõ các APIs cụ thể để triển khai và quản
các APIs ngoài các chức năng nhập (import) và xu t (export) sấ ử ụ d ng trình duyệt hoặc các scripts s d ng HTTP(S) và các phương th c URI ử ụ ứ
Trang 39Hiện tại, một trong những thách thức chính mà ngư i dùng Cloud Computing phải ờ
đối m t là m i CSP ch có m t API duy nh t Kặ ỗ ỉ ộ ấ ết quả là, các ứng dụng Cloud
các Cloud (bao gồm cả Private Clouds) là rất khó khăn Vì các APIs là duy nhất cho
m i dỗ ịch vụ Cloud, nên các nhà kiến trúc, phát triển, và nhân viên trung tâm dữ ệ li u phả ắi n m rõ các đ c tính c a t ng nền tảng cụ th ặ ủ ừ ể
các nhà cung cấp và cộng đ ng ngư i dùng đang n l c thúc đ y sự chuẩồ ờ ỗ ự ẩ n hóa Một trong nh ng kữ ết quả đó là Universal Cloud Interface (UCI), m t giao diệộ n Cloud chuẩn hóa và mở để ố th ng nh t các APIs c a các Clouds khác nhau ấ ủ
2.2.8 Web service và Service Oreinted Architecture (SOA)
SOA là một hư ng tiếp c n mớ ậ ới trong ki n trúc phế ần mềm ứng dụng, trong đó, m t ộ
ứng d ng đư c c u thành từụ ợ ấ m t t p các thành ph n đ c l p, phân tán, ph i h p ộ ậ ầ ộ ậ ố ợ
hoạ ột đ ng với nhau đư c gọi là các service Các service có thể được phân tán bất cứợ
thể ồ t n tại trên nhiều n n t ng khác nhau, và có thề ả ể đư c cài đ t b i các ngôn ngợ ặ ở ữ lập trình khác nhau
Điểm m u ch t c a SOA là các ch c năng c a service đư c công b dư i d ng m t ấ ố ủ ứ ủ ợ ố ớ ạ ộgiao diện chuẩn Chi tiết cài đặt cụ thể các chức năng được che dấu, và ngư i dùng ờservice cũng không c n quan tâm đầ ến; ngư i dùng chỉ ọờ g i sử ụ d ng các chức năng
của service thông qua các phương thức công bố trên giao diện Có thể thấy tính đóng gói này được k th a t ế ừ ừphương pháp lập trình hướng đối tượng
Cùng với sự ỗ h trợ ủ c a các service cơ bản như lập l ch truy xuất tài nguyên ị(scheduler service), chỉ mục (index service), tìm kiếm tài nguyên (discovery
năng giống nhau từ nhi u nguồề n, t ừđó chọn ra service t t nh t đ s dố ấ ể ử ụng, đáp ứng nhu c u cầ ủa ứng dụng
Trang 40Web Service là một công nghệ được sử ụ d ng rộng rãi đ triển khai mô hình SOA ểvào th c tự ế, nó đưa ra mô hình liên l c, trao đạ ổi giữa ứng d ng vụ ớ ứng dụng trên cơ i
Web Service sử ụ d ng ngôn ngữ Web Services Description Language (WSDL) đ ể
mô tả ộ n i dung và cách sử ụ d ng service; sử ụ d ng giao thức SOAP đ trao đ i các ể ổthông điệp giữa các Web service; s d ng ngôn ngữ đặ ảử ụ c t Universal Description,
ký service của mình và cho phép ngư i sử ụờ d ng Web service tìm đư c nhà cung cấp ợ
th a ỏ mãn yêu cầu mong muốn Ngoài ra, còn m t sộ ố chuẩn về đị nh nghĩa và triển khai chất lư ng dịch vụ ủợ c a Web service đang được xây dựng như WS-Security,
trong các Clouds có thể đư c quản lý bởợ i Service Oriented Architecture (SOA) Thêm vào đó, mộ ật t p các d ch v Cloud có th ợ ử ụị ụ ểđư c s d ng trong môi trư ng ng ờ ứ
truy cập qua Internet
2.2.9 Web 2.0
Web 2.0 mô tả các xu hư ng trong s d ng công ngh World WideWeb và thi t k ớ ử ụ ệ ế ếWeb để nâng cao sáng tạo, chia sẻ thông tin, và đáng chú ý nhất là c ng tác giộ ữa những người dùng Những khái niệm này đã dẫn đ n s phát tri n và ti n tri n c a ế ự ể ế ể ủ
cộng đ ng và các dịch vụ trên nền tảng web (web based) ].ồ - [5
Ý tưởng ch yủ ếu đằng sau Web 2.0 là c i tiếả n k t nốế i và tương tác của các ứng dụng web Mô hình mới đ phát tri n và truể ể y cập các ứng dụng Web cho phép người