Tải bản đầy đủ (.pdf) (96 trang)

Mô hình điện toán đám mây và ứng dụng trong lĩnh vực ngân hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.11 MB, 96 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



ĐỖ HỮU PHÚC


MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY VÀ ỨNG DỤNG
TRONG LĨNH VỰC NGÂN HÀNG



LUẬN VĂN THẠC SĨ








Hà Nội - 2010
MỤC LỤC
MỞ ĐẦU 1
Chương 1 - TỔNG QUAN 2
1.1 Mô hình Điện toán đám mây 2
1.2. Phân tích, so sánh với các mô hình tính toán khác 5
1.3. Kiến trúc tổng thể 10
1.4 Các loại hình Điện toán đám mây 15
1.5 Các tác nhân tham gia Điện toán đám mây 16


1.6 Các Framework ứng dụng Web hỗ trợ điện toán đám mây 17
1.6.1 Nền tảng Python Django (Google App Engine) 17
1.6.2 Nền tảng dịch vụ Azure của Microsoft 18
1.6.3 Các dịch vụ Điện toán đám mây của IBM 19
1.6.4 Các dịch vụ Web của Amazon 20
1.6.5 Kiến trúc Điện toán đám mây mã nguồn mở Eucalyptus 21
1.7 Bảo mật trong Điện toán đám mây 244
Chương 2 - NỀN TẢNG DỊCH VỤ AZURE 26
2.1 Giới thiệu nền tảng dịch vụ Azure 26
2.2 Các thành phần chính của nền tảng dịch vụ Azure 27
2.2.1 Windows Azure 27
2.2.2 AppFabric 34
2.2.3 Dịch vụ SQL Azure 42
2.2.4 Dịch vụ Live 49
Chương 3 - XÂY DỰNG ỨNG DỤNG TRA SOÁT LIÊN NGÂN HÀNG DỰA TRÊN
NỀN TẢNG AZURE 50
3.1 Tổng quan ứng dụng tra soát liên Ngân hàng 50
3.1.1 Sự cần thiết phải xây dựng ứng dụng tra soát liên Ngân hàng 50
3.1.2 Khảo sát phân tích nghiệp vụ 522
3.2 Thiết kế Hệ thống 577
3.2.1 Mô hình hệ thống tổng thể 577
3.2.2 Các Ca sử dụng chi tiết của hệ thống 577
3.2.3 Mô tả các Ca sử dụng chi tiết 611
3.3 Phát triển mã nguồn ứng dụng 722
3.4 Cài đặt lên dịch vụ Azure của Microsoft 733
3.5 Kết quả Demo 766
3.6 Nhận xét ưu nhược điểm 79
KẾT LUẬN 822
TÀI LIỆU THAM KHẢO 833
PHỤ LỤC 844

Bảng ký hiệu các chữ viết tắt
STT
Kí hiệu/Chữ viết tắt
Diễn giải
1
ACS
Access Control Service – Dịch vụ điều khiển truy cập
2
ACQ
Acquirer – Tổ chức phát hành thẻ
3
AWS
Amazon Web Service – Dịch vụ Web của Amazon
4
ISS
Issuer – Tổ chưc thanh toán thẻ
5
KSV
Kiểm soát viên
6
REST
Representation State Transfer – Truyền trạng thái thể
hiện
7
SAML
Security Assertion Markup Language – Ngôn ngữ
đánh dấu xác nhận bảo mật
8
SOAP
Simple Object Access Protocol – Giao thức truy cập

đối tượng đơn giản
9
TSV
Tra soát viên
10
TCPHT
Tổ chức phát hành thẻ (Acquirer)
11
TCTTT
Tổ chức thanh toán thẻ (Issuer)
12
VM
Virtual Machine – Máy ảo
13
VPN
Virtual Private Network – Mạng riêng ảo
14
WSDL
Web Service Description Language – Ngôn ngữ mô tả
dịch vụ Web

Danh mục hình vẽ
Hình 1.1: Mô hình chung điện toán đám mây 3
Hình 1.2. Mô hình grid computing 6
Hình 1.3: Mô hình dịch vụ Web 9
Hình 1.4: Mô hình kiến trúc điện toán đám mây 11
Hình 1.5: Các thành phần của Điện toán đám mây 13
Hình 1.6: Cơ sở hạ tầng các tầng của điện toán đám mây 14
Hình 1.7: Cơ sở hạ tầng điện toán đám mây hỗ trợ để học viện có thể phân phối các giải
pháp phần mềm như là các dịch vụ 20

Hình 1.10: Ngữ cảnh của đám mây Eucalyptus 22
ưu tr
28
Hình 2.2: Ứng dụng Windows Azure có thể bao gồm các thể hiện web role và worker role
30
Hình 2.3: Windows Azure cho phép lưu trữ dữ liệu trong các blob, table, và queue, sử
dụng RESTful để truy cập 32
Hình 2.4: Mô hình định danh ACS 35
Hình 2.5: Ứng dụng dựa trên trình duyệt 38
Hình 2.6: Không gian tên miền trong ACS 39
Hình 2.7: Tệp cấu hình ACM 40
Hình 2.8: Tạo một tài nguyên Issuer sử dụng ACM.EXE 40
Hình 2.9: Tạo tài nguyên Token Policy 41
Hình 2.10: Tạo một Scope 42
Hình 2.11: Tạo một luật 42
Hình 2.12: SQL Azure cung 44
Hình 2.13: Cơ sở dữ liệu SQL Azure 45
Hình 2.14: một ứng dụng có thể sử dụng chỉ một cơ sở dữ liệu hay nhiều cơ sở dữ liệu . 47
Hình 2.15: ―Huron‖ Data Sync sử dụng Microsoft Sync Framework để đồng bộ dữ liệu
trong Cơ sở dữ liệu SQL Azure và các cơ sở dữ liệu trong nhà. 48
Hình 3.1: Mô hình thiết kế ứng dụng 57
Hình 3.2: Use Case mức hệ thống 58
Hình 3.3 Ca sử dụng chức năng Quản trị người dùng 59
Hình 3.4: Ca sử dụng chức năng Thêm Yêu cầu 60
Hình 3.5: Ca sử dụng chức năng Trả lời yêu cầu 61
Hình 3.6 Biểu đồ tuần tự hệ thống ca sử dụng thêm Yêu cầu lần 1 62
Hình 3.7: Biểu đồ tuần tự hệ thống ca sử dụng Thêm Yêu cầu lần 2 63
Hình 3.8: Biểu đồ lớp tuần tự thực thi ca sử dụng Thêm Yêu cầu lần 2 64
Hình 3.9: Biểu đồ tuần tự hệ thống ca sử dụng Duyệt Yêu cầu 65
Hình 3.10: Biểu đồ lớp thực thi ca sử dụng Duyệt Yêu cầu 66

