ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN MẠNH HÙNG
NGHIÊN CỨU NGUYÊN LÝ, KIẾN TRÚC ĐIỆN
TOÁN ĐÁM MÂY VÀ XÂY DỰNG PHẦN MỀM
QUẢN LÝ NGUỒN LỰC TRÊN NỀN TẢNG
MICROSOFT AZURE
LUẬN ÁN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN MẠNH HÙNG
NGHIÊN CỨU NGUYÊN LÝ, KIẾN TRÚC ĐIỆN
TOÁN ĐÁM MÂY VÀ XÂY DỰNG PHẦN MỀM
QUẢN LÝ NGUỒN LỰC TRÊN NỀN TẢNG
MICROSOFT AZURE
Ngành :
Công nghệ thông tin
Chuyên ngành :
Công nghệ phần mềm
Mã số :
60 48 10
LUẬN ÁN THẠC SĨ
Cán bộ hướng dẫn: PGS-TS Nguyễn Văn Vỵ
Hà nội-2011
MỤC LỤC
MỤC LỤC 4
BẢNG KÝ HIỆU 7
BẢNG HÌNH VẼ 8
MỞ ĐẦU 12
CHƯƠNG 1 : ĐIỆN TOÁN ĐÁM MÂY 14
1.1. Khái niệm điện toán đám mây. 14
1.1.1. Định nghĩa Ian Foster 14
1.1.2. Định nghĩa Rajkumar Buyya 14
1.1.3. Định nghĩa Wikipedia 15
1.2. Đặc điểm của điện toán đám mây. 15
1.2.1. Tính tự phục vụ theo nhu cầu 15
1.2.2. Truy cập diện rộng 16
1.2.3. Dùng chung tài nguyên và độc lập vị trí 16
1.2.4. Khả năng co giãn nhanh chóng 16
1.2.5. Chi trả theo thực dùng 16
1.3. Các thành phần của đám mây. 17
1.3.1. Mô hình và dịch vụ của điện toán đám mây 17
1.3.2. Quản lý ảo hóa 20
1.3.3. Các dịch vụ chính 24
1.3.4. Quản trị dữ liệu 27
1.3.5. Quản lý dịch vụ 28
1.3.6. Bảo mật 31
1.3.7. Khả năng chịu lỗi 35
1.4. Mô hình triển khai điện toán đám mây 35
1.4.1. Đám mây công cộng 36
1.4.2. Đám mây riêng 36
1.4.3. Đám mây lai 37
1.4.4. Đám mây cộng đồng. 37
1.5. Thách thức của điện toán đám mây 38
1.6. Xu hướng phát triển của điện toán đám mây 39
CHƯƠNG 2: MICROSOFT VỚI ĐIỆN TOÁN ĐÁM MÂY 40
2.1. Tổng quan về giải pháp của Microsoft. 40
2.1.1. Sự truyền đạt 40
2.1.2. Cung cấp truy xuất ứng dụng văn phòng hiệu quả 41
2.1.3. Quản lý ứng dụng và dịch vụ 41
2.2. Tổng quan về Windows Azure Platform. 43
2.2.1. Giới thiệu Windows Azure. 43
2.2.2. Giới thiệu Sql Azure. 48
2.2.3. Giới thiệu Window Azure Plaform AppFabric 49
2.3. Windows Azure Blogs 50
2.3.1. Giới thiệu Windows Azure Blogs 50
2.3.2. Phân loại Blob Store 51
2.3.3. Blob Storage và Rest. 52
2.3.4. Giới thiệu Storage Client Blob API 53
2.4. Windows Azure Table 53
2.4.1. Giới thiệu Azure Table và mô hình dữ liệu 53
2.4.2. Phân vùng bảng. 55
2.4.3. Table và Rest API. 57
2.4.4. Giới thiệu ADO.NET Data Services Library (.NET Client Library) 58
2.5. Windows Azure Queues 59
2.5.1. Giới thiệu Azure Queues 59
2.5.2. Mô hình dữ liệu của Azure Queue. 61
2.5.3. Queue REST API 62
2.5.4. Azure Storage Client Queue API 63
2.6. Windows Azure Platform AppFabric 63
2.6.1. Giới thiệu AppFabric 63
2.6.2. Dịch vụ kiểm soát truy nhập 63
2.6.3. AppFabric Service Bus 70
CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG QUẢN LÝ NGUỒN LỰC DỰA
TRÊN NỀN TẢNG MICROSOFT WINDOWS AZURE. 77
3.1. Tổng quan về hệ thống quản lý nguồn lực. 77
3.1.1. Tổng quan hệ thống quản lý nguồn lực 77
3.1.2. Các phân hệ chính trong hệ thống quản lý nguồn lực 78
3.2. Khảo sát yêu cầu nghiệp vụ hệ thống quản lý nguồn lực và tiền lương. 80
3.2.1. Đánh giá chung về công tác quản lý tổ chức. 80
3.2.2. Công tác quản lý nhân sự 81
3.3. Khảo sát quy trình nghiệp vụ hệ thống quản lý nguồn lực 89
3.4. Phân tích hệ thống quản lý nguồn lực. 90
3.4.1. Các phân hệ chính của hệ thống. 90
3.4.2. Phát triển mô hình các ca sử dụng 92
3.4.3. Phân tích ca sử dụng 109
3.5. Các mô hình thiết kế hệ thống quản lý nguồn lực 116
3.5.1. Thiết kế kiến trúc vật lý. 116
3.5.2. Lựa chọn công cụ và môi trường phát triển 117
3.5.3. Thiết kế mô hình phát triển 118
3.5.4. Thiết kế nguyên mẫu phát triển 119
3.5.5. Xác định biểu đồ lớp thiết kế 120
3.5.6. Thiết kế Cơ sở dữ liệu 121
CHƯƠNG 4. TRIỂN KHAI-KIỂM THỬ VÀ ĐÁNH GIÁ HIỆU NĂNG 123
4.1. Triển khai hệ thống trên đám mây 123
4.1.1. Giai đoạn Đánh giá đám mây 123
4.1.2. Giai đoạn kiểm chứng các khái niệm 124
4.1.3. Giai đoạn chuyển đổi dữ liệu nên đám mây 124
4.1.4. Giai đoạn chuyển đổi ứng dụng nên đám mây. 126
4.1.5. Giai đoạn thúc đẩy đám mây và nâng cấp ứng dụng 130
4.1.6. Giai đoạn tối ưu hóa 132
4.2. Kiểm thử hệ thống và đánh giá hiệu năng 132
4.2.1. Lập kế hoạch kiểm thử. 132
4.2.2. Lập chiến lược kiểm thử. 133
4.2.3. Đánh giá hiệu năng 133
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 135
TÀI LIỆU THAM KHẢO 136
PHỤ LỤC 138
5.1. Phân tích và đánh giá triển khai dự án trên nền tảng đám mây Azure 138
5.1.1. Thực trạng ứng dụng Công nghệ thông tin 138
5.1.2. Những thách thức khó có thể vượt qua 139
5.1.3. Giải pháp 142
5.1.4. Kế hoạch thực hiện 143
5.1.5. Phân tích và tính toán kinh phí 144
5.2. Kết luận 147
BẢNG KÝ HIỆU
Ký hiệu
Thuật ngữ
Ý nghĩa
ACS
Access Control Service
AES
Advanced Encryption
Standard
DNS
Domain Name System
EC2
Elastic Compute Cloud
JSON
JavaScript Object Notation
REST
Representational State
Transfer
SAML
Security Assertions Markup
Language
SDK
Software Development Kit
SLA
Service-Level Agreements
SOAP
Simple Object Access
Protocol
SPML
Service Provisioning Markup
Language
TCP
Transmission Control
Protocol
URIs
Uniform Resource Identifiers
KPI
Key Performance Indicator
BẢNG HÌNH VẼ
Số
thứ tự
Hình vẽ
Mô tả
Trang
1
.1
16
2
1.2
Các thành ph
18
3
22
4
23
5
Chu
24
6
25
7
26
8
27
9
28
10
32
11
mây
33
12
34
13
34
14
35
15
Hình 1.15
36
16
37
17
38
18
38
19
39
20
mây
40
21
44
22
44
23
45
24
lobs, Table và
Queues
45
25
Web roles và worker roles
46
26
Fabric Controller
47
27
Fabric Controller và Fault Domain
48
28
Fabric Controller và Update Domain
48
29
.9
49
30
2.10
AppFabric
50
31
50
32
51
33
52
34
52
35
54
36
56
37
worker role instance
60
38
Các thao tác v
60
39
61
40
64
41
65
42
Claims-Based
68
43
69
44
71
45
72
46
75
47
ppFabric Service Bus
76
48
81
49
81
50
90
51
92
52
93
53
95
54
95
55
96
56
Mô
96
57
97
58
công tác
98
59
99
60
.13
100
61
101
62
102
63
103
64
Mô hìn
104
65
viên
105
66
106
67
107
68
Mô
108
69
toàn nhân viên
109
70
nhân viên
110
71
111
72
112
73
112
74
113
75
114
76
115
77
3.30
116
78
118
79
119
80
120
81
121
82
122
83
123
84
123
85
124
86
124
87
zure
125
88
125
89
126
90
126
91
127
92
ce
127
93
128
94
128
95
130
96
4.15
c
131
97
6
133
98
7
134
99
8
134
98
139
99
140
100
143
101
145
102
147
MỞ ĐẦU
C
Ngày nay CNTT hi
-
, quy tr
, x
.
.
tính toán thêm vào.
yên tính toán.
các
mây. H,
, nó không
theo
:
Azure
.
-
bày
.
Trang 14
CHƯƠNG 1 : ĐIỆN TOÁN ĐÁM MÂY
1.1. Khái niệm điện toán đám mây.
,
Internet.
m
Computing. ,
Wikipedia
1.1.1. Định nghĩa Ian Foster
ài thông qua Internet. -scale
distributed computing paradigm that is driven by economies of scale, in which a pool
of abstracted, virtualized, dynamically scalable, managed computing power, storage,
platforms, and services are delivered on demand to external customers over the
[10].).
1.1.2. Định nghĩa Rajkumar Buyya
song
collection of interconnected and virtualised computers that are dynamically
provisioned and presented as one or more unified computing resources based on
service-level agreements established through negotiation between the service provider
[22].)
Trang 15
1.1.3. Định nghĩa Wikipedia
Internet
thông
tin
Laptop
Mobile
PC
Application Server
Database
Server
Hình s 1.1
1.2. Đặc điểm của điện toán đám mây.
Theo David S. Linthicum [5].
mây.
1.2.1. Tính tự phục vụ theo nhu cầu
u : T
Trang 16
. [5].
1.2.2. Truy cập diện rộng
1.2.3. Dùng chung tài nguyên và độc lập vị trí
-
. Khi nhu
.
.
[5].
1.2.4. Khả năng co giãn nhanh chóng
tài nguyên.
1.2.5. Chi trả theo thực dùng
Trang 17
Hiệu suất: H
Khả năng chịu đựng:
1.3. Các thành phần của đám mây.
Kiến trúc
(SaaS)
(PaaS)
(IaaS)
[, , ]
(HaaS)
Quản lý ảo hóa
Dịch vụ cốt lõi
Khám phá
Bảo mật
Mã hóa/
Quản trị dữ liệu
Quản lý dịch vụ
Tính phí
Giám sát
Hình s 1.2 : Các thành phn
1.3.1. Mô hình và dịch vụ của điện toán đám mây
CD
Service Service
(Software as a Service SaaS).
1.3.1.1. Dịch vụ phần mềm (Software as a Service – SaaS)
Trang 18
Mcho phép các
-
Sametime®, Unyte, Salesforce.com, Sugar CRM, và WebEx.
a) Các ứng dụng này thường cung cấp :
Giao dii s dng.
Các chng dc.
C d lic.
Thông qua trình duyt, i s dng có th truy cp n các ng dng
bng nhiu các thit b n tho
b) Phân loại trong SaaS.
Chuyên về dịch vụ : Cung cp các gii pháp kinh doanh cho các t
chc, cá nhân và doanh nghic bán thông qua mt dch v
thuê bao. Các ng dng loi này gm: Qun lý quan h khách hàng, qun
lý nhân s
Hướng khách hàng : Cung cp dch v cho nhng khách hàng cá nhân.
H ch vi dng ng dng. Khách hàng h
phi tr phí. Mt khác vi dng rn
vi dng email. Mt s dch v ph bin hin nay là google
p dch v ch yu kim tin nh
vào qung cáo.
c) Những thuận lợi khi triển khai SaaS
Đối với người sử dụng: Có rt nhiu li khi s dKhông
cn phi mua các thit b phn cng t tin, không phi lo bo trì phn
mm. Vì phn mt trên web, truy xut ng dng thông qua
trình duyt nên có th s dng bt c t c th m nào.
Ngoài ra h n phi lo lng v bo mt, phòng chng vi rút.
Đối với nhà cung cấp dịch vụ : Nhà cung cp dch v không phi lo vn
vi phm bn quyn vì ch có mt phn mm duy nht và
qun lý t xa, hacker khó có th ly cp d liu ca ng dng. Nhà cung
Trang 19
cp dch v có th kic nhiu tiu i s
dng dch v, h kim tin ng cách thu tin qu
d) Những giới hạn khi thực hiện triển khai SaaS.
Khó đáp ứng nhu cầu của tất cả mọi người: Xây dc mt ng
dng có kh c ht yêu cu ca mi là rt khó,
u i các nhà cung cp dch v phân tích yêu cu nghip v rõ
c khi trin khi ng dng nên SaaS.
Chuyển đổi dữ liệu người sử dụng qua SaaS : Vi các h thng ln, có
ng thông tin ln thì v chuyi d liu lên SaaS s gp
khi các d liu nhy cm vi doanh nghi
nên SaaS thì cn phi mã hóa thông tin.
Có một số ứng dụng gần như không thể chuyển qua SaaS: Ví d
các ng dng Business Intelligence, vi kh liu rt ln,
không th truyn ti qua mc, vi li d liu này cn phi
bo mt cao, nên r t d liu ca h
lên internet
Bảo mật là vấn đề cần thảo luận trong SaaS : Nhà cung cp dch v
cn phi có chính sách bo mt tt và phi có tho thun cp dch v hp
dn thì khách hàng mi có th ng giao d liu nên trên SaaS.
1.3.1.2. Dịch vụ nền tảng (Platform as a Service – PaaS)
m: Phát
[5].
Thiết kế: H tr i dùng thit k ng dng và giao di
vi s dng.
Phát triển ứng dụng: H tr các công c i s dng có th
thit k, vit các mã lnh nhng các yêu cu nghip v và thc
hin kim th phn mc hin
Triển khai ứng dụng: Cung c ng trin khai các ng dng
hoc dch v ng web.
Tích hợp: Cung cng cho phép tích hp ng dng phn mm
ci s dng dch v
phn mi s dng tr thành dch v phn mm.
Trang 20
Lưu trữ: Cung cp kh bên vng cho các ng dng và dch
v bao g d liu và các file theo yêu cu.
Hoạt động: Cung cp kh ng các ng dng trong
thc hi và x lý các ngoi l (Exception) có
liên quan ti hong ca ng dng.
và duy
1.3.1.3. Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS )
p các tài nguyên
các . Chúng
-
.
m IaaS :
IaaS s dng công ngh o hóa nên có th thy rõ s tit kim chi phí do
vic s dng ngun lc hiu qu mang li.
i dùng không cn quan tâm ti vic duy trì thit b phn cng
mng v rc ri trong quá trình vn hành h thng
mi.
m IaaS
Do nhiu nhà cung cp dch v h tng (IaaS) yêu ci s
dng phi tr tin c ng s dng/ thi gian, do
v gim chi phí và tn dng th mnh công ngh o hóa yêu cu
i s dng phi tính chính xác nhu cu thc s ci vi h
thng ca h.
Nhng yu t i dùng cn ph
1.3.2. Quản lý ảo hóa
1.3.2.1. Tổng quan công nghệ ảo hóa.
p
các
Trang 21
tính .
1.3.2.2. Phân tầng trong kiến trúc ảo hóa.
Theo Rajkumar Buyya [14
sau :
Hình s 1.3 : Các lp trong kin trúc o
a) Tng o hóa (Virtualization layer)
N
(Visual Virtual Machine
Manager).
Trang 22
-
2008.
b) Máy o (Virtual machine)
Công ngn lý
ng :
Tng h u hành máy o
Tng ng di s dng
Hình s 1.4 : Phân tng trong máy o
hành máy Guest os)
Trang 23
1.3.2.3. Chu trình vòng đời máy ảo.
.
Hình s 1.5 : Chu trình i máy o
Bước 1: Yêu cầu dịch vụ phía khách hàng:
Bước 2: Cung cấp máy ảo: h (Guest
OS) và các
Bước 3: Hoạt động máy ảo:
Bước 4 : Giải phóng máy ảo :
1.3.2.4. Tiến trình cấp phát máy ảo
[14]:
Bước 1: L
lý
Trang 24
Bước 2:
Bước 3:
Hình s 1.6 : Mô t tin trình cp phát máy o
Bước 4:
Kết luận:
1.3.3. Các dịch vụ chính
1.3.3.1. Tìm kiếm và lưu dự phòng
Quá trình khám phá (tìm kiếm) các dịch vụ:
trên Rest. REpresentational State Transfer (REST)
-
WW (World Wide Web).
Trang 25
Khả năng sao lưu dự phòng: C
mây.
Ví dụ khả năng sao lưu dự phòng
Google App Engi
Master/Slave Datastore:
High Replication Datastore:
Khi thc hi phòng, vic tránh trùng lp d liu là ti cn thit.
Ví dụ
Gii pháp tránh trùng lp d liu ca Cisco thc hi:
Hình s 1.7 : Gii pháp tránh trùng lp d liu ca Cisco
Tại nguồn :
Tại đích :
Mịn :
a ra c
Trang 26
Tại nguồn
.
.
.
Tại đích
Hình s 1.8 : Loi b trùng lp ti ngu
1.3.3.2. Cân bằng tải
là
Các nút
.