Hơn thế nữa, điện toán đám mây đã sẵn sàng thực hiện theo những cách “riêng biệt” để làm tăng sự hài lòng của người sử dụng bằng cách đơn giản hóa việc sử dụng các ứng dụng CNTT, giảm ch
Trang 1MỤC LỤC
- -MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT 4
DANH MỤC CÁC HÌNH ẢNH 6
LỜI MỞ ĐẤU 7
NỘI DUNG 9
PHẦN 1: TÌM HIỂU VỀ CLOUD COMPUTING 9
I Tổng quan về Cloud computing 9
1 Đặt vấn đề - Giới thiệu về cloud computing 9
2 Định nghĩa 11
3 Lịch sử phát triển 13
4 Mô hình tổng quan 13
5 Phân loại lớp dịch vụ 14
6 Phân loại theo vị trí 16
6.1 Public Cloud 16
6.2 Private Cloud 16
6.3 Community Cloud 16
6.4 Hybrid Cloud 16
7 Các đặc điểm trong điện toán đám mây 19
7.1 Ưu điểm 19
7.2 Nhược điểm 22
II So sánh giữa grid computing và cloud computing 22
1.Mô hình thương mại (Business Model) 22
2 Mô hình kiến trúc (Architecture Model) 23
3.Kết hợp tính toán và quản lý dữ liệu (Combining compute and data management) .23
4.Ảo hóa (Virtualization) 24
5.Mô hình lập trình (Programming Model) 24
6.Mô hình ứng dụng (Application Model) 24
III Quản lý tài nguyên trong cloud computing 24
1.Tổng quan 24
2.Các dạng tài nguyên 25
3.Quản lý tài nguyên 26
3.1Quản lý tài nguyên tính toán 26
3.2Quản lý tài nguyên dữ liệu 27
3.3Quản lý tài nguyên năng lượng 28
IV Phần mềm (Software as a Service – SaaS) 28
1.Giới thiệu 28
Trang 22.Lợi ích của SaaS đem lại cho người dùng: 29
V Cơ sở hạ tầng (Infrastructure as a Service - IaaS) 29
1 Giới thiệu về IaaS (Infrastructure As A Service Operations) 29
2 Dịch vụ IaaS (Infrastructure As A Service Operations - IaaS) 31
3 Các đặc điểm của IaaS 32
4 Tổng quan về kiến trúc và hoạt động của IaaS trong điện toán đám mây 32
5 Cảnh báo khi sử dụng IaaS 33
VI Nền tảng (Platform As A Service - PaaS) 35
1 Tổng quan về PaaS 35
1.1Khái niệm và các định nghĩa 35
HÌNH 16 MÔ HÌNH PHÂN LỚP CỦA KIẾN TRÚC PAAS 35
1.2Các đặc điểm của PaaS 37
1.3 Ích lợi và trở ngại khi sử dụng dịch vụ PaaS 38
1.4 Một số tiêu chí so sánh đối với dịch vụ PaaS 40
2 Giới thiệu các nhà cung cấp điện toán đám mây 41
3 Những yêu cầu khi sử dụng dịch vụ PaaS 50
VII Sự phát triển của điện toán đám mây trong tương lai 51
1 Điện toán đám mây có thể phát triển như thế nào? 51
2.Dự báo của các nhà nghiên cứu 51
3.Ba giai đoạn phát triển của điện toán đám mây 52
4 Vấn đề an ninh trong điện toán đám mây công cộng 54
5 Hiện trạng ứng dụng điện toán đám mây công cộng ở Việt Nam 54
PHẦN 2: CHƯƠNG TRÌNH “ÁP DỤNG PARALLEL COMPUTING ĐỂ GIẢI BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT” – THUẬT TOÁN FLOYD 57
I.Xây dựng môi trường thực hiện bài toán 57
1.Xây dựng hệ thống 57
2.Sử dụng MPI (Message - Passing Interface) 58
II.Chương trình “Tìm đường đi ngắn nhất áp dụng thuật toán Floyd” 58
1.Mô tả bài toán 58
Thuật toán tuần tự 60
2.Các bước thiết kế thuật toán song song 61
2.1 Phân hoạch (Partitioning) 61
2.2 Giao tiếp (Communication) 61
2.3 Tích tụ (Agglomeration) và Ánh xạ (Mapping) 62
2.4 Ma trận I/O 63
2.5 Giao tiếp point-to-point 64
III.Phân tích và so sánh độ phức tạp 71
Tính speedup và Efficiency của thuật toán 72
NHƯ VẬY: THUẬT GIẢI TUẦN TỰ CÓ ĐỘ PHỨC TẠP THEO THỜI GIAN LÀ TS(N).[2] 72
Trang 3THUẬT GIẢI SONG SONG TRÊN P BỘ XỬ LÝ CÓ ĐỘ PHỨC TẠP LÀ TP(N).[2] 72
IV.Cài đặt chương trình 73
KẾT LUẬN 81 TÀI LIỆU THAM KHẢO 82
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
- -GAE G oogle A pp E ngine Công nghệ nền tảng điện toán đám
mây của GoogleGIS G eographic I nformation
S
ystem
Hệ thống thông tin địa lý
GPS G lobal P ositioning S ystem Hệ thống định vị toàn cầu
GWT G oogle W eb T oolkit Gói công cụ Web Google
HTML H yper t ext M arkup L anguage Ngôn ngữ đánh dấu siêu văn bản IaaS I nfrastructure a s a S ervice Hạ tầng như một dịch vụ
JPA J ava P ersistence A PI Giao diện lập trình ứng dụng Java
thống nhất JVM J ava V irtual M achine Máy ảo Java
NIST N ational I nstitute of S tandards
and T echnology
Viện tiêu chuẩn và công nghệ quốcgia
OS O perating S ystem Hệ điều hành
ngữ lập trình kịch bản PaaS P latform a s a S ervice Nền tảng như một dịch vụ
SOAP S imple O bject A ccess P rotocol Giao thức tin nhắn dựa trên XMLHPC High Performance Computing Tính toán hiệu năng cao
Trang 5NOW Network of workstations Mạng máy trạm
Trang 6DANH MỤC CÁC HÌNH ẢNH
- -Hình 1 Mô hình điện toán đám mây
Hình 2 Having secure access to all your applications and data from any networkdevice
Hình 3 Biểu đồ sử dụng cloud computing
Hình 4 Mô hình tổng quan của cloud computing
Hình 5 Mô hình Software as a Service
Hình 6 Mô tả các lớp phân loại của điện toán đám mây dưới góc nhìn 3D
Hình 7 Phân loại theo vị trí
Hình 8 Mô hình phân loại Clouds
Hình 9 Sơ đồ phát triển của cloud computing
Hình 10 Ưu điểm của cloud computing
Hình 11 So sánh 2 mô hình kiến trúc ”grid computing” và “cloud computing”
Hình 12 Mô hình quản lý của cloud computing
Hình 13 Mô tả các dịch vụ trong điện toán đám mây
Hình 14 Mô hình quản lý của cloud computing
Hình 15 Mô hình phân lớp của kiến trúc IaaS
Hình 16 Mô hình phân lớp của kiến trúc PaaS
Hình 17 Mô hình hệ thống và mô hình các nhà cung cấp dịch vụ
Hình 18 Mô hình các dịch vụ của Amazon
Hình 19 Amazon Web Services và Salesforce.com
Hình 20 LongJump và Windows Azure
Hình 21 IBMSmartCloud và OpenShift
Hình 22 CloudFoundry và Google
Hình 23 CloudBees và EngineYard
Hình 24 Mô hình phát triển cloud computing
Hình 25 Sự giao tiếp liên quan giữa một cặp của các tiến trình
Trang 7LỜI MỞ ĐẤU - -
Cloud Computing - “điện toán đám mây” hay còn gọi là “điện toán máy chủ
ảo” là một xu hướng mới hiện nay Các nguồn thông tin và tính toán khổng lồ sẽnằm tại các “máy chủ ảo” hay còn gọi là “đám mây” được truy cập thông quaInternet thay vì máy tính gia đình và văn phòng để mọi người đều có thể kết nối và
dễ dàng sử dụng khi cần “Điện toán đám mây” là khái niệm hoàn chỉnh cho một xuthế mới bởi nhiều doanh nghiệp hiện không có máy chủ riêng mà chỉ có máy tínhvới một số phần mềm cơ bản, còn tất cả đều phụ thuộc vào “đám mây” tức “máychủ ảo” Thực tế cho thấy, chính nhờ vào công nghệ điện toán đám mây cùng vớicác dịch vụ có sẵn trên Internet, doanh nghiệp không phải mua và duy trì hàngtrăm, hàng nghìn máy tính và các phần mềm kèm theo nhất là không phải phụthuộc nhiều vào cơ sở hạ tầng và công nghệ Đây chính là “công nghệ tiện ích” cótầm ảnh hưởng rất lớn đến các doanh nghiệp và người tiêu dùng
Theo nhận xét của Thứ trưởng Bộ Thông Tin và Truyền Thông Nguyễn Minh
Hồng tại buổi hội thảo về "Điện toán đám mây và dữ liệu khổng lổ" do tập đoàn
EMC tổ chức mới đây: “Cùng với sự phát triển của Công Nghệ Thông Tin (CNTT), các xu hướng và mô hình công nghệ đang được quan tâm, mô hình điện toán đám mây nổi lên như một xu thế mới, có tầm ảnh hưởng lớn đến nền CNTT truyền thống, thu hút sự quan tâm đặc biệt của giới công nghệ Hiện nay, nhiều tổ chức, doanh nghiệp trong nước cũng đã nhanh chóng nắm bắt và tăng cường nghiên cứu, triển khai các ứng dụng CNTT theo mô hình điện toán đám mây để nâng cao tính cạnh tranh và hiệu quả công việc”
Thứ trưởng nhấn mạnh những công nghệ nổi trội trong năm 2012 vừa qua: thứ nhất là “dữ liệu lớn” (Big Data) – một trong ba lĩnh vực của CNTT được cho là
“đang” và “sẽ” có ảnh hưởng khắp nơi – Hai lĩnh vực còn lại là chính là “thiết bị thông minh” và công nghệ “điện toán đám mây” Đặc biệt , việc áp dụng ảo hóa và điện toán đám mây để quản lý và khai thác nguồn dữ liệu lớn thực sự mang lại hiệu
Trang 8quả cao cho các tổ chức và doanh nghiệp Không những thế, công nghệ điện toán đám mây đảm bảo hệ thống hoạt động với hiệu năng cao và an toàn hơn hứa hẹn đem lại nhiều tiềm năng phát triển kinh tế tại thị trường Việt Nam.
Trong giai đoạn này, điện toán đám mây không còn là một công nghệ ở đỉnh điểm bùng nổ nữa mà thật sự là một công nghệ có giá trị và ảnh hưởng to lớn của nó đang thay đổi cơ bản cách thức chúng ta sử dụng và phát triển các ứng dụng Hơn thế nữa, điện toán đám mây đã sẵn sàng thực hiện theo những cách
“riêng biệt” để làm tăng sự hài lòng của người sử dụng bằng cách đơn giản hóa việc sử dụng các ứng dụng CNTT, giảm chi phí, thời gian cung cấp dịch vụ, phân
bổ tài nguyên theo yêu cầu thực tế và đặc biệt là khả năng điều chỉnh - linh hoạt, nhanh chóng, giúp thích nghi với sự thay đổi liên tục từ yêu cầu kinh doanh.
Chính từ những đặc điểm nổi trội đó, em đã thực hiện đề tài tìm hiểu về
chương trình áp dụng thuật toán Floyd vào bài toán tìm đường đi ngắn nhất –
hơn về một công nghệ quan trọng đang chi phối đến nhiều lĩnh vực trong cuộcsống và làm việc của mỗi chúng ta
Thông qua bài thu hoạch, em xin gửi lời cảm ơn đến Phó giáo sư - Tiến sĩNguyễn Phi Khứ Với kiến thức sâu rộng, sự nhiệt tình, cách giảng giải rõ ràng,sinh động, cùng những ví dụ thật trong thực tế, thầy đã tận tâm truyền đạt nhữngkiến thức nền tảng cơ bản cho chúng em về môn học “Tính Toán Lưới” giúp em
thấy rõ ứng dụng của môn học trong nhiều lĩnh vực – đặc biệt là CNTT và các thiết
bị thông minh VIệc truy cập vào các dịch vụ điện toán đám mây lúc này thật “dễ dàng” và “mọi lúc, mọi nơi”, chỉ với một điều kiện là có đường truyền Internet đã góp phần làm cho các sản phẩm ứng dụng CNTT, các thiết bị thông minh sử dụng công nghệ điện toán đám mây đang ngày một gia tăng với hiệu quả ngày càng cao, hoà nhập, gắn liền vào cuộc sống hàng ngày của mỗi người, làm cho cuộc sống của chúng ta ngày một tiện nghi và thoải mái hơn
Trang 9NỘI DUNG - -
PHẦN 1: TÌM HIỂU VỀ CLOUD COMPUTING
I Tổng quan về Cloud computing
1 Đặt vấn đề - Giới thiệu về cloud computing
Đố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 yếu tốđược ưu tiên hàng đầu Để quản lý và khai thác được nguồn dữ liệu quý giá đó,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ầncứ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, các nhà quản lý 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 hay backup dữ liệu cũng như đảm bảo tínhsẵn sàng cao của dữ liệu
Xuất phát từ thực tế trên, vấn đề đặt ra là: “Nếu có một công nghệ mới, tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu lớn, các doanh nghiệp không cần quan tâm nhiều đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn đồng thời phục vụ cho người dùng tốt hơn” Công nghệ điện toán đám mây ra
đời không những giải quyết được vấn đề trên mà còn mang lại thêm nhiều lợi íchkhác:
Quản lý và lưu trữ dữ liệu lớn (Big data/Data intensive): Các công ty
lưu trữ các thông tin địa lý (GIS), thông tin về biến đổi khí hậu trên một khu vực, các công ty tài chính, chứng khoán
Nâng cao khả năng tính toán chuyên sâu (Computation intensive):
Các công ty phân tích về thị trường, phân tích dữ liệu lớn, phân tích mạng, hay các hệ thống cần thời gian tính toán nhanh và chính xác nói chung
Tiết kiệm các phi phí: Giảm thiểu chi phí trang bị phần mềm, nhất là đối
với các cá nhân và tổ chức nhỏ mong muốn phát triển bằng các công
Trang 10nghệ phần mềm thương mại mới hay các doanh nghiệp có thể tinh giảm nhân sự mà công việc vẫn hoạt động tốt
Thuật ngữ “Cloud computing - điện toán đám mây” bắt nguồn từ ý tưởng đưatất cả mọi thứ như dữ liệu, phần mềm, tính toán,… lê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ọ 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 đếncông nghệ Xu hướng này sẽ giúp 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ủ có thể lưu trữ, quản lý dữ liệu hiệu quả nhưng vớichi phí tối thiểu Để đạt được mục tiêu trong chiến lược phát triển thì các nhà quản
lý, các chuyên gia lập kế hoạch, các IT leader xem xu hướng áp dụng công nghệđiện toán đám mây là điều tất yếu Giờ đây, những từ ngữ như “Innovation – Bướcđột phá” và “Agility – Sự linh động” không chỉ là những từ hoa mỹ trên bài báo cáo,
mà đó còn là điều bắt buộc để sinh lợi nhuận và mang lại sự khác biệt
Trước công nghệ điện toán đám
mây, một số hệ thống tính toán như
Massive computing đã phát triển và
mang lại những lợi ích to lớn cho
nhiều lĩnh vực như: tính toán song
song – Parallel computing, tính toán
lưới – Grid computing Tuy nhiên,
điện toán đám mây chính là một xu
hướng mới của CNTT với ý tưởng
“di chuyển” phần mềm từ máy tính
cá nhân lên Internet hay các máy
chủ ảo
Hình 1 Mô hình điện toán đám mây
Trang 11Hãy xem “Bảng so sánh tổng thể” để thấy được mục tiêu của các hệ thống tính toán lớn và công nghệ điện toán đám mây đã mang lại cho người tiêu dùng.
Tính toán song song
Tính toán lưới -
Grid computing
Hợp tác (collaborative)
và chia sẻ việc sử dụng tài nguyên khoa học,
cung cấp các dịch vụcác ứng dụng/bài toán
cụ thể
Thường hỗ trợ các tổ chứcbằng các tổ chức ảo thôngqua các ứng dụng ngườidùng cuối
Điện toán đám mây
-Cloud computing
Cung cấp tài nguyên,
làm back-end cho các
hệ thống front-end thiếutài nguyên (bộ xử lý, bộnhớ, lưu trữ) như smart-phone, tablet…
Hỗ trợ chủ yếu đến các cánhân và doanh nghiệp/tổchức nhờ vào các dịch vụcài đặt từ xa
2 Định nghĩa
Thuật ngữ “điện toán đám mây” có nhiều cách định nghĩa khác nhau, tùy thuộcvào cách khai thác, vận hành của nhà cung cấp
- Theo định nghĩa của SYS-CON Media Inc[2]: Điện toán đám mây là một hệ
thống bao gồm nhiều máy tính sao cho các tài nguyên gồm: nguồn điện (power), khả năng lưu trữ (storage), nền tảng (platform) và các dịch vụ (services) được trừu tượng hóa, ảo hóa, có tính co dãn động và quản lý tài nguyên một cách thật hiệu quả để cung cấp theo nhu cầu cho người dùng qua Internet
- Theo định nghĩa của NIST[6]: Điện toán đám mây là một mô hình phổ biến,
thuận lợi, có khả năng truy cập Internet để chia sẻ cấu hình về nguồn tài nguyên một cách nhanh chóng và người dùng chỉ cần bắt đầu với một chi phí tối thiểu để tương tác với các dịch vụ được cung cấp Điện toán đám mây có các đặc điểm nổi bật như:
Tự cấu hình, tự tối ưu, tự điều chỉnh, tự bảo vệ theo yêu cầu: Người sử
dụng có thể tự chủ trong quá trình sử dụng mà không đòi hỏi có sự tương tác
Trang 12giữa người dùng với nhà cung cấp dịch vụ (Self-configuring, Self-healing, Self-optimizing, Self-protecting)
Có tính đàn hồi và độ co giãn “động”: Nghĩa là có khả năng thay đổi
nhanh chóng về quy mô tùy thuộc vào nhu cầu cụ thể của người dùng tại thờiđiểm khác nhau
- Theo định nghĩa của CISCO[4]: Điện toán đám mây là thông tin về nguồn tài
nguyên và dịch vụ được trừu tượng từ cơ sở hạ tầng cơ bản, cung cấp theo yêu cầu và quy mô trong một môi người đa người sử dụng
Theo yêu cầu: Các nguồn tài nguyên được cấp quyền ngay lập tức khi cần
thiết, bắt đầu khi có yêu cầu và chỉ lập hóa đơn khi có sử dụng
Theo quy mô: Cung cấp dịch vụ các nguồn tài nguyên ảo vô hạn có sẵn để
đáp ứng được nhu cầu thực sự của nó
Theo môi trường đa người sử dụng: Các nguồn tài nguyên cung cấp cho
nhiều người sử dụng từ một hiện thực đơn giản nhất, tiết kiệm được chi phícho quá trình cung cấp
- Theo “Cloud Security and Privacy - An Enterprise Perspective on Risk and Compliance “ - O'Reilly, 2009: Điện toán đám mây là một dạng hệ
thống song song phân tán bao gồm tập hợp máy chủ ảo kết nối với nhau, các máy chủ ảo này được cấp phát tự động và thể hiện như một hay nhiều tài nguyên tính toán độc lập dựa trên sự đồng thuận ở mức dịch vụ được thiết lập thông qua quá trình đàm phán giữa người sử dụng và nhà cung cấp.
- Theo Wikipedia [15]: Điện toán đám mây (cloud computing) là một mô hình
điện toán có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạng Internet.
Trang 13Hình 2 Having secure access to all your applications and data from any network device
3 Lịch sử phát triển
Quá trình phát triển điện toán đám mây liên quan đến hai yếu tố gồm: Các tiệních về tính toán lưới (parallel computing, distributed computing) và xem phần mềmnhư là một dịch vụ để kinh doanh Các mốc phát triển chính trong quá trình hìnhthành và phát triển điện toán đám mây như sau:
- Năm 1961, John MaCarthy đã chuyển việc tính toán như là một tiện ích
- Năm 1969, J.C.R Licklider đã đưa ra ý tưởng liên kết giữa các máy tính lạivới nhau để truy cập và thực hiện các ứng dụng tại bất kỳ nơi đâu
- Năm 1999, công ty Salesforce đã cung cấp các ứng dụng dựa trên websitesalesforce.com
- Năm 2002, công ty Amazon đã đưa ra dịch vụ cloud computing trong việc lưutrữ và tính toán trên website amazon.com
4 Mô hình tổng quan
Hình 3 Biểu đồ sử dụng cloud computing
Trang 14Cá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áychủ ảo hay còn gọi là “đá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 bất cứ khi nào.
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 theonhiều hướng khác nhau, theo các chuẩn riêng cũng như các cách thức hoạt độngkhác nhau Do đó, việc tích hợp các cloud hay “máy chủ ảo” để giải quyết một bàitoá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áy chủ ảo” lại với nhau thành
“sky computing” và đưa ra các chuẩn chung để giải quyết các bài toán lớn củakhách hàng
Hình 4 Mô hình tổng quan của cloud computing
5 Phân loại lớp dịch vụ
Hệ thống “điện toán đám mây” được phân loại thành 4 lớp dịch vụ:
1 Software as a Service (SaaS): Các ứng dụng được phân phối qua mạng
dựa trên quá trình đăng ký dịch vụ và theo yêu cầu Ví dụ như Salesforce,Google, Microsoft …
Trang 15Hình 5 Software as a Service
2 Platform as a Service (PaaS): Bao gồm môi trường thực hiện, các
framework phát triển phần mềm và các thành phần được chuyển giao kèm theobản quyền phần mềm qua mạng dưới dạng tính tiền theo thời gian sử dụng (pay-as-you-go) Ví dụ: Google Apps Engine, Amazon Web Services…
3 Infrastructure as a Service (IaaS): Là nơi dùng để tính toán và lưu trữ được
chuyển giao qua mạng dưới dạng tính tiền phí theo thời gian sử dụng Ví dụ: Hệthống Amazon EC2
4 IT foundation: Nền tảng IT nhằm xây dựng các khối cơ bản cho các lớp phía
trên nó
Hình 6 Mô tả các lớp phân loại của điện toán đám mây dưới góc nhìn 3D
Trang 166 Phân loại theo vị trí
Dựa vào tiêu chí vị trí nơi các cloud đóng vai trò là máy chủ, công nghệ điện toán đám mây được chia thành 4 loại: Private Cloud, Public Cloud, Hybrid Cloud và Community Cloud
6.1 Public Cloud
- Cơ sở hạ tầng tính toán được lưu tại nhà cung cấp dịch vụ và có sự chia sẻ cơ
sở hạ tầng này giữa các tổ chức với nhau
- Người dùng không nhìn thấy được vị trí đặt máy chủ trong cơ sở hạ tầng điện toán đám mây.
- Các nhà cung cấp dịch vụ public cloud: Amazon, Window Azure, GoogleApps…
6.2 Private Cloud
- Cơ sở hạ tầng tính toán được quyết định bởi khách hàng Vì vậy, đương nhiênkhách hàng sẽ biết được vị trí máy chủ đặt ở đâu và không có sự chia sẻ giữa các
tổ chức với nhau
- Do chỉ có mỗi khách hàng sử dụng nên chi phí thông thường khách hàng bỏ ra
sẽ tốn hơn nhiều và nâng cao được tính bảo mật hơn Public Cloud
- Điển hình cho nhà cung cấp Private Cloud: eBay.com,…
- Vị trí đặt máy chủ có thể ở trong hoặc ngoài nhóm
- Chi phí bỏ ra của những người sử dụng trong Community Cloud thường sẽ íthơn Public Cloud nhưng so với Private Cloud sẽ tốn nhiều hơn
6.4 Hybrid Cloud
- Đây là sự kết hợp giữa hai hay nhiều loại cloud kể trên (Private Cloud, PublicCloud, Community Cloud) để hình thành nên một Hybrid Cloud
Trang 17Hình 7 Phân loại theo vị trí các clouds
Trong mối quan hệ kết hợp này, máy chủ được quản lý giống như Public Cloud
và các ứng dụng liên quan đến bảo mật được quản lý như Private Cloud
Bùng nổ điện toán đám mây (cloud bursting) là thuật ngữ dùng để xác định một
hệ thống tổ chức sử dụng cơ sở hạ tầng riêng của mình cho việc sử dụng bìnhthường nhưng lại sử dụng điện toán đám mây trong giờ cao điểm
Các giai đoạn phát triển của cloud có thể được trình bày tóm lược như Hình 8gồm có 4 giai đoạn từ quá trình lưu trữ dữ liệu tự phát ở nhiều trung tâm khác nhaucho đến hình thành quá trình sử dụng chung các nguồn ứng dụng qua sự kết hợpcủa nhiều loại cloud khác nhau
Hình 8 Mô hình phân loại
Trang 19Hình 9 Các giai đoạn phát triển Cloud
7 Các đặc điểm trong điện toán đám mây
7.1 Ưu điểm
- Lợi ích về chi phí: Người dùng chỉ cần trả các chi phí liên quan tới vận hành hệ
thống và chi phí sử dụng có ứng dụng Nghĩa là người dùng sử dụng bao nhiêu thì
chỉ cần trả chi phí cho mục đích đó mà thôi “use-only-what-you-need ” what-you-used” Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển
và“pay-only-sang hoạt động chi tiêu Điều này làm giảm rào cản cho việc tiếp nhận, chẳng hạnnhư cơ sở hạ tầng được cung cấp bởi đối tác thứ 3 và không cần phải mua đểdùng cho các tác vụ tính toán thực hiện một lần hay chuyên sâu mà không thườngxuyên Việc định giá dựa trên cơ sở tính toán theo nhu cầu thì tốt hơn đối vớinhững tùy chọn dựa trên việc sử dụng và các kỹ năng IT được đòi hỏi tối thiểu choviệc thực thi Vấn đề tập trung hóa cơ sở hạ tầng trong một số lĩnh vực kinh doanh
sẽ có chi phí thấp hơn
- Tính linh hoạt: Nhanh chóng cung cấp dung lượng phù hợp cho nhu cầu sử
dụng, dễ dàng thay đổi các khối lượng công việc với nhau cũng như có khả năngcung cấp sẵn các tài nguyên cơ sở hạ tầng công nghệ một cách nhanh chóng và íttốn kém Cải thiện khả năng tự động hóa, cung cấp đủ các dịch vụ cần thiết theoyêu cầu người sử dụng
- Tập trung vào khả năng cốt lõi: Nghiên cứu các lợi ích của nguồn tài nguyên
Trang 20chung trong điện toán đám mây, để cung cấp các dịch vụ cần thiết cho người sửdụng dưới sự điều tiết và giám sát của cơ quan trực thuộc chính phủ
- Tính bền vững: Điện toán đám mây có năng lượng tiêu thụ ít hơn so với một
trung tâm lưu trữ dữ liệu thông thường trong cùng phương diện lưu trữ dữ liệu
- Tính co giãn linh động: Cung cấp tài nguyên trên một cơ sở “mịn”, tự bản thân
dịch vụ và gần thời gian thực Hiệu suất hoạt động được quan sát và các kiến trúcnhất quán được cấu trúc dùng web service như giao tiếp hệ thống
- Cơ sở hạ tầng và tài nguyên: Sự độc lập giữa thiết bị và vị trí làm cho người dùng
có thể truy cập hệ thống bằng cách sử dụng trình duyệt web mà không quan tâmđến vị trí của họ hay thiết bị nào mà họ đang dùng, ví dụ như PC, mobile Vì cơ sở
hạ tầng off-site được cung cấp bởi đối tác thứ 3 và được truy cập thông quaInternet, do đó người dùng có thể kết nối từ bất kỳ nơi nào
- Tính bảo mật: Nhờ vào tập trung hóa dữ liệu, các tài nguyên được chú trọng bảo
mật Việc bảo mật thường thì tốt hay tốt hơn các hệ thống truyền thống, một phầnbởi các nhà cung cấp có thể dành nhiều nguồn lực cho việc giải quyết các vấn đềbảo mật mà nhiều khách hàng không có đủ chi phí để thực hiện
- Khả năng tính toán và lưu trữ: Một câu hỏi được đặt ra là làm cách nào để có thể
tăng năng lực tính toán và lưu trữ dữ liệu lên hàng nghìn lần so với chỉ dùng phầncứng tại chỗ? Điện toán đám mây là một dịch vụ tính toán và lưu trữ do nhà cungcấp dịch vụ cung cấp cho khách hàng, vì vậy năng lực tính toán và lưu trữ dữ liệu
có khả năng tăng lên hàng nghìn lần so với việc chỉ dùng hệ thống tính toán truyềnthống của khách hàng Điều này phụ thuộc vào năng lực của nhà cung cấp dịch vụchứ không phụ thuộc vào hệ thống tại chỗ của khách hàng thường do các máy củacác nhà cung cấp dịch vụ đặc biệt chính là những máy có năng lực tính toán rất lớn
để có thể cung cấp cho nhiều người
- Vấn đề bản quyền: Vấn đề về bản quyền phần mềm là một vấn đề hết sức nan
giải đối với các công ty khi mà các phần mềm có giá quá cao Với điện toán đámmây thì chỉ cần nhà cung cấp dịch vụ bỏ tiền ra mua bản quyền thì tất cả các kháchhàng của họ đều có thể sử dụng nó như một phần mềm có bản quyền thật sự mà
Trang 21không phải bỏ ra một số tiền lớn để mua bản quyền.
Cơ sở dữ liệu: Là những kho chứa thông tin với các đường liên kết và giúp choviệc tìm kiếm dữ liệu Các ưu điểm của cơ sở dữ liệu bao gồm :
Tăng cường tính sẵn sàng: Nếu xảy ra lỗi trên một hệ thống cơ sở dữ liệu,
nó chỉ xảy ra trên một mảnh thông tin, không phải toàn bộ cơ sở dữ liệu
Tăng cường hiệu suất: Dữ liệu được đặt gần với site với nhu cầu lớn nhất và
các hệ thống cơ sở dữ liệu có tính song song, cho phép tải dữ liệu cân bằnggiữa các máy chủ
Giá cả: Ít tốn kém cho việc tạo ra một mạng liên kết các máy tính mà có sức
mạnh nhỏ hơn chi phí của một máy lớn
Mềm dẻo: Hệ thống có thể thay đổi hay sửa đổi mà không gây ảnh hưởng có
hại đến toàn bộ cơ sở dữ liệu
Hình 10 Ưu điểm của cloud computing
Trang 227.2 Nhược điểm
1 Khả năng bảo mật
- Sở hữu trí tuệ (Intellectual Property)
- Tính riêng tư (Privacy)
- Độ tin cậy (Trust)
2 Cần phải có đường truyền Internet tốc độ cao để thực hiện ứng dụng
3 Khả năng đáp ứng cấu hình của hệ thống
4 Các quy định pháp luật cho các dịch vụ, giữa khách hàng và nhà cung cấp
II So sánh giữa grid computing và cloud computing
Phần này tập trung so sánh giữa grid computing và cloud computing qua nhiềukhía cạnh từ kiến trúc, mô hình bảo mật, mô hình thương mại, mô hình lập trình, ảohóa, mô hình dữ liệu, mô hình tính toán đến ứng dụng Các mô hình về mặt tổngquát thì giống nhau nhưng cụ thể thì có một số điểm khác biệt
1 Mô hình thương mại (Business Model)
- Mô hình thương mại truyền thống trong các phần mềm trước đây là các hìnhthức tính phí theo một máy tính Trong cloud computing mô hình thanh toán phí linhhoạt hơn nhiều, khách hàng chỉ cần trả theo nhu cầu sử dụng Ngoài ra, cloudcomputing còn hỗ trợ khả năng mở rộng hệ thống mang tính kinh tế, tức là người
sử dụng có thể triển khai với hệ thống ngày một lớn hơn với chi phí phù hợp
- Mô hình thương mại của grid computing là hướng đến các dự án nghiên cứutrong môi trường học thuật như các đại học, viện nghiên cứu, phòng thí nghiệmcủa chính phủ TeraGrid là một ví dụ điển hình cho hình thức thương mại của grid.Khi một tổ chức nào đó gia nhập vào TeraGrid thì có thể truy cập đến các Girds
Trang 23khác và đồng thời có thể sử dụng tài nguyên, kết quả thí nghiệm trên hệ thống Gridnày
2 Mô hình kiến trúc (Architecture Model)
Trong khi Grids tập trung trên việc tích hợp các tài nguyên sẵn có gồm cảphần cứng, hệ điều hành, cơ sở hạ tầng an ninh của các hệ thống thì Cloudshướng đến các cấp độ khác nhau của dịch vụ nhằm đáp ứng tối đa nhu cầu người
sử dụng như SaaS, IaaS, PaaS
Hình 11 So sánh 2 mô hình kiến trúc ”grid computing” và “cloud computing”
3 Kết hợp tính toán và quản lý dữ liệu (Combining compute and data management)
Tính cục bộ của dữ liệu chỉ hiệu quả khi mà số lượng người dùng và qui mô
chưa thực sự lớn Khi hệ thống ngày càng mở rộng thì vấn đề kết hợp tính toán vàquản lý dữ liệu trở thành yếu tố quan trọng cho việc cải thiện hiệu suất Đó là bàitoán định thời công việc gần với dữ liệu mà nó sử dụng trong suốt quá trình thựcthi để tránh tối đa hoạt động di dời dữ liệu qua mạng Girds đã có các mô hình tậptrung cho các ứng dụng dữ liệu khổng lồ còn Clouds thì sẽ phải đối mặt với vấn đềnày trong tương lai
Mô hình kiến trúc grid computing Mô hình kiến trúc cloud computing
Trang 244 Ảo hóa (Virtualization)
Đây là công nghệ được khai thác mạnh mẽ trong hầu hết các Clouds Khônggiống như mô hình tính toán của Grids, Clouds đòi hỏi chạy nhiều ứng dụng ngườidùng và tất cả các ứng dụng này phải được thực hiện một cách đồng thời đối vớingười sử dụng Grids không dựa vào công nghệ ảo hóa nhiều như Clouds, nhưng
để đảm bảo được tính riêng tư cho các tổ chức ảo trên tài nguyên thì công nghệ ảohóa cũng được sử dụng trong lưới chẳng hạn như Nimbus
5 Mô hình lập trình (Programming Model)
- Mặc dù mô hình lập trình trong môi trường Grids không có các khác biệt về cơbản so với các môi trường lập trình song song và phân tán truyền thống Ngoài cácmôi trường lập trình truyền thống như MPI, Globus Toolkit, còn có một một mô hìnhlập trình được quan tâm gần đây là MapReduce
- Clouds về khái quát chấp nhận các Web Services APIs, nơi mà người dùngcấu hình và lập trình dịch vụ Cloud dựa trên các API được trình bày trong WebServices Các giao thức HTTP và SOAP là những giao thức chuẩn được chọntrong các dịch vụ này
6 Mô hình ứng dụng (Application Model)
Grids một cách tổng quát hỗ trợ nhiều loại ứng dụng khác nhau và hỗ trợ tốt cho
các tính toán hiệu năng cao (High Performance Computing - HPC) HPC là các ứng
dụng song song chạy trên một hệ thống cục bộ không phải qua internet Mặt kháccloud computing cũng hỗ trợ các loại ứng dụng tương tự Grids nhưng không đạtđược tính hiệu quả đối với các ứng dụng HPC
III Quản lý tài nguyên trong cloud computing
1 Tổng quan
Quản lý tài nguyên trong điện toán đám mây được chia thành 3 tầng:
- Tầng Infrastructure: dùng để quản lý các tài nguyên tính toán như máy
tính, RAM, nơi lưu trữ dữ liệu và hạ tầng mạng
- Tầng Platform: bao gồm Object Storage, Identity, môi trường thực thi,
queue và database
Trang 25- Tầng Application: bao gồm các ứng dụng như ứng dụng theo dõi, giao
tiếp, cộng tác
Hình 12 Mô tả các tầng quản lý tài nguyên trong điện toán đám mây
Hình 13 Mô tả các dịch vụ trong điện toán đám mây
2 Các dạng tài nguyên
Dựa trên việc quản lý, các tài nguyên được phân thành hai dạng chính:
- Tài nguyên vật lý (Physical resources): Máy tính, đĩa lưu trữ, cơ sở dữ liệu, hạ
tầng mạng…
- Tài nguyên luận lý (Logical resources): Các ứng dụng dùng để thực thi, và
ứng dụng giao tiếp…
Trang 263 Quản lý tài nguyên
Quản lý tài nguyên có thể hiểu là những tác vụ điều khiển những khả năngsẵn có của điện toán đám mây như dịch vụ, tài nguyên tính toán, làm cho chúngluôn sẵn sàng cho những thực thể khác như người sử dụng, dịch vụ và ứng dụng.Quản lý tài nguyên trong điện toán đám mây có thể đề cập đến một số khía cạnhnhư quản lý tài nguyên tính toán, dữ liệu và năng lượng…
3.1 Quản lý tài nguyên tính toán
Hình 9 Ba mô hình cơ bản trong “Điện toán đám mây”
Hình 14 Mô hình quản lý của Cloud Computing
- Infrastructure as a Service (IaaS): Đây là mô hình dịch vụ cơ bản nhất của
cloud, nhà cung cấp sẽ cung cấp máy tính có thể là máy vật lý hoặc máy ảo, nơilưu trữ, firewall, load balance và network Họ sẽ cung cấp theo những tài nguyênđược yêu cầu và được tích hợp lại trong data center, truy xuất thông qua địa chỉ IP
Để triển khai một ứng dụng, người dùng clouds phải cài đặt hệ diều hành thôngqua các image cũng như các ứng dụng cần thiết Trong mô hình này, người sửdụng chịu trách nhiệm cho việc duy trì hệ điều hành và phần mềm ứng dụng Nhàcung cấp sẽ tính phí dựa trên các tài nguyên được cấp phát và tiêu thụ Mô hình
Trang 27này cần phải quản lý phần cứng, firewall và network
- Platform as a Service (PaaS): Trong mô hình này, nhà cung cấp sẽ cung cấp
nền tảng tính toán “computing platform” và giải pháp cấu trúc dữ liệu ngăn xếp
“stack” bao gồm: hệ điều hành, môi trường thực thi ngôn ngữ lập trình, cơ sở dữliệu và web server Người phát triển ứng dụng có thể phát triển và chạy các giảipháp phần mềm trên nền tảng tính toán mà không quan tâm đến chi phí và độphức tạp của việc mua bán, quản lý phần cứng và phần mềm Với một số dịch vụcung cấp, các tài nguyên lưu trữ và tính toán có thể được mở rộng một cách tựđộng thông qua nhu cầu của ứng dụng
- Software as a service (SaaS): Trong mô hình này, nhà cung cấp sẽ cài đặt,
thực thi các ứng dụng trên cloud và sau đó người dùng truy xuất những ứng dụng
đó từ cloud clients Người dùng không có quyền quản lý cloud infrastructure vàplatform mà chỉ sử dụng ứng dụng thực thi trên đó Điều này đã loại bỏ đi việc càiđặt và chạy ứng dụng trên máy tính của người dùng nhằm đơn giản hóa việc bảotrì Đặc điểm nổi bật làm cho ứng dụng cloud khác biệt những ứng dụng khácchính là tính linh hoạt cao Khả năng này cho phép nhân bản các công việc để thựcthi trên nhiều máy ảo tại cùng một thời điểm Việc điều phối đó được thực hiệnthông qua load balancer Quá trình này trong suốt đối với người dùng, họ chỉ thấymột điểm nhập duy nhất
Chính vì thế mà cloud computing có khả năng phục vụ cho nhiều người dùng tại một thời điểm thay vì phải sử dụng hàng đợi và phục vụ tuần tự như grid computing Với khả năng này nhà cung cấp đã mở rộng những dịch vụ tới người dùng nhằm mục đích chuyên biệt hơn như:
Desktop as a service
Business process as a service
Test environment as a service.
Communication as a service
3.2 Quản lý tài nguyên dữ liệu
Dữ liệu trong môi trường điện toán đám mây có những đặc điểm sau:
Trang 28- Dữ liệu được đặt trong những máy chủ không thật sự tin cậy: Các nhà cung
cấp có thể vi phạm tính riêng tư về dữ liệu của khách hàng mà không cần sự chophép của họ và việc di chuyển dữ liệu có thể dẫn đến những vấn đề về bảo mật
- Dữ liệu được nhân bản qua một khoảng cách địa lý lớn: Tính sẵn sàng và thời
hạn của dữ liệu là những vấn đề cần quan tâm của nhà cung cấp cũng như ngườidùng Việc dữ liệu bị mất hoặc không sẵn sàng sẽ ảnh hưởng đến chất lượng dịch
vụ là điều không mong muốn giữa hai bên
3.3 Quản lý tài nguyên năng lượng
Điện toán đám mây trong những năm qua đã bùng nổ thành một thị trườngrộng lớn và doanh thu hàng năm luôn tăng trưởng một cách đáng kể Hai trong sốnhững lợi thế mà điện toán đám mây đem lại cho các nhà doanh nghiệp là khảnăng cắt giảm chi phí cũng như nhân công và giảm thiểu năng lượng bằng cách
hạn chế các tác vụ trong trung tâm dữ liệu Một số lượng lớn máy chủ được triển khai trong các ứng dụng điện toán đám mây được dự kiến sẽ tăng gấp nhiều lần
trong một khoảng thời gian ngắn Các trung tâm dữ liệu cung cấp nhiều lợi ích chođiện toán đám mây nhưng việc sử dụng năng lượng trong nó có thể trở thành nhân
tố chính gây ảnh hưởng không nhỏ đến khí hậu Vì vậy, cần quản lý tài nguyênnăng lượng trong các trung tâm dữ liệu hiệu quả hơn
IV Phần mềm (Software as a Service – SaaS)
1 Giới thiệu
SaaS là một mô hình triển khai ứng dụng mà ở đó người cung cấp cho phépngười dùng sử dụng dịch vụ theo yêu cầu Những nhà cung cấp SaaS có thể lưutrữ ứng dụng trên máy chủ của họ hoặc tải ứng dụng xuống thiết bị của kháchhàng và vô hiệu hóa ứng dụng sau khi khách hàng kết thúc thời hạn sử dụng Một
số phần mềm được cung cấp như:
- Quản lý tài nguyên khách hàng
- Hội thảo truyền hình
- Quản lý dịch vụ IT
Trang 29- Kế toán
- Quản lý nội dung web
2 Lợi ích của SaaS đem lại cho người dùng:
Quen thuộc với World Wide Web: Hầu hết những người làm việc đều có máy
tính và biết cách sử dụng trên World Wide Web Như vậy, việc sử dụng các ứngdụng bên ngoài có thể nhỏ hơn nhiều nhưng mang lại nhiều lợi ích
Tinh giảm nhân sự: Đội ngũ nhân viên ít hơn
Tùy biến: Những ứng dụng cũ thường gây khó khăn với việc tùy biến và yêu
cầu hoàn thiện code Ứng dụng SaaS dễ dàng hơn với việc tùy biến và có thểcung cấp chính xác những gì doanh nghiệp hay người tiêu dùng yêu cầu
Tiếp thị tốt hơn: Nhà cung cấp phát triển ứng dụng cho một thị trường rất hẹp
rất có thể gặp phải vấn về tiếp thị cho ứng dụng đó Tuy nhiên, với SaaS toàn
bộ thế giới được mở cửa cho nhà cung cấp
Tin cậy: Người tiêu dùng an tâm với môi trường web đáng tin cậy
An ninh: Secure Sockets Layer (SSL) được sử dụng rộng rãi và bảo mật cho
phép khách hàng đưa ra ứng dụng của mình một cách an toàn
Băng thông rộng hơn: Băng thông được mở rộng trong thời gian gần đây và
chất lượng dịch vụ cung cấp cải tiến cho phép các doanh nghiệp tin rằng họ cóthể truy cập vào ứng dụng của họ với độ trễ thấp và tốc độ cao
V Cơ sở hạ tầng ( Infrastructure as a Service - IaaS)
1 Giới thiệu về IaaS (Infrastructure As A Service Operations)
IaaS là một mô hình dịch vụ cung cấp các thiết bị nhằm hổ trợ hoạt động hệthống cho khách hàng Các thiết bị bao gồm kho dữ liệu, phần cứng, máy chủ(server) và các thành phần networking Nhà cung cấp sẽ làm chủ các thiết bị vàchịu trách nhiệm cho việc hoạt động và bảo trì hệ thống
Các ứng dụng chính: Các ứng dụng chạy trên laptop, máy chủ, điện thoại và
các thiết bị thông minh đều hoạt động tương tự như thế Điện toán đám mây hoặc
là có thể chứa những ứng dụng đó hoặc là mang ứng dụng đó đến cho chúng ta Với việc mang các ứng dụng mới, cách thao tác, cách nhìn và chia sẻ dữ liệuđến cho người dùng, thì sự khác nhau giữa các ứng dụng chính là cách mà người
Trang 30dùng tương tác với các ứng dụng đó Và việc này ảnh hưởng đến vấn đề chính đó
là lưu trữ cơ sở dữ liệu trên đám mây
Lưu trữ: Một trong những ứng dụng của điện toán đám mây là lưu trữ dữ liệu.
Nếu người dùng thuê không gian lưu trữ từ một nhà cung cấp, có nghĩa là ngườidùng không phải chịu trách nhiệm về mua thiết bị, chi phí vận hành, hay các chi phíkhác
Tạo nên sự độc lập: Người dùng sẽ không còn bị bó hẹp với 1 thiết bị hay 1 vịtrí cụ thể nào nữa Với điện toán đám mây, phần mềm, dữ liệu có thể được truycập và sử dụng từ bất kỳ đâu, trên bất kỳ thiết bị nào mà không cần phải quan tâmđến giới hạn phần cứng cũng như địa lý.Tuy nhiên, cũng có nhiều lựa chọn khácnhau tùy theo yêu cầu sử dụng dịch vụ
Cơ sở dữ liệu: là những kho chứa thông tin với các đường liên kết và giúp cho
việc tìm kiếm dữ liệu Cơ sở dữ liệu trong điện toán đám mây vẫn có một số ưu,nhược điểm nhất định
Ưu điểm:
Tăng cường tính sẵn sàng: Nếu xảy ra lỗi trên một hệ thống cơ sở dữ liệu, nó chỉ
xảy ra trên một mảnh thông tin, không phải toàn bộ cơ sở dữ liệu
Tăng cường hiệu suất: Dữ liệu được đặt gần với site với nhu cầu lớn nhất và các
hệ thống cơ sở dữ liệu có tính song song, cho phép tải dữ liệu cân bằng giữa cácmáy chủ
Giá cả: ít tốn kém cho việc tạo ra một mạng liên kết các máy tính mà có sức
mạnh nhỏ hơn chi phí của một máy lớn
Mềm dẻo: Hệ thống có thể thay đổi hay sửa đổi mà không gây hại đến toàn bộ
cơ sở dữ liệu
Nhược điểm:
Phức tạp: Khó khăn trong việc bảo trì hệ thống.
Tính toàn vẹn: Khó khăn trong việc duy trì tính toàn vẹn cơ sở dữ liệu nếu dữ
liệu phức tạp và thay đổi nhanh
Trang 31Những tiêu chuẩn: Hiện nay không có một chuẩn thống nhất nào để chuyển đổi
từ dữ liệu tập trung tới giải pháp đám mây
Đồng bộ hóa: Khó khăn trong việc đồng bộ hóa dữ liệu giữa các hệ thống
Những dịch vụ cơ sở dữ liệu: Xu hướng này đang trở nên thông dụng và phổ
biến trong điện toán đám mây và dần trở thành như một dịch vụ (Database as aServices - DaaS) được các nhà cung cấp đám mây cung cấp cho khách hàngnhằm tránh sự phức tạp và chi phí vận hành cho cơ sở dữ liệu
Những lợi ích của DaaS:
Dễ sử dụng: Doanh nghiệp hay người dùng không phải lo lắng về những hệ
thống cung cấp và sự dư thừa hệ thống của máy chủ Không phải lo lắng về việcmua, cài đặt, bảo trì phần cứng cho cơ sở dữ liệu
Mạnh hơn: Mặc dù cơ sở dữ liệu không lưu trữ tại tổ chức của cá nhân hay
doanh nghiệp, nhưng không có nghĩa là thiếu chức năng và không hiệu quả
Tích hợp: Cơ sở dữ liệu có thể được tích hợp với các dịch vụ khác của bạn và
sẽ cho nhiều giá trị và sức mạnh hơn
Quản lý: Những cơ sở dữ liệu lớn phải được tối ưu hóa nên phải mất những
nguồn tài nguyên lớn cho việc này Với DaaS, việc quản lý này có thể được cungcấp như một phần của dịch vụ và tốn ít chi phí Ví dụ một số nhà cung cấp lớn như:
MS SQL, Oracle
2 Dịch vụ IaaS (Infrastructure As A Service Operations - IaaS)
Các bản hợp đồng ở các mức dịch vụ khác nhau và tùy theo nhu cầu khác nhau
mà các khách hàng có thể chọn những dịch vụ thích hợp Ứng với các dịch vụ đó
sẽ có những hợp đồng tương ứng Khi sử dụng dịch vụ IaaS phải trả phí vì IaaSdựa trên các hoạt động của máy ảo Cơ chế của việc sử dụng các thiết bị ảo trongđiện toán đám mây rất thích hợp vì có nhiều lợi ích trong việc chia sẻ, quản lý tàinguyên IaaS tập trung chủ yếu vào việc cho thuê các thiết bị phần cứng như làmáy chủ (server), kỹ thuật networking và không gian lưu trữ hơn là mua và cài đặtmáy chủ trong trung tâm dữ liệu của người dùng
Trang 32Điện toán đám mây liên quan tới việc phân phối các dịch vụ máy chủ Mộtdịch vụ clouds có 3 điểm khác nhau chính so với dịch vụ hosting truyền thống trêninternet: được bán theo nhu cầu, được tính theo giờ, khả năng cung cấp vô hạn vàlinh động theo nhu cầu và dịch vụ hosting được quản lý bởi nhà cung cấp
3 Các đặc điểm của IaaS
- Các tài nguyên IaaS được phân phối như là dịch vụ Các tài nguyên đó là cácmáy chủ server, thiết bị mạng, bộ nhớ, CPU, không gian vùng nhớ
- Cơ sở hạ tầng thay đổi động: Người dùng có thể điều chỉnh các tài nguyêntheo yêu cầu sử dụng IaaS trong clouds sẽ đáp ứng nhanh chóng việc tăng haygiảm tài nguyên một cách dễ dàng
- Có chi phí biến đổi nghĩa là tùy vào nhu cầu sử dụng khác nhau thì các kháchhàng sẽ trả chi phí trên các dịch vụ đó Không cố định chi phí cho bất cứ dịch vụnào
- IaaS thường có nhiều người thuê (lease holders or tenants)
- IaaS có những mức dịch vụ khác nhau đáp ứng cho tất cả nhu cầu của doanhnghiệp
4 Tổng quan về kiến trúc và hoạt động của IaaS trong điện toán đám mây
Khi thực thi một yêu cầu từ người sử dụng, việc thực thi công việc có thểthực hiện song song và chia sẻ tài nguyên để đáp ứng yêu cầu càng nhanh càngtốt Hoặc có thể truy cập các kho dữ liệu khác nhau để có thể thỏa mãn nhu cầucủa khách hàng IaaS trong clouds phải đảm bảo hiệu năng và hiệu quả chi phítrong khi bảo trì các trung tâm điều khiển và khả năng cập nhật tài nguyên để bảođảm các dịch vụ không gián đoạn
Có 3 thành phần chính trong kiến trúc của hệ thống Clouds: cloud manager,cluster manager và computer manager
Cloud manager: Là điểm truy cập vào cloud nơi mà các thuê bao đăng ký tài
khoản, quản lý các tài nguyên mà họ thuê từ clouds và truy cập dữ liệu Cloudmanager thực hiện việc truy cập tài nguyên ở mức đầu tiên (top level) cũng nhưquyết định xem có đủ tài nguyên để đáp ứng yêu cầu khách hàng hay không và
Trang 33cluster manager sẽ thực hiện yêu cầu của khách hàng Cloud manager cũng thựchiện các luật trên clouds đối với yêu cầu từ khách hàng
Cluster manager: Chịu trách nhiệm vận hành các máy thông qua network.
Cluster manager sẽ nhận lệnh hay truy vấn và truy cập tài nguyên từ cloudmanager, đồng thời xác định tài nguyên nào có thể đáp ứng yêu cầu từ người sửdụng và hiện thực truy cập tài nguyên
Computer manager: Hợp tác với hypervisor chạy trên mỗi hệ thống máy tính
trong một cluster Trong việc đáp ứng các truy vấn từ cluster manager, clustermanager trả về thông tin trạng thái liên quan đến tài nguyên được sử dụng và cósẵn mà có thể được sử dụng
Hình 15 Mô hình phân lớp của kiến trúc IaaS
5 Cảnh báo khi sử dụng IaaS
Mặc dù IaaS trong clouds phụ thuộc vào một mạng lưới, một trình duyệt antoàn và đáng tin cậy cho việc quản trị tài khoản nhưng khi sử dụng cần lưu ý:
- Phụ thuộc vào network
- Lỗ hổng về bảo mật (Legacy Security Vulnerabilities): IaaS cloud sẽ cung cấp
cho các thuê bao về các lỗ hổng này
Trang 34- Các máy ảo đã bị lỗi thời (Out-of-Date Virtual Machine): Các máy ảo vẫn còn
có thể lưu lại các trạng thái khác nhau như là: running, suspended hay off Mộtmáy ảo không hoạt động có thể dễ dàng trở thành lỗi thời đối với các bản cậpnhật bảo mật quan trọng
- Cô lập mức máy ảo (VM-level Isolation): Là một mô hình nhiều người thuê và
thuê bao có thể chia sẻ các máy chủ vật lý với người tiêu dùng khác của đámmây Một VM-Level isolation là phải dựa trên mô hình bảo mật mạnh mẽ cũngnhư cấu hình đúng
- Cô lập mức network (Network – level isolation.)
- Hiện thực việc xóa bỏ (Data Erase Practices): các máy ảo truy cập tài nguyên
được bảo trì bởi nhà cung cấp
- Khi nhà thuê bao giải phóng một tài nguyên Nhà cung cấp phải bảo đảm rằng
các thuê bao kế tiếp không thấy được dữ liệu từ người thuê trước đó
- An toàn dữ liệu (Secure Data Purge): Nhà cung cấp clouds cần đưa ra một cơ
chế để xóa dữ liệu một cách đáng tin cậy theo yêu cầu của thuê bao Lưu ý làphải lưu lại dữ liệu khi chuyển nhà cung cấp hoặc khi hợp đồng hết hạn
- Vendor Lock-in: Xây dựng một chiến lược cho việc chuyển đổi trong tương lai
của các máy ảo và các kho lưu trữ liên quan khi thay đổi nhà cung cấp
- Hiệu năng (Performance)
- Tính liên tục trong kinh doanh (Risk of Business Continuity)
- Độ trễ (Latency)
- Các hợp đồng ở mức dịch vụ (Service Level Agreements)
- Thực hiện việc khôi phục khi có sự cố (Disaster Recovery Practices)
- Lưu trữ và tuân thủ các chính sách bảo mật (Audit and Compliance with
Information Security Policies)
- Thẩm quyền và quy định (Jurisdiction and Regulation)
Trang 35VI Nền tảng (Platform As A Service - PaaS)
1 Tổng quan về PaaS
1.1 Khái niệm và các định nghĩa
Đến năm 2012, nhiều định nghĩa và quan điểm về PaaS được đề xuất bởicác tổ chức về chuẩn cũng như các tổ chức hay doanh nghiệp cung cấp dịch vụPaaS Nhìn chung, các định nghĩa đều có chung một quan điểm là PaaS là tầngdịch vụ nằm giữa hai tầng dịch vụ SaaS và IaaS Ngoài ra, tùy thuộc cách tổchức khác nhau, các định nghĩa thường đi kèm với những dịch vụ cung cấp dochính các tổ chức
Hình 16 Mô hình phân lớp của kiến trúc PaaS
Theo quan điểm của IBM, PaaS đóng vai trò là một môi trường phục vụ việc
phát triển phần mềm Bên cạnh đó, Platform as a Service (PaaS) là một phương
cách thuê phần cứng, hệ điều hành, lưu trữ và băng thông mạng trên mạngInternet [11] Mô hình cung cấp dịch vụ cho phép khách hàng thuê các server ảo vàcác dịch vụ liên quan để chạy các ứng dụng có sẵn hoặc phát triển hoặc thửnghiệm những ứng dụng mới Một số lãnh đạo về CNTT cho rằng, PaaS là một sự
Trang 36phát triển của SaaS, một mô hình phân bố phần mềm mà các ứng dụng phần mềmđược tạo từ các khách hàng trên Internet
PaaS có nhiều ưu điểm cho các nhà phát triển phần mềm Với PaaS, cácđặc điểm của hệ điều hành có thể thay đổi và nâng cấp thường xuyên Sự phân bốtheo địa lý của các nhóm phát triển có thể làm việc với nhau trên các dự án pháttriển phần mềm Các dịch vụ có thể nhận được các nguồn khác nhau trên các quốcgia khác nhau Chi phí ban đầu và chi phí sử dụng có thể giảm bằng việc sử dụngcác dịch vụ hạ tầng từ một nhà cung cấp hơn là giữ nhiều phần cứng để thực hiệncác chức năng trùng lắp hoặc đối đầu với các vấn đề không tương thích
Theo một hướng tiếp cận khác, PaaS cho ta một môi trường tích hợp caocấp để build (xây dựng), test (kiểm thử), deploy (triển khai) và cho thuê các ứngdụng có thể tùy chỉnh trên Internet Một cách khái quát, các nhà phát triển chấpnhận một số giới hạn để xây dựng loại phần mềm mang tính khả chuyển cao Cáckhách hàng sử dụng PaaS sẽ không quản lý các hạ tầng kỹ thuật của các gói phần
mềm như của các khách hàng thuê dịch vụ SaaS Tuy nhiên, họ sẽ quản lý các
ứng dụng được triển khai và các cấu hình về môi trường hosting
Giữa ứng dụng hay phần mềm có chung một lớp các phần mềm hạ tầng.Tuy nhiên, điểm phân biệt chính giữa phần mềm và hạ tầng là hạ tầng thườngcung cấp các chuẩn phục vụ mở rộng các tính năng Trong khi đó, phần mềm làchương trình cố định, PaaS sẽ cung cấp các phần mềm hạ tầng và kể cả hệ điềuhành Ví dụ, chúng ta có thể xem lõi của một hệ điều hành là một flatform hay cóthể xem gói Apache-MySQL-PHP là một platform và chỉ có các đoạn code PHP vớicấu trúc CSDL lập nên lớp phần mềm hay lớp ứng dụng
Chính sự ảo hóa là điểm nhấn phân biệt giữa nền tảng (flatform) và bộ baphần cứng, middleware (được xem là thiết bị trung gian hay là môôt tầng phầnmềm hay các chức năng nằm giữa hai hêô thống, cho phép những hêô thống nàytrao đổi thông tin hay kết nối với nhau ngay cả khi chúng có platform khác nhau) vàphần mềm Trong sự ảo hóa đó, một nền tảng sẽ cung cấp những máy ảo không
có hệ điều hành lẫn phần cứng
Trang 37Các tiêu chuẩn cần có để kết luận “đó chính là một PaaS” như sau:
Tiêu chuẩn 1: Browser-based development studio – nghĩa là người sử
dụng sẽ được cung cấp công cụ phát triển phần mềm trên nền tảng web
Tiêu chuẩn 2: Seamless deployment to hosted runtime environment –
người sử dụng triển khai phần mềm mà không cần quan tâm đến các cấuhình, hoặc các service pack liên quan đến phần mềm nền
Tiêu chuẩn 3: Management and monitoring tools – các giải pháp clouds
rất hiệu quả với nhiều công cụ quản lý và giám sát ứng dụng
Tiêu chuẩn 4: Pay as you go billing – tránh được các chi phí mua sắm
phần mềm, PaaS phải cung cấp cho chúng ta phương án thanh toán dựatrên việc sử dụng dịch vụ
1.2 Các đặc điểm của PaaS
Hình 17 Mô hình hệ thống và mô hình các nhà cung cấp dịch vụ
• Dịch vụ PaaS bao gồm các dịch vụ thiết kế, phát triển, kiểm tra, tạo trang web,
và quản lý ứng dụng Việc thiết kế, xây dựng trang web dựa trên giao diệnngười dùng và thường dựa trên HTML và JavaScript
• Tích hợp ứng dụng web và cơ sở dữ liệu
Trang 38• Hỗ trợ cho Simple Object Access Protocol (SOAP) và các giao diện khác
cho phép các dịch vụ PaaS tạo liên kết với dịch vụ web
• Hỗ trợ các kiến trúc để giúp loại bỏ những gì ảnh hưởng đến quá trình phát triểnứng dụng bởi nhiều người sử dụng đồng thời PaaS thường bao gồm các dịch
vụ quản lý đồng thời, có khả năng mở rộng, tránh lỗi và bảo mật.
1.3 Ích lợi và trở ngại khi sử dụng dịch vụ PaaS
cụ hỗ trợ
- Chi phí về phần mềm (Up Front Cost): Là chi phí ban đầu cần thiết để sở hữu một
phần mềm Đối với PaaS, chi phí ban đầu mua phần mềm được phân phối chonhiều người thuê Do đó, người sử dụng không cần đầu tư nhiều về phần mềm,phần cứng, các thiết bị mạng, các phần mềm, các thiết bị trung gian, cơ sở hạtầng
- Chi phí vận hành phần mềm (Operational Cost): Bao gồm các chi phí về nâng cấp
phần cứng và phần mềm, sự thích hợp của các gói Với PaaS, những chi phí trênđược giảm thiếu hoặc người sử dụng chỉ chi trả trong thời gian dài thông qua hìnhthức sử dụng
- Tính ổn định (Reliability): PaaS cung cấp nhiều mức độ phát triển phần mềm khác
nhau Mỗi mức độ đều có sự đảm bảo an toàn về thiết bị, và các cam kết theo cáctiêu chuẩn sử dụng thường trực
- Chi phí quản lý (Management Cost): Các hệ thống được hỗ trợ và do đó người sử dụng không cần quan tâm nhiều đến việc cập nhật và bảo trì phần mềm nền
Trang 39- Mang lại lợi thế chiến lược (Strategic Advantage): PaaS cung cấp chính là chiến
lược phát triển dựa trên tiềm lực của từng doanh nghiệp
- Giảm thiểu rủi ro (Lower Risk): VIệc đầu tư CNTT là một đầu tư có rủi ro cao về
sự lạc hậu của công nghệ phần cứng và phần mềm Với PaaS, càng nhiều người
sử dụng dịch vụ chứng tỏ dịch vụ theo kịp thời đại
Trở ngại và khó khăn
Công nghệ điện toán đám mây mang lại rất nhiều lợi ích cho người sử dụng.Tuy nhiên, đây sẽ là một lựa chọn hoàn hảo nếu như công nghệ này vượt quanhững trở ngại gặp phải khi hệ thống vận hành Những trở ngại khi sử dụng dịch
vụ PaaS nói riêng và những dịch vụ khác trong điện toán đám mây nói chung baogồm:
- Trở ngại về bảo mật (Security): Vấn đề bảo mật và thông tin riêng tư (Security
and Privacy) vì hacker và nhiều người cố ý có thể xâm nhập vào hệ thống vàtruy xuất những dữ liệu nhạy cảm bên trong hệ thống
- Trở ngại về tính riêng tư (Privacy): Các thông tin về người sử dụng như tuổi, sở
thích, giới tính, thu nhập có thể bị mất Hơn thế nữa, người sử dụng các dịch
vụ có lúc phải đối mặt với những vấn đề về bản quyền và ý tưởng
- Trở ngại về tính pháp lý: Đối với một số quốc gia những tranh chấp và sự cố
trong việc sử dụng các dịch vụ cloud computing đặt tại các nước khác là vấn
đề liên quan đến các pháp luật liên chính phủ và cần có những hành lang pháp
lý ổn định
- Trở ngại khi chuyển đổi dịch vụ hoặc chuyển sang sử dụng hệ thống khác:
Người sử dụng dịch vụ clouds qua nhiều năm sẽ phải đối mặt với việc chuyểnđổi hệ thống Do đó, việc chọn lựa hệ thống đầu tiên sử dụng sẽ là bài toán vềđầu tư Sự trở ngại này đặc biệt đối với dịch vụ PaaS, khi đó, người sử dụngphải chọn các yếu tố như: ngôn ngữ lập trình, các gói chương trình/phần mềm
đã được lập trình Một minh họa cụ thể là các gói chương trình của Facebookchỉ thực hiện được trên nền tảng Facebook mà không thực hiện được trên nềntảng khác
Trang 401.4 Một số tiêu chí so sánh đối với dịch vụ PaaS
- Ngôn ngữ lập trình hỗ trợ - Runtime languages support
- Các công cụ hỗ trợ phát triển ứng dụng - Developer tools
- Các dịch vụ phục vụ các ứng dụng - Application Services
- Quản lý dữ liệu - Data management
- Ứng dụng quản lý về thể hiện của ứng dụng - Application Performance