Hình 3.11: Biểu đồ tuần tự hệ thống ca sử dụng Xem danh sách yêu cầu lần 1 677
Hình 3.12: Biểu đồ tuần tự hệ thống Xem danh sách Yêu cầu lần 2 687
Hình 3.13: Biều đồ tuần tự hệ thống ca sử dụng Trả lời Yêu cầu 698
Hình 3.14: Biều đồ lớp thực thi ca sử dụng Trả lời yêu cầu 69
Hình 3.15: Biểu đồ tuần tự hệ thống ca sử dụng Duyệt trả lời 700
Hình 3.16: Biểu đồ tuần tự hệ thống ca sử dụng Lập báo cáo 711
Hình 1.17: Biểu đồ lớp thực thi ca sử dụng Lập báo cáo 722
Hình 3.18: Tạo bản cài đặt trên dịch vụ Windows Azure 744
Hình 3.19: Tạo cơ sở dữ liệu trên dịch vụ SQL Azure 755
Hình 3.20: Giao diện trang chủ ứng dụng tra soát Online 766
Hình 3.21: Chức năng thêm yêu cầu lần 1 777
Hình 3.22: Chức năng duyệt yêu cầu 788
Hình 3.23: Duyệt các yêu cầu được trả lời 79

1

MỞ ĐẦU
Sự ra đời của phần mềm gắn liền với sự ra đời của máy tính. Phần mềm hỗ trợ con
người trong các công việc, làm tăng năng suất lao động và tạo đà thúc đẩy nhiều lĩnh vực
khác cùng phát triển. Ở giai đoạn ban đầu, mỗi người dùng sử dụng phần mềm như một
cá thể độc lập. Tuy nhiên càng về sau khi nhu cầu thay đổi, đi đôi với sự phát triển của
công nghệ, xu hướng này nhanh chóng bị thay đổi. Con người có nhu cầu hợp tác trong
công việc, chia sẻ tài nguyên dữ liệu để tăng hiệu quả công việc. Công nghệ phát triển
góp phần vào việc xây dựng những hệ thống cho phép con người thỏa mãn được nhu cầu
này. Bên cạnh đó, những yêu cầu nghiệp vụ càng phức tạp cùng với những hoạt động
nghiệp vụ với hiệu xuất cao, dữ liệu lớn đòi hỏi những hệ thống lớn cả về phần mềm và
phần cứng. Để thỏa mãn nhu cầu tất yếu này, ban đầu người ta thường phải đầu tư những
hệ thống tốn kém. Làm thế nào để giảm đi những chi phí không cần thiết mà vẫn thỏa
mãn được nhu cầu sử dụng là bài toán luôn đặt ra. Điện toán đám mây xuất hiện đã giải
quyết được bài toán trên. Với những gì mà Điện toán đám mây hứa hẹn sẽ mang lại, có

thể nói rằng một cuộc cách mạng lớn trong lĩnh vực công nghệ thông tin đã ra đời. Người
dùng sẽ không cần phải đầu tư những hệ thống lớn để đáp ứng nhu cầu, không cần phải
cài đặt trực tiếp những ứng dụng nặng nề trên máy, hay lưu trữ lượng dữ liệu khổng lồ
với việc quản trị phức tạp. Việc tính toán, lưu trữ, quản trị được đẩy hoàn toàn về phía
nhà cung cấp.
Nền tảng dịch vụ Azure của Microsoft ra đời với mục đích đáp ứng xu thế mới của
Điện toán đám mây. Với Azure, việc phát triển ứng dụng, lưu trữ nó cùng với dữ liệu,
điểu khiển truy cập trở nên đơn giản và thân thiện với nhà phát triển và người dùng. Nền
tảng dịch vụ Azure đang tạo ra một sức sống mới và thúc đẩy Điện toán đám mây càng
phát triển.
Với mong muốn tìm hiểu và xây dựng ứng dụng theo mô hình Điện toán đám mây,
trong luận văn này tôi đã nghiên cứu chọn nền tảng dịch vụ Azure để phát triển thử
nghiệm ứng dụng tra soát liên Ngân hàng.
2

Chương 1 - TỔNG QUAN
Nội dung chương này sẽ tìm hiểu về mô hình điện toán đám mây, cách phân loại
điện toán đám mây, kiến trúc tổng thể của mô hình điện toán đám mây, đồng thời so sánh
kiến trúc điện toán đám mây với một số kiến trúc khác. Chương này cũng tìm hiểu các
nền tảng hỗ trợ điện toán đám mây hiện có, trên cơ sở đó lựa chọn một nền tảng để
nghiên cứu và phát triển ứng dụng thử nghiệm.
1.1 Mô hình Điện toán đám mây
Ngày nay Điện toán đám mây đang trở thành chủ để được bàn luận sôi nổi. Điện
toán đám mây đã thu hút rất nhiều sự quan tâm từ phía các nhà nghiên cứu, những người
phát triển và người sử dụng. Trong phần này chúng ta sẽ đi sâu tìm hiều mô hình điện
toán đám mây đang được ứng dụng hiện nay
Điện toán đám mây là sự phát triển dựa trên Internet và sử dụng kĩ thuật máy tính.
Đây là một kiểu tính toán trong đó các tài nguyên ảo và có thể mở rộng được cung cấp
như một dịch vụ trên Internet. Người dùng không cần hiểu sâu về kiến trúc kĩ thuật ―trong
đám mây‖ cung cấp cho họ.

Khái niệm Điện toán đám mây kết hợp chặt chẽ Kiến trúc như một dịch vụ (IaaS),
Nền tảng như một dịch vụ (PaaS) và Phần mềm như một dịch vụ (SaaS) cũng như Web
2.0 và những kĩ thuật khác hướng tới những lĩnh vực cơ bản của sự tin tưởng dựa trên
Internet để thỏa mãn những sự cần thiết tính toán của người dùng. Các ví dụ bao gồm
Saleforce.com và Google Apps cung cấp những ứng dụng thương mại online thông
thường có thể tiếp cận từ một web browser, trong khi phần mềm và dữ liệu được để trên
các server.
Thành ngữ đám mây được sử dụng như một ẩn dụ cho Internet, để mô tả Internet
trong những lược đồ mạng máy tính, và là một sự ảo hóa cho kiến trúc phức tạp mà nó
che giấu.

3


Hình 1.1: Mô hình chung điện toán đám mây [13]
Đám mây là một thuật ngữ mượn từ ngành điện thoại. Trước những năm 90 các
mạch vòng dữ liệu được nối cứng giữa các điểm. Trong những năm 90 những công ty
điện thoại đường dài bắt đầu cung cấp dịch vụ VPN cho truyền thông dữ liệu. Các công ty
điện thoại có thể cung cấp những dịch vụ dựa trên VPN với cùng băng thông đảm bảo
như những mạch vòng cố định ở một giá thành thấp bởi vì chúng duy trì khả năng chuyển
mạch để cân bằng việc sử dụng khi chúng thấy đã đủ, do đó sử dụng băng thông một cách
hiệu quả hơn. Kết quả là không thể xác định chính xác đường đi của dữ liệu. Thành ngữ
―đám mây telecom‖ được sử dụng để mô tả kiểu mạng này. Điện toán đám mây cũng
tương tự như vậy. Điện toán đám mây nhận dựa chủ yếu trên của những máy ảo được tạo
ra để đáp ứng những yêu cầu của người dùng [13].
Các thể hiện ảo được tạo ra theo yêu cầu, do đó không thể xác định có bao nhiêu
máy ảo sẽ chạy ở một thời điểm. Khi những máy ảo có thể được tạo ra trên bất cứ máy
tính nào như yêu cầu ,chúng hình thành một mạng mây. Một sự thể hiện thông thường
trong biểu đồ mạng là một đường viền đám mây.



4

Lịch sử khái niệm quay lại năm 1960 khi John McCarthy phát biểu rằng ―sự tính
toán một ngày nào đó được tổ chức như một tiện ích công cộng‖ [13]; thực chất nó chia
sẻ những đặc tính với các công ty dịch vụ. Thuật ngữ đám mây đã đến từ việc sử dụng
thương mại đầu những năm 1990 để tham chiếu đến những mạng ATM lớn. Đến thế kì
21, thuật ngữ ―điện toán đám mây‖ đã bắt đầu xuất hiện, hầu hết sự tập trung ở thời điểm
này là vào Phần mềm như một dịch vụ (SaaS).
Vào năm 1999, Salesforce.com được thành lập bởi Marc Benioff, Parker Harris và
các đồng nghiệp. Họ áp dụng nhiều kĩ thuật của những web site khách hàng khác như
Google và Yahoo đối với những ứng dụng thương mại. Họ cũng cung cấp khái niệm
―Theo yêu cầu‖ và ―Phần mềm như một dịch vụ‖ (SaaS – Software as a Service) với việc
kinh doanh của họ và những khách hàng thành công. Chìa khóa cho SaaS là khả năng tự
cấu hình của khách hàng hay với một sự trợ giúp nhỏ. Những người dùng kinh doanh đã
đón nhận một cách nồng nhiệt dịch vụ này.
Amazon.com đóng vai trò chính trong sự phát triển của điện toán đám mây bằng
việc hiện đại hóa trung tâm dữ liệu của họ và thấy rằng kiến trúc đám mây mới đạt được
những sự cải tiến hiệu quả bên trong, cung cấp tiếp cận tới các hệ thống bằng cách của
các dịch vụ web Amazon trong năm 2005 dựa trên một cơ sở tính toán tiện ích [13]
 Lợi ích của Điện toán đám mây
 Khi khách hàng không làm chủ kiến trúc, họ đơn giản chỉ tiếp cận hay thuê, và
do đó có thể tránh các chi phí mua sắm và sử dụng các tài nguyên như một dịch
vụ, trả tiền cho những gì họ sử dụng.
 Chia sẻ sức mạnh tính toán giữa các thành phần có thể cải tiến tốc độ tối ưu cho
ứng dụng.
 Giảm tài sự quản lý đối với hệ thống. Điều này đặc biệt quan trọng với những
nơi mà sự quản lý yếu kém đối với những hệ thống lớn, đối với những ứng
dụng tải trọng lớn
 Tiếp cận ngay lập tức tới sự phân phối rộng lớn, dễ dàng mở rộng hay thu hẹp

phạm vi sử dụng.
 Những người dùng có thể kết thúc hợp đồng ở bất cứ thời điểm nào (do đó
tránh rủi ro lãi suất và tình trạng không chắc chắn) và những dịch vụ thường
được kèm theo bởi những thỏa thuận mức độ dịch vụ với hình phạt về kinh tế.
5


 Sự độc lập thiết bị và vị trí: Cho phép người dùng tiếp cận hệ thống sử dụng
một trình duyệt không quan tâm vị trí của nó hay thiết bị nào nó sử dụng. Khi
hạ tầng ở vị trí khác (đặc biệt được cung cấp bởi bên thứ 3) và tiếp cận thông
qua Internet người dùng có thể tiếp cận bất cứ khi nào.
 Nhược điểm: Khả năng bảo mật và an toàn dữ liệu là một vấn đề nổi lên đối với
Điện toán đám mây. Lỗi lo về việc bị chiếm quyền điều khiển ứng dụng và việc
xâm phạm dữ liệu riêng tư để trên ―đám mây‖ luôn là rào cản đối với Điện toán
đám mây.
1.2. Phân tích, so sánh với các mô hình tính toán khác
Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid
computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing)
và phần mềm dịch vụ (SaaS).
 Điện toán lưới (grid computing): Điện toán mạng lưới hoặc tính toán lưới (grid
computing) là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt chia
sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo
khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ
của người sử dụng.
Tính toán lưới có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ
và thiết bị lưu trữ trong mạng doanh nghiệp, được ―ảo hóa‖ (virtualize) thành một
cỗ máy tính lớn. Vì tính toán lưới giải phóng những khả năng tính toán không
được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp
tăng cường rất nhiều về tốc độ, sức mạnh xử lý thông tin và sự liên kết, thúc đẩy
các quy trình tính toán mật độ cao. Trong khi đó, chi phí vẫn sẽ được giữ ở mức

thấp vì tính toán lưới có thể được xây dựng từ chính hạ tầng hiện có, góp phần
đảm bảo sự huy động tối ưu các khả năng tính toán [1].
6


Hình 1.2. Mô hình grid computing[2]
Tính toán lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như các
nguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống
đơn đồng nhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vào
các tính năng điện toán rộng lớn. Giống như người lướt web xem một nội dung
thống nhất qua web, người sử dụng tính toán lưới cũng nhìn thấy một máy tính ảo
cực lớn duy nhất.
Giả dụ, khi một người có chiếc máy tính cá nhân tham gia đóng góp sức mạnh xử
lý trong một mạng lưới tính toán lưới muốn chạy một ứng dụng đòi hỏi thêm sức
mạnh xử lý thì công việc đang được giải quyết trên chiếc máy đó sẽ được tự động
tái phân b
.
, việc phân bổ tài nguyên
được thực hiện bởi một đối tượng quản lý tài nguyên trung tâm và tất cả các nút
(node) mạng hoạt động phối hợp với nhau như một nguồn đơn thống nhất. Đối với
tính toán lưới, mỗi nút có đối tượng quản lý tài nguyên riêng và các nguồn tài
nguyên độc lập trong lưới có thể trải rộng khắp một hoặc nhiều tổ chức.
Tóm lại, tính toán lưới (grid computing) đặt trọng tâm vào việc chuyển tải
một khối công việc (workload) đến địa điểm của các tài nguyên điện toán cần thiết
để sử dụng và thực hiện tính toán. Một lưới là một nhóm máy chủ mà trên đó
nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạy song song, thực hiện đồng
thời, được xem là một máy chủ ảo. Đó là một dạng của điện toán phân tán trong đó
7

tồn tại một 'siêu máy tính ảo', là sự bao gồm một cụm mạng máy tính, những máy

tính liên kết mềm, hoạt động phối hợp để thực thi những tác vụ cực lớn [13].
 Phần mềm hoạt động như dịch vụ (SaaS - Software as a Service): Phần mềm hoạt
động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hình triển khai phần
mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phần mềm như
là các dịch vụ theo yêu cầu cho khách hàng. Theo định nghĩa của hãng nghiên cứu
toàn cầu IDC là: "phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp
và cho phép người sử dụng truy cập từ xa" [17].
SaaS có các đặc tính sau:
 Truy cập và quản lý phần mềm thương mại dựa trên mạng (network-based).
 Các họat động được quản lý từ trung tâm thay cho mỗi vị trí của khách hàng,
cho phép khách hàng truy cập vào các ứng dụng từ xa thông qua Web.
 Việc phân phối phần mềm ứng dụng được thực hiện theo mô hình một-nhiều
(một đối tượng - nhiều người thuê) khác với mô hình một-một, kể cả kiến trúc,
giá cả, bạn hàng, và sự quản lý.
 Các nhà cung cấp SaaS
-
thì thường phải cộng thêm phí tổn cho băng thông và không gian lưu trư dữ
liệu.
Ngoài những đặc tính nêu trên, SaaS còn có những lợi thế như sau:
 Cộng đồng người sử dụng luôn có được tính năng, chức năng mới nhất của các
phần mềm dịch vụ được cung cấp. Đây là một đặc điểm nổi bật và rất quan
trọng bởi vì giúp cho những người phát triển có thể thu hút được sự quan tâm
chú ý của người dùng.
 Cộng đồng người sử dụng luôn được đáp ứng với những sản phẩm tốt nhất
trong thực tế với giá thành hạ nhất có thể. Giá thành của việc phân phối sản
phẩm luôn ở mức thấp do không có những chi phí khác khi phân phối.

Tính toán theo yêu cầu (Utility Computing): Tính toán theo yêu cầu đặt trọng tâm
vào mô hình nghiệp vụ và dựa vào đó để cung cấp các dịch vụ tính toán. Nói một
cách đơn giản, dịch vụ tính toán là những gì mà người sử dụng nhận được các t

)
8

và thanh toán cho những phần đã dùng (―pay by the drink‖), giống như việc sử
dụng dịch vụ điện dân dụng trong các gia đình.
Tất cả các tài nguyên tính toán được cung cấp cho khách hàng đều dưới dạng các
dịch vụ theo yêu cầu, bao gồm phần cứng (HaaS - Hardware as a Service), cơ sở
hạ tầng (IaaS - Infrastructure as a service) và nền (PaaS- Platform as a Service) tất
cả đều được cung cấp như là các dịch vụ.
, nhiều tài
nguyên, như máy chủ thường chỉ dùng 85% thời gian vận hành. Tính toán theo yêu
cầu cho phép các công ty chỉ phải trả cho những tài nguyên tính toán thực mà họ
sử dụng.
Tính toán theo yêu cầu có những ưu điểm:
 Quản trị đơn giản: Giảm thiểu
được độ phức tạp trong quản trị hệ thống. Tính toán theo yêu cầu cần những tà
.
 :
n cũng như các tài nguyên xử lý nghiệp vụ, tránh
được thời gian chết của các tài nguyên (downtime) và hiện tượng bị trễ do thay đổi
các nhu cầu.
 Chi phí thấp: Chi phí cho cơ sở hạ tầng tính toán đáp ứng các yêu cầu thay đổi nghiệp vụ là
thấp, mặc dù yêu cầu nghiệp vụ tăng.

Dịch vụ web (Web service)
Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ
liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng
có thể làm việc thông qua các trình duyệt. Bản thân các dịch vụ này sẽ chạy trên
các máy phục vụ trên nền Internet chứ không phải là các máy tính cá nhân
có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet.

9


Hình 1.3: Mô hình dịch vụ Web[2]
Người sử dụng phần mềm yêu cầu các dịch vụ (Service Requester) thông qua
SOAP (Simple Object Access Protocol) và chuyển các yêu cầu đó cho bộ phận
môi giới Service Broker thông qua WSDL (Web Services Description Language).
Người sử dụng có thể làm việc với các dịch vụ thông qua bất kỳ l
, kể cả các thiết bị cầm tay. D
các ứng dụng
ập [2]

thông thường thì các máy phục vụ này thực hiện các hoạt động ứng dụng phức
tạp dựa trên sự chuyển giao giữa người sử dụng và các chương trình kinh
doanh .

khái niệm mới và phản ánh một p
chặt chẽ, đòi hỏi các kết nối API phù hợp đang phổ biến hiện nay. Dịch vụ web
sử dụng XML chứ không phải C hay C++ để gọi các quy trình.
 API dựa
trên phần mềm trung gian, có sử dụng XML để tạo phần giao diện trên
nền Java 2 (J2EE) hay các server ứng dụng .NET
10

khách hàng.
 Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở
dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử
dụng có thể làm việc thông qua các trình duyệt mạng.
 Bản thân các dịch vụ Internet chứ không
phải là các máy tính cá nhân, do vậy có thể chuyển các chức nǎng từ máy tính

cá nhân lên Internet. Người sử dụng có thể làm việc với các dịch vụ thông qua
bất kỳ , kể cả các thiết
bị cầm tay.
việc chứ không phải là một phương tiện để xem và tải nội dung.
 Điều này cũng sẽ đưa các ứng dụng
.
 Nền tảng hướng một dịch vụ (PaaS - Platform as a Service)
mây (cloud computing), mang đến môi trường phát triển như một dịch vụ: người sử
dụng xây dựng ứng dụng chạy trên cơ s
. Một số ví dụ điển hình về
PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes [17].
 (MSP - Managed Service Provider)
- cuối,
chẳng hạn dịch vụ quét virus cho e-mail hay chương trình quản lý desktop. Một số
nhà cung cấp nổi tiếng là SecureWorks, IBM, Verizon hay Everdream [2].
1.3. Kiến trúc tổng thể
Kiến trúc đám mây, kiến trúc hệ thông của những hệ thống phần mềm bao gồm sự
phân phối của điện toán đám mây, gồm phần cứng và phần mềm thiết kế bởi một kiến
trúc sư làm việc cho một nơi tích hợp đám mây. Nó bao gồm nhiều thành phần đám mây
11

kết nối với nhau thông qua các giao diện lập trình ứng dụng, thông thường là các Web
service.
Nó gần giống với triết lý Unix bao gồm nhiều chương trình làm một công việc
cùng nhau và kết nối với nhau thông qua các giao diện chung. Sự phức tạp được điều
khiển và quả thống được đạt được có khả năng quản lý tốt hơn là hệ thống nguyên khối
đống kín. Kiến trúc đám mây mở rộng tới máy khách, nơi những trình duyệt và/hoặc ứng
dụng phần mềm tiếp cận các ứng dụng đám mây.
Kiến trúc lưu trữ đám mây không chặt chẽ, nơi mà các hoạt động siêu dữ liệu được
tập trung cho phép các node dữ liệu mở rộng thành hàng trăm, mỗi cái phân phối dữ liệu

độc lập tới các ứng dụng hoặc người dùng.
 Mô hình kiến trúc tổng quát
dịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu (data center)
được xây dựng trên những máy chủ với những cấp độ khác nhau của các công
nghệ ảo hóa. Những dịch vụ này có thể được truy cập từ bất kỳ đâu trên thế giới,
trong đó Đám mây là một điểm truy cập duy nhất cho tất cả các máy tính có nhu
cầu của khách hàng. Các dịch vụ thương mại cần đáp ứng yêu cầu chất lượng dịch
vụ từ phía khách hàng và thông thường đều đưa ra các mức thỏa thuận dịch
vụ (Service level agreement). Các tiêu chuẩn mở (Open standard) và phần mềm
mã nguồn mở (open source software) cũng góp phần phát triển điện toán đám mây
[8].

Hình 1.4: Mô hình kiến trúc điện toán đám mây[8]
Tất cả các tài nguyên tính toán (phần cứng, phần mềm) được tổ chức thành catalog
các dịch vụ (Services Catalog). Các dịch vụ này được cung cấp lên mạng Internet
12

ở các Server trong các đám mây thông qua các công cụ cung cấp dịch vụ
(Provisioning Too
(Systems Management) và được theo
dõi bởi hệ thống giám sát (Monitoring & Metering).
Theo kiến trúc của điện toán đám mây, có thể xử lý theo lô (batch processing)
nhiều công việc theo truyền thống được tải xuống kết hợp với tính toán lưới.
 Lưu trữ đám mây (Cloud storage): Mô hình lưu trữ dữ liệu trên mạng các máy
tính, trong đó dữ liệu được lưu trữ ở nhiều server ảo (multiple virtual servers).
 Được đưa lên (Hosted) bởi các bên thứ ba (third parties),
 Các hãng Hosting thao tác các Trung tâm CSDL lớn
 Các dịch vụ đám mây (Cloud services): Web services được cung cấp thông qua
điện toán đám mây (cloud computing).
 Các thành phần của điện toán đám mây: Điện toán đám mây là cách thức chuyển

đổi các chương trình ứng dụng diện rộng theo kiến trúc và phân phối các dịch vụ.
Trong nhiều thập kỷ qua, các hãng CNTT đã tập nhiều công sức, thời gian và các
tài nguyên để xây dựng cơ sở hạ tầng và cung cấp chúng để dành thế cạnh tranh.
Phần lớn các trường hợp theo cách tiếp cận đó dẫn đến kết quả:
 .

các máy chủ, trong khi rất nhiều máy chủ mạnh lại không được sử dụng hết
công suất.

a chủ nhân).
 Với điện toán đám mây, những khả năng tính toán vượt trội được cung cấp cho
khách hàng đúng theo yêu cầu với một chi phí thấp nhất có thể.
Điện toán đám mây được phát triển để khắc phục những nhược điểm trên. Điện
toán đám mây gồm 6 thành phần chính liên quan với nhau như trong hình sau.

13


Hình 1.5: Các thành phần của Điện toán đám mây [17]
 Infrastructure: Cơ sở hạ tầng của điện toán đám mây là phần cứng được cung
cấp như là các dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng. Các
tài nguyên phần cứng được cung cấp theo các thời gian cụ thể theo yêu cầu.
Dịch vụ kiểu này giúp cho việc giảm chi phí bảo hành, chi phí sử dụng, …
 Storage: Lưu trữ đám mây (Cloud Storage) là khái niệm tách dữ liệu khỏi quá
trình xử lý và chúng được lưu trữ ở những vị trí từ xa. Lưu trữ đám mây cũng
bao gồm cả các dịch vụ CSDL,ví dụ như BigTable của Google, SimpleDB của
Amazon…
 A Cloud Platform: Là dịch vụ cho việc phát triển phần mềm ứng dụng và quản
lý các yêu cầu phần cứng, nhu cầu phần mềm. Ví dụ nền dịch vụ như Khung
ứng Web (Web application frameworks), Web hosting,

 Application: Ứng dụng đám mây là một đề xuất về kiến trúc phần mềm sẵn
sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành
và duy trì ứng dụng tại máy bàn/thiết bị (desktop/device) của người sử dụng.
Ứng dụng đám mây loại bỏ được các chi phí/tài nguyên để bảo trì và vận hành
các chương trình ứng dụng.
 Services: Dịch vụ đám mây là một phần độc lập của phần mềm có thể kết hợp
với các dịch vụ khác để thực hiện tương tác, kết hợp giữa các máy tính với
nhau để thực thi chương trình ứng theo yêu cầu trên mạng. Ví dụ các dịch vụ
hiện nay như: Simple Queue Service, Google maps, các dịch vụ thanh toán linh
họat trên mạng của Amazon.
14

 Client: Khách hàng đám mây là những yêu cầu phần mềm hoặc phần cứng để
tận dụng các dịch vụ điện toán đám mây trên mạng. Thiết bị cung cấp cho
khách hàng có thể là trình duyệt Web, máy để bàn, máy xách tay hoặc điện
thoại di động.
 Các tầng kiến trúc của điện toán đám mây
Theo kiến trúc do Sun đề xuất, điện toán đám mây cung cấp các dịch vụ ở
tất cả các tầng, từ phần cứng tới các phần mềm như trong hình sau.

Hình 1.6: Cơ sở hạ tầng các tầng của điện toán đám mây [17]
Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc:
1. (Physical Servers),
2. Server ảo,
3. Hệ điều hành,
4. Phần mềm trung gian (Middleware),
5. Các chương trình ứng dụng và trên cao nhất là các dịch vụ.
6. Các dịch vụ có thể chia thành 3 lớp chính: Phần mềm dịch vụ (software as a
service), nền dịch vụ (platform as a service), và cơ sở hạ tầng dịch vụ
(infrastructure as a service). Các lớp này có thể tập hợp thành các tầng kiến trúc

khác nhau, có thể chồng chéo, gối nhau.
 Software as a service (SaaS): Tương tự như dịch vụ theo yêu cầu. Một phần
mềm có thể thực hiện trê
15


 Platform as a service (PaaS): Nền dịch vụ đóng gói tầng kiến trúc phần mềm
và cung cấp nó như là một dịch vụ để xây dựng những dịch vụ ở mức cao hơn.
Ở đây, PaaS phụ thuộc vào người cung cấp dịch vụ và người sử dụng dịch vụ.
Có thể thực hiện các dịch vụ PaaS phụ thuộc vào các phương diện dịch vụ của
người sản xuất hoặc khách hàng:
o Một số người có thể tạo ra môi trường tích hợp hệ điều hành OS, các phần
mềm trung gian, phần mềm ứng dụng, hoặc phát triển những môi trường
cung cấp cho khách hàng phát triển phần mềm giống như một dịch vụ. Ví
dụ NetBeans™ là môi trường phát triển tích hợp, Sun GlassFish™ Web
stack hỗ trợ cho các ngôn ngữ lập trình giống như Perl hoặc Ruby.
o Một số người có thể sử dụng PaaS như là các dịch vụ đón
. Dịch vụ thương mại của PaaS phải kể đến như Google Apps
Engine, cung cấp các ứng dụng trên nền cơ sở hạ tầng của Google‘s
infrastructure.
 Infrastructure as a service (IaaS): cung cấp các khả năng lưu trữ cơ sở và tính
toán như là
.
Dịch vụ thương mại của loại dịch vụ này có thể kể ra là Joyent, sản phẩm chính
là dòng các máy chủ ảo sẵn sàng dịch vụ theo yêu cầu.
1.4 Các loại hình Điện toán đám mây
Các loại hình Điện toán đám mây bao gồm:
 Đám mây công (public cloud): Đám mây công mô tả điện toán đám mây theo cảm
nhận truyền thống, trong đó các tài nguyên được cung cấp tự động, cơ sở tự phục
vụ trên Internet, thông qua các ứng dụng web, Web service, từ một nhà cung cấp

thứ 3 khác, chia sẻ các tài nguyên và tính phí dựa trên tính toán tiện ích [13].
 Đám mây lai (hybrid cloud): Một môi trường Đám mây lai bao gồm nhiều nhà
cung cấp bên trong/ bên ngoài ―sẽ trở thành điển hình cho hầu hết các doanh
nghiệp‖.
16

 Đám mây dùng riêng (private cloud): Đám mây dùng riêng là những từ mới mà
những nhà sản xuất đang sử dụng để mô tả sự cung cấp mà cạnh tranh điện toán
đám mây trên các mạng dành riêng. Những sản phẩm này đòi hỏi ―phân phối một
số lợi ích của điện toán đám mây mà không có những lỗ hổng‖, lợi dụng tính bảo
mật dữ liệu, quản lý phối hợp, và mối quan tâm có cơ sở. Chúng đã được phê phán
dựa trên cơ sở rằng những người dùng ―vấn phải mua, xây dựng, và quản lý
chúng‖ và theo nghĩa thông thường không thể đạt được lợi ích từ vốn tư bản trả
trước thấp và sự quản lý ít phải dùng tay, mà về bản chất ―mô hình kinh tế tạo cho
điện toán đám mây như một khái niệm hấp dẫn‖ [13].
1.5 Các tác nhân tham gia Điện toán đám mây
Các thành phần tham gia Điện toán đám mây gồm:
 Nhà cung cấp dịch vụ (provider): Một nhà cung cấp điện toán đám mây hay nhà
cung cấp dịch vụ điện toán đám mây làm chủ và điều chỉnh hoạt động những hệ
thống điện toán đám mây đang tồn tại để phân phối dịch vụ tới các hãng thứ ba.
Thông thường điều này đòi hỏi các tài nguyên quan trọng và tính chuyên gia trong
xây dựng và quản lý các trung tâm dữ liệu trong thế hệ tiếp theo. Rào cản đối với
đầu vào khá cao với chi phí xây dựng yêu cầu và việc tính phí cộng với sự quản lý
tạo một số phức tạp. Tuy nhiên, hiệu năng hoạt động quan trọng và lợi thế tính sẵn
sàng có thể được nhận ra, thậm chí bởi những tổ chức nhỏ. Amazon.com là nhà
cung cấp đầu tiên như thế, hiện đại hóa các trung tâm dữ liệu, giống như hầu hết
các mạng máy tính, đang sử dụng chỉ khoảng 10% khả năng chứa đựng ở một thời
điểm bất kì. Điều này cho phép những nhóm nhỏ có nhiều thay đổi thêm những
đặc trưng mới nhanh hơn và dễ dàng hơn, và họ tiếp tục mở rộng thêm ra như các
dịch vụ web của Amazon năm 2002 dựa trên cơ sở tính toán tiện ích [13].

 Người dùng (User): Một người dùng là một người sử dụng của điện toán đám mây.
Tính riêng tư của những người dùng trong điện toán đám mây đã và đang trở thành
mối quan tâm lớn. Quyền của những người dùng cũng là một vấn đề đang được tập
trung thông qua một nỗ lực cộng đồng để tạo một bản dự thảo về quyền.
 Đại lý cung cấp (Vendor): Một số nhà sản xuất bán hay đưa sản phẩm và các dịch
vụ làm tăng tính thuận lợi của sự phân phối, sự chấp nhận và sử dụng của điện
toán đám mây. Các dịch vụ có thể là cung cấp phần cứng (thiết bị lưu trữ, hạ tầng),
phần mềm hay hệ điều hành.
17

1.6 Các Framework ứng dụng Web hỗ trợ điện toán đám mây
1.6.1 Nền tảng Python Django (Google App Engine)
Django là một framework ứng dụng web mã nguồn mở, viết bằng Python, gần
giống với mẫu thiết kế Model – View – Controler. Nó được phát triển ban đầu để quản lý
một số site mang nội dung tin tức cho The World Company của Lawrence, Kansas, và
được đưa ra công khai dưới đăng kí BSD (Berkeley Software Distribution) vào 7/2005.
Tháng 6/2008 nó được tổ chức Django Software Foundation chấp nhân và duy trì trong
tương lai.
Mục đích chính của Django là tạo sự dễ dàng khi xây dựng những website hướng
dữ liệu phức tạp. Django nhấn mạnh tính sử dụng lại và tính kết nối mở rộng của các
thành phần, sự phát triển tốc độ nhanh, và nguyên lý của DRY (Don‘t Repeat Yourself).
Python được sử dụng xuyên suốt, cho cả thiết lập, các tệp và các mô hình dữ liệu.
Django cũng cung cấp một lựa chọn sử dụng giao diện CRUG quản trị được tạo tự
động thông qua sự tự xác định kiểu tại thời gian chạy và cấu hình thông qua các mô hình
dữ liệu.
 Các thành phần: Thành phần chính của Django bao gồm một bộ ánh xạ quan hệ
đối tượng (object –relational mapper) đứng trung gian giữa các mô hình dữ liệu
(xác định như các lớp Python) và một CSDL quan hệ; một bộ phân phối URL dựa
trên mô tả thông thường (regular –expression); một hệ thống khung nhìn cho các
yêu cầu xử lý và một hệ thống mẫu.

Thành phần chính cũng bao gồm:
 Một web server riêng, nhỏ nhẹ cho sự phát triển và kiểm tra.
 Một sự chuyển đổi và hệ thống hợp lệ có thể chuyển đổi giữa các giao diện
HTML và những giá trị thích hợp chứa trong cơ sở dữ liệu.
 Một framework luôn sẵn sàng có thể sử dụng bất kì trong số phương thức nào.
 Hỗ trợ cho những lớp giữa có thể can thiệp vào ở mọi giai đoạn của xử lý yêu
cầu và thực hiện các chức năng thông thường.
 Một hệ thống phân phối bên trong cho phép các thành phần của một ứng dụng
liên kết các sự kiện với nhau thông qua các tín hiệu được định nghĩa trước.
18

 Một hệ thống quốc tế bao gồm sự chuyển đổi của các thành phần quản lý bởi
Django thành nhiều ngôn ngữ khác nhau.
 Một hệ thống có thể tạo và đọc những sự biểu diễn XML và/hoặc JSON của
các thể hiện mô hình Django.
 Một hệ thống cho việc mở rộng khả năng của engine mẫu.
 Những ứng dụng kèm theo
Django bao gồm một số của những ứng dụng trong gói ―contrib‖ của nó, bao gồm:
 Một hệ thống xác thực mở rộng
 Giao diện quản trị động
 Các công cụ cho tạo RSS và Atom (định dạng dữ liệu cho web)
 Một hệ thống chú thích linh hoạt
 Một framework cho phép cài đặt Django để chạy nhiều website, với nội dung
riêng biệt và các ứng dụng.
 Công cụ cho gạo Google Sitemaps
 Công cụ cho ngăn chặn giả mạo yêu cầu
 Thư viện mẫu cho phép sự sử dụng của các ngôn ngữ đánh dấu nhỏ gọn như
Textile và Markdown.
 Một framework cho việc tạo các ứng dụng GIS.
Phiên bản hiện tại mới nhất hiện tại của Django là 1.2.

1.6.2 Nền tảng dịch vụ Azure của Microsoft
Nền tảng dịch vụ Azure của Microsoft là nền tảng Điện toán đám mây ―cung cấp
một phạm vi rộng của dịch vụ có thể được sử dụng từ cả môi trường trong nhà hay
Internet‖ Nó là bước đầu tiên quan trọng của Microsoft trong việc xây dựng Điện toán
đám mây tiếp theo sự khởi động của dịch vụ trực tuyến Microsoft.
Nền tảng dịch vụ Azure là một nền tảng ứng dụng trong đám mây cho phép các
ứng dụng được cài đặt lên và chạy ở các trung tâm dữ liệu Microsoft. Nó cung cấp một hệ
điều hành đám mây gọi là Windows Azure phục vụ như cho các ứng dụng và cung cấp
một tập các dịch vụ cho phép sự phát triển, sự quản lý và lưu trữ của những ứng dụng bên
19

ngoài. Mọi dịch vụ Azure và các ứng dụng xây dựng sử dụng chúng chạy phía trên của
Windows Azure.
Môi trường điều khiển của Windows Azure gọi là Fabric Controller – là tổ hợp
những hệ thống riêng biệt vào một mạng tự động quản lý tài nguyên, điều chỉnh tải, sao
chép vị trí địa lý và vòng đời phần mềm mà không đòi hỏi các ứng dụng cài đặt ở đó đáp
ứng những yêu cầu. Thêm vào đó, nó cũng cung cấp những dịch vụ khác mà hầu hết
những ứng dụng yêu cầu – như là các dịch vụ lưu trữ Windows Azure (Windows Azure
Storage Service) cung cấp các ứng dụng với khả năng lưu trữ dữ liệu không có cấu trúc
như là binary BLOGs, các hàng và các bảng không quan hệ. Các ứng dụng có thể sử dụng
những dịch vụ khác là một phần của nền tảng dịch vụ Azure.
Nền tảng dịch vụ Azure cung cấp một API dựa trên REST, HTTP và XML cho
phép một nhà phát triển tương tác với các dịch vụ cung cấp bởi Windows Azure. Một thư
viện lớp bị quản lý phía client cũng được cung cấp bao gồm các tính năng của việc tương
tác với các dịch vụ. Nó cũng tích hợp với Microsoft Visual Studio do đó nó có thể được
sử dụng như là IDE để phát triển và phân phát những ứng dụng được đặt trên Azure.
Nền tảng bao gồm 5 dịch vụ: dịch vụ Live, dịch vụ SQL Azure, AppFabric, dịch
vụ SharePoint và dịch vụ Dynamics CRM–mà các nhà phát triển có thể sử dụng để xây
dựng các ứng dụng sẽ chạy trên đám mây. Một thư viện máy khách, dạng mã được quản
lý, và các công cụ đi kèm được cung cấp cho sự phát triển các ứng dụng đám mây trong

Visual Studio. Sự mở rộng và tính tin tưởng được điều khiển bởi Fabric Controller do đó
những dịch vụ và môi trường không bị hỏng nếu một trong những server bị hỏng trong
trung tâm dữ liệu Microsoft và cung cấp sự quản lý đối với ứng dụng web của người dùng
giống các tài nguyên bộ nhớ và chia tải.
Nền tảng dịch vụ Azure có thể chạy các ứng dụng .Net Framework viết trong C#
và VB.Net, trong khi cung cấp framework ASP.Net và các phương pháp phát triển kết
hợp để phân phối các ứng dụng trên platform đám mây. Hai công cụ phát triển phần mềm
được cung cấp sẵn cho sự tương tác với nền tảng dịch vụ Azure: Java SDK cho
AppFabric và Ruby SDK cho AppFabric. Chúng cho phép các nhà phát triển Java và
Ruby tích hợp với AppFabric [2].
1.6.3 Các dịch vụ Điện toán đám mây của IBM
Sau đây là một mô hình kiến trúc ―Điện toán đám mây‖ của IBM sử dụng các máy
ảo VM.

×