TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
HUỲNH CÔNG LÊ PA – NGUYỄN THÀNH ĐẠT
Kho tài liệu miễn phí của Ket-noi.com blog giáo dục, công nghệ
TÌM HIỂU WINDOWS AZURE VÀ
XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
TP. HCM, 2010
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
HUỲNH CÔNG LÊ PA
0612327
NGUYỄN THÀNH ĐẠT
0612602
TÌM HIỂU WINDOWS AZURE VÀ
XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
GIÁO VIÊN HƯỚNG DẪN
ThS. LÂM QUANG VŨ
KHÓA 2006 – 2010
NHẬN XÉT CỦA G IÁO VIÊN HƢỚNG DẪN
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
TpHCM, ngày ….. tháng …… năm ……
Giáo viên hướng dẫn
Kho tài liệu miễn phí của Ket-noi.com blog giáo dục, công nghệ
NHẬN XÉT CỦA G IÁO VIÊN PHẢN BIỆN
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
Khóa luận đáp ứng yêu cầu của Khóa luận cử nhân CNTT.
TpHCM, ngày ….. tháng …… năm ……
Giáo viên phản biện
LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học
Khoa học Tự nhiên, Đại học Quốc gia TP. Hồ Chí Minh đã tạo điều kiện thuận lợi
cho chúng em học tập và thực hiện đề tài tốt nghiệp này.
Luận văn này sẽ không thể hoàn thành nếu không có sự giúp đỡ và chỉ bảo tận
tình của thầy Lâm Quang Vũ, người thầy hướng dẫn chúng em. Chúng em xin bày
bỏ lòng viết ơn sâu sắc về những chỉ bảo, định hướng nghiên cứu, hỗ trợ, tạo điều
kiện tốt nhất cho chúng em trong suốt quá trình thực hiện đề tài.
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công nghệ Thông
tin đã tận tình chỉ bảo, truyền đạt những tri thức, kĩ năng, kinh nghiệm quí báu cho
chúng em trong suốt bốn năm ở giảng đường đại học. Đây là những hành trang quí
báu để chúng em vững bước vào đời.
Chúng con xin gửi lời biết ơn sâu sắc đến Ông Bà, Cha Mẹ đã chịu thương,
chịu khó, nuôi dưỡng, hỗ trợ, động viên, ủng hộ chúng con để chúng con có được
ngày hôm nay.
Chúng em xin cảm ơn sự quan tâm, giúp đỡ và ủng hộ của anh chị, bạn bè
trong quá trình thực hiện khóa luận.
Mặc dù đã hết sức nỗ lực và cố gắng, nhưng luận văn chắc chắn sẽ không
tránh khỏi những thiếu sót. Chúng em kính mong nhận được sự thông cảm, góp ý và
tận tình chỉ bảo của quý Thầy Cô và các bạn. Một lần nữa xin gửi đến tất cả mọi
người lời cảm ơn chân thành nhất.
Tp. Hồ Chí Minh, tháng 07 năm 2010
Nhóm sinh viên thực hiện
Huỳnh Công Lê Pa – Nguyễn Thành Đạt
Khoa Công Nghệ Thông Tin
Bộ môn CÔNG NGHỆ PHẦN M ỀM
ĐỀ CƢƠNG CHI TIẾT
Tên Đề Tài: Tìm hiểu Windows Azure và xây dựng ứng dụng thử nghiệm.
Giáo viên hƣớng dẫn: Th.S Lâm Quang Vũ
Thời gian thực hiện: (từ ngày nhận đề tài đến ngày 7/7/2010 )
Sinh viên thực hiện:
Huỳnh Công Lê Pa – 0612327
Nguyễn Thành Đạt – 0612602
Loại đề tài: Tìm hiểu công nghệ (có ứng dụng minh họa)
Nội Dung Đề Tài: Tìm hiểu các thành phần, kiến trúc của Windows Azure Platform:
Windows Azure, SQL Azure, Windows Azure platform AppFabric. Tìm hiểu môi trường
lập trình và các dịch vụ đặc trưng của Windows Azure để phát triển mạng xã hội ảo dành
cho cựu sinh viên. Ứng dụng có các thành phần cơ bản của một mạng xã hội ảo (tài
khoản, thông tin cá nhân, tin nhắn, bạn bè, nhóm, blog, photo) và bổ sung các tính năng
đặc trưng dành cho cựu sinh viên (diễn đàn, trung tâm công việc, quyên góp). Chọn và
áp dụng một số kịch bản phổ biến cho Windows Azure để xây dựng ứng dụng.
Kế Hoạch Thực Hiện:
1/2/2010 – 28/2/2010: Tìm hiểu lý thuyết và ứng dụng.
o Nguyễn Thành Đạt: tìm hiểu lý thuyết về điện toán đám mây, các thành
phần của Windows Azure Platform.
o Huỳnh Công Lê Pa: tìm hiểu môi trường lập trình và xây dựng vài ứng
dụng thử nghiệm, sử dụng một số dịch vụ của Windows Azure.
1/3/2010 – 31/3/2010: khảo sát yêu cầu và lên ý tưởng thiết kế ứng dụng.
o Nguyễn Thành Đạt: Khảo sát trang Faceb ook, Ning, Fisharoo,…. Phân
tích, thiết kế các chức năng: thông tin cá nhân, bạn bè, blog.
o Huỳnh Công Lê Pa: Tìm hiểu kiến trúc của Student Social Network,
Fisharoo. Phân tích và thiết kế các chức năng: tài khoản, tin nhắn.
1/4/2010 – 30/4/2010: cài đặt chương trình .
o Nguyễn Thành Đạt : Xây dựng các chức năng: thông tin cá nhân, bạn bè,
blog. Tìm hiểu dịch vụ hỗ trợ của .Net : Live Service.
o Huỳnh Công Lê Pa: Xây dựng kiến trúc ứng dụng và chức năng cơ bản: tài
khoản, tin nhắn. Tìm hiểu và xây dựng mô hình MVP, hỗ trợ cho người
dùng viết thêm application. Triển khai thử nghiệm ứng dụng trên đám mây.
1/5/2010 – 31/5/2010: cài đặt, thiết kế giao diện, kiểm thử.
o Nguyễn Thành Đạt: thiết kế giao diện, kiểm thử các chức năng cơ bản.
o Huỳnh Công Lê Pa: dựa trên kiến trúc đã có xây dựng thêm các ứng dụng :
lớp/nhóm, hình ảnh, trung tâm công việc, diễn đàn, quyên góp.
1/6/2010 – 7/7/2010: viế t báo cáo và hoàn thiê ̣n .
o Nguyễn Thành Đạt: Sửa lỗi hệ thống. Tìm hiểu thêm các thành phần khác
của Windows Azure Platform. Viết báo cáo.
o Huỳnh Công Lê Pa: củng cố kiến trúc phần mềm . Áp dụng một số kịch bản
của Windows Azure cho ứng du ̣ng . Viế t báo cáo .
Xác nhận của G VHD
Ngày 07 tháng 07 năm 2010
SV Thực hiện
MỤC LỤC
Chƣơng 1
Tổng quan ................................................................................................12
1.1. Giới thiệu .............................................................................................................12
1.2. Mục tiêu đề tài .....................................................................................................13
1.3. Kết quả đạt được .................................................................................................13
Chƣơng 2
Tổng quan Windows Azure Platform ...............................................14
2.1. Tổng quan điện toán đám mây ..........................................................................14
2.1.1.
Định nghĩa ................................................................................................14
2.1.2.
Các giải pháp ............................................................................................15
2.1.3.
Các tầng tạo nên đám mây ......................................................................16
2.1.4.
Lợi ích của điện toán đám mây ..............................................................17
2.1.5.
Thách thức của điện toán đám mây .......................................................18
2.1.6.
Xu hướng phát triển .................................................................................18
2.2. Tổng quan Windows Azure Platform...............................................................19
2.2.1.
Giới thiệu ..................................................................................................19
2.2.2.
Giới thiệu Windows Azure .....................................................................20
2.2.3.
Giới thiệu SQL Azure .............................................................................21
2.2.4.
Windows Azure Platform AppFabric ....................................................23
Chƣơng 3
Giới thiệu về Windows Azure .............................................................24
3.1. Tổng quan Windows Azure ...............................................................................24
3.2. Các thành phần Windows Azure.......................................................................24
3.2.1.
Dịch vụ tính toán (Compute Service)....................................................25
3.2.2.
Dịch vụ lưu trữ (Storage Service) ..........................................................27
3.2.3.
Windows Azure Fabric ...........................................................................28
1
Chƣơng 4
Giới thiệu bộ lƣu trữ Windows Azure ..............................................31
4.1. Giới thiệu bộ lưu trữ Windows Azure..............................................................31
4.2. Windows Azure Blob .........................................................................................31
4.2.1.
Giới thiệu ..................................................................................................31
4.2.2.
Giao tiếp REST với Blob ........................................................................33
4.2.3.
Với Blob là một danh sách các block ....................................................33
4.3. Windows Azure Table ........................................................................................35
4.3.1.
Giới thiệu ..................................................................................................35
4.3.2.
Phân vùng Table ......................................................................................38
4.3.3.
Lập trình Table .........................................................................................40
4.4. Windows Azure Queue ......................................................................................41
4.4.1.
Giới thiệu ..................................................................................................41
4.4.2.
Mô hình dữ liệu Queue: ..........................................................................43
4.4.3.
Thực tiễn tốt nhất .....................................................................................44
Chƣơng 5
Giới thiệu SQL Azure ...........................................................................46
5.1. Giới thiệu .............................................................................................................46
5.2. Tổng quan kiến trúc ............................................................................................46
5.2.1.
Mô hình Provisioning ..............................................................................46
5.2.2.
Mô hình dữ liệu quan hệ .........................................................................47
5.2.3.
Kiến trúc truy xuất dữ liệu ......................................................................47
5.2.4.
Mô hình bảo mật ......................................................................................48
5.2.5.
Triển khai ..................................................................................................48
5.3. Ứng dụng của SQL Azure .................................................................................49
Chƣơng 6
Tổng quan Windows Azure Platform AppFabric ..........................50
2
6.1. Giới thiệu .............................................................................................................50
6.2. Giới thiệu AppFarbic Service Bus ....................................................................50
6.2.1.
Giới thiệu ..................................................................................................50
6.2.2.
Kiến trúc Service Bus ..............................................................................51
6.2.3.
Message Buffer ........................................................................................58
6.3. Tổng quan Fabric Access Control ....................................................................60
6.3.1.
Giới thiệu ..................................................................................................60
6.3.2.
Xây dựng Web Services Trust Access Control ....................................61
6.3.3.
Access Control Management Service ...................................................66
Chƣơng 7
Ứng dụng mạng xã hội ảo cho cựu sinh viên. ..................................68
7.1. Giới thiệu .............................................................................................................68
7.2. Chức năng ............................................................................................................69
7.3. Use-case ...............................................................................................................71
7.3.1.
Mô hình Use-case ....................................................................................71
7.3.2.
Danh sách Use-case .................................................................................72
7.4. Kiến trúc hệ thống ..............................................................................................74
7.4.1.
Theo góc nhìn thiết kế .............................................................................74
7.4.2.
Ở góc nhìn ứng dụng ...............................................................................75
7.4.3.
Kiến trúc Application ..............................................................................76
7.5. Sơ đồ lớp ..............................................................................................................78
7.6. Thiết kế dữ liệu ...................................................................................................85
7.7. Thiết kế giao diện ...............................................................................................89
7.7.1.
Trang chủ ..................................................................................................89
7.7.2.
Thông tin cá nhân ....................................................................................91
3
7.7.3.
Bạn bè........................................................................................................92
7.7.4.
Diễn đàn ....................................................................................................94
7.7.5.
Học bổng/Quyên góp...............................................................................95
7.7.6.
Blog ...........................................................................................................98
7.7.7.
Hình ảnh ................................................................................................. 100
7.7.8.
Trang quản lí.......................................................................................... 102
7.8. Cấu hình và triển khai ứng dụng .................................................................... 102
Chƣơng 8
Kết luận ................................................................................................. 106
8.1. Đánh giá ............................................................................................................ 106
8.1.1.
Về luận văn ............................................................................................ 106
8.1.2.
Về ứng dụng .......................................................................................... 106
8.2. Hướng phát triển và mở rộng luận văn ......................................................... 108
8.2.1.
Về luận văn ............................................................................................ 108
8.2.2.
Về ứng dụng .......................................................................................... 108
8.3. Lời kết ............................................................................................................... 108
Phụ lục............................................................................................................................. 111
1.
AppFabric Service Bus Binding ...................................................................... 111
1.1. NetOnewayRelayBinding ............................................................................... 111
1.2. NetEventRelayBinding ................................................................................... 112
1.3. NetTcpRelayBinding ....................................................................................... 112
1.4. HTTP Relay Binding ....................................................................................... 114
4
DANH MỤC CÁC HÌNH
Hình 2.1 - Mọi thứ đều tập trung vào đám mây. [1] .....................................................14
Hình 2.2 - Minh họa về các dịch vụ. [2].......................................................................15
Hình 2.3 - Các tầng tạo nên đám mây. [3] ...................................................................16
Hình 2.4 – Tổng quan Windows Azure Platform. [20] ..............................................19
Hình 2.5 – Windows Azure cung cấp dịch vụ tính toán và dịch vụ lưu trữ. [6]........20
Hình 2.6 - SQL Azure cung cấp dịch vụ định hướng dữ liệu trong đám mây. [6]....21
Hình 2.7 - Ứng dụng truy xuất dữ liệu trong Cơ sở dữ liệu SQL Azure. [6].............22
Hình 2.8 - Windows Azure Platform AppFabric cung cấp cơ sở hạ tầng. [6]...........23
Hình 3.1 - Ứng dụng Windows Azure. [7] .....................................................................24
Hình 3.2 - Các thành phần Windows Azure. [7] ...........................................................24
Hình 3.3 - Ứng dụng Windows Azure có thể chứa Web role và Worker role. [7] ...25
Hình 3.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue. [7] ................................27
Hình 3.5 - Fabric Controller. [7]......................................................................................28
Hình 3.6 - Fabric Controller và Fault Domain. [7] .......................................................29
Hình 3.7 - Fabric Controller và Update Domain. [7] ....................................................30
Hình 4.1 - Mô hình ví dụ dữ liệu Blob. [8] ....................................................................31
Hình 4.2 - Khái niệm lưu trữ Blob Block. [8]................................................................34
Hình 4.3 - Windows Azure Table. [7] ............................................................................36
Hình 4.4 – Hình minh họa phân vùng. [9]......................................................................39
5
Hình 4.5 – Các thao tác với message. [10] .....................................................................42
Hình 6.1 - Kiến trúc Service Bus. [12] ...........................................................................51
Hình 6.2 - Mô hình tích hợp Service bus và Access Control. [13] .............................52
Hình 6.3 – Sơ đồ tên gọi của Service Bus. [13] ...........................................................55
Hình 6.4 – Message Buffer trong Service Bus. [13] .....................................................58
Hình 6.5 – Sơ đồ trao đổi. [15] ........................................................................................61
Hình 6.6 - Lược đồ tài nguyên Access Control. [17] ....................................................66
Hình 7.1 - Sơ đồ Use-case. ...............................................................................................71
Hình 7.2 – Sơ đồ kiến trúc tổng quan hệ thống. ............................................................74
Hình 7.3 – Sơ đồ kiến trúc chi tiết hệ thống. .................................................................75
Hình 7.4 – AlumniNetworking ở góc nhìn ứng dụng. ..................................................76
Hình 7.5 – Sơ đồ kiến trúc Application. .........................................................................76
Hình 7.6 – Cấu trúc AppPage. .........................................................................................77
Hình 7.7 – Sơ đồ module Account, Profile, Friend.......................................................78
Hình 7.8 – Sơ đồ lớp Forum, Group. ..............................................................................80
Hình 7.9 – Sơ đồ lớp module Message, Photo, Comment, Rating..............................81
Hình 7.10 – Sơ đồ lớp module Job, Scholarship. ..........................................................83
Hình 7.11 – Lược đồ CSDL. ............................................................................................85
Hình 7.12 – Màn hình trang chủ. .....................................................................................89
Hình 7.13 – Màn hình đăng nhập. ...................................................................................90
6
Hình 7.14 – Màn hình đăng ký. .......................................................................................90
Hình 7.15 – Màn hình thông tin cá nhân. .......................................................................91
Hình 7.16 – Màn hình tin nhắn. .......................................................................................91
Hình 7.17 – Màn hình bạn bè của tôi. .............................................................................92
Hình 7.18 – Màn hình tìm kiếm bạn bè. .........................................................................92
Hình 7.19 – Màn hình nhập địa chỉ mail từ Outlook. ...................................................93
Hình 7.20 – Màn hình giới thiệu nhóm. .........................................................................93
Hình 7.21 – Màn hình thành viên nhóm. ........................................................................94
Hình 7.22 – Màn hình diễn đàn. ......................................................................................94
Hình 7.23 – Màn hình bài viết trên diễn đàn. ................................................................95
Hình 7.24 – Màn hình quyên góp. ...................................................................................95
Hình 7.25 – Màn hình danh sách công việc. ..................................................................96
Hình 7.26 – Màn hình thông tin công việc.....................................................................96
Hình 7.27 – Màn hình danh sách ứng viên của một công việc. ...................................97
Hình 7.28 – Màn hình danh sách bài viết. .....................................................................98
Hình 7.29 – Màn hình chi tiết bài viết . ..........................................................................99
Hình 7.30 – Màn hình hình ảnh. ................................................................................... 100
Hình 7.31 – Màn hình slideshow.................................................................................. 101
Hình 7.32 – Màn hình trang quản lí. ............................................................................ 102
Hình 7.33 – Màn hình đăng nhập tài khoản Windows Live. .................................... 102
7
Hình 7.34 – Màn hình thông tin project Windows Azure. ........................................ 103
Hình 7.35 – Màn hình các dịch vụ đã đăng ký. .......................................................... 103
Hình 7.36 – Màn hình đăng ký dịch vụ mới. .............................................................. 103
Hình 7.37 – Màn hình đăng ký hosted service. .......................................................... 104
Hình 7.38 – Màn hình đăng ký storage service. ......................................................... 104
Hình 7.39 – Màn hình tạo mới Affinity Group........................................................... 104
Hình 7.40 – Màn hình cấu hình dịch vụ. ..................................................................... 105
Hình 7.41 – Màn hình quản lí ứng dụng...................................................................... 105
Hình 8.1 – Các application và plugin đã xây dựng. ................................................... 107
Hình 8.2 – Cơ chế NetOnewayRelayBinding . ........................................................... 111
Hình 8.3 – Cơ chế NetEventRelayBinding. [13] ........................................................ 112
Hình 8.4 – Cơ chế NetTcpRelayBinding – Relayed Mode. [13] ............................ 113
Hình 8.5 – Cơ chế NetTcpRelayBinding - Hybrid Mode. [13] ............................... 114
Hình 8.6 – Cơ chế HTTP Relay Binding. [13] .......................................................... 115
8
DANH MỤC CÁC BẢNG
Bảng 4.1 – Các kiểu dữ liệu Windows Azure Table hỗ trợ. [9] ..................................38
Bảng 4.2 – Bảng tóm tắt các API cho Windows Azure Table. [9] .............................40
Bảng 6.1 – Bảng giá trị của TransportClientCredentialType. [12] .............................53
Bảng 6.2 – Bảng giá trị của Message Security. [12] .....................................................54
Bảng 6.3 – WCF và AppFabric Service Bus Binding. [12] .........................................57
Bảng 6.4 – Giá trị ConnectivityMode. [12] ...................................................................57
Bảng 6.5 – Key trong một SWT Token. [15].................................................................63
Bảng 6.6 – Các kiểu yêu cầu Access Control. [16] .......................................................65
Bảng 7.1 – Danh sách các Use-case. ...............................................................................72
Bảng 7.2 – Các thành phần kiến trúc Application.........................................................77
Bảng 7.3 – Các lớp/quan hệ của sơ đồ module Account, Profile, Friend. .................79
Bảng 7.4 – Các lớp/quan hệ của sơ đồ module Forum, Group....................................81
Bảng 7.5 – Các lớp/quan hệ của sơ đồ lớp Message, Photo, Comment, Rating. ......82
Bảng 7.6 – Các lớp/quan hệ của sơ đồ module Job, Scholarship. ...............................84
Bảng 7.7 – Các table của ứng dụng AlumniNetworking..............................................86
9
MỘT SỐ THUẬT NGỮ
On-premise
Chỉ các ứng dụng hoặc dịch vụ được triển khai và quản lí bởi
một doanh nghiệp sở hữu nó và đặt tại vị trí doanh nghiệp đó.
CNTT
Công nghệ thông tin.
IDC
International Data Corporation
10
TÓM TẮT
Vấn đề nghiên cứu:
Luận văn thực hiện nghiên cứu tìm hiểu các vấn đề chung của Windows Azure
Platform như kiến trúc, thành phần, chức năng, lợi ích, các mô hình ứng dụng nhằm
đưa ra một tầm nhìn tổng quan về Windows Azure Platform.
Tìm hiểu mô hình, hoạt động, một số vấn đề khi sử dụng các thành phần của
Windows Azure Platform để phát triển ứng dụng.
Tìm hiểu môi trường phát triển Windows Azure Development Kit. Tìm hiểu
các dịch vụ và kịch bản của Windows Azure và chọn lọc để phát triển ứng dụng
mạng xã hội ảo dành cho cựu sinh viên.
Tìm hiểu các thành phần, chức năng cơ bản của mạng xã hội ảo và tham khảo
các website của cựu sinh viên trong nước và quốc tế. Xây dựng mạng xã hội ảo có
các chức năng cơ bản và các tính năng đặc trưng dành cho cựu sinh viên trên
Windows Azure.
Kết quả:
Báo cáo lý thuyết về các thành phần của Windows Azure Platform: Windows
Azure, Bộ lưu trữ Windows Azure (Blob, Table, Queue), SQL Azure, Windows
Azure platform AppFabric (Service Bus, Access Control).
Xây dựng đươ ̣c ứng dụng ma ̣ng xã hô ̣i
Azure gồ m những thành phầ n sau
ảo cho cựu sinh viên trên Windows
: tài khoản, thông tin cá nhân, tin nhắn, bạn bè,
lớp/nhóm, blog, diễn đàn, hình ảnh, học bổng/quyên góp, trung tâm công việc.
Ứng dụng được các dịch vụ hỗ trợ của Windows Azure: dịch vụ tính toán,
dịch vụ lưu trữ, SQL Azure. Thực hiện được một số kịch bản của Windows Azure
để xây dựng ứng dụng. Do đó ứng dụng có các những khả năng sau:
-
Kiến trúc hệ thống được xây dựng theo hướng mở , có khả năng thay đổi giao
diện web.
-
Có được một số lợi ích so với ứng dụng Web thông thường : hiệu suất xử lí
cao, khả năng chịu tải tốt, dữ liệu được lưu trữ trên đám mây có khả năng mở rộng
lớn. Ứng dụng có khả năng mở rộng tốt, có xử lí song song, có xử lí nền.
11
Chƣơng 1
Tổng quan
1.1. Giới thiệu
Chỉ với một thời gian ngắn nhưng ngày càng nhiều doanh nghiệp dựa vào sự
phát triển của các ứng dụng và nền tảng CNTT qua Internet hoặc "đám mây" để
cung cấp những ứng dụng CNTT. Trên khắp thế giới, hiện tượng điện toán đám
mây đang được tung hô như là một điều gì lớn lao sắp đến của ngành CNTT. Nó sẽ
thay đổi cách con người làm việc, cách thức các công ty hoạt động cũng như khả
năng sử dụng dịch vụ hiệu quả và tiết kiệm hơn. Theo dự báo của Công ty Dữ liệu
quốc tế IDC, thị trường các dịch vụ đám mây trên toàn thế giới sẽ đạt quy mô
khoảng 43 tỉ USD vào năm 2012. IDC cũng cho rằng những ứng dụng dịch vụ đám
mây sẽ đạt tỷ lệ tăng trưởng hàng năm khoảng 27%, cao gấp khoảng 5 lần mô hình
sử dụng các dịch vụ CNTT truyền thống.
Với công nghệ điện toán đám mây. Chúng ta sẽ không còn trông thấy các máy
tính cá nhân, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa
mà chỉ còn một số các “máy chủ ảo” tập trung ở trên mạng. Các “máy chủ ảo” sẽ
cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ
sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều
vào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ. Xu hướng này sẽ giúp
nhiều cho các công ty, doanh nghiệp vừa và nhỏ không có cơ sở hạ tầng mạng, máy
chủ để lưu trữ, quản lý dữ liệu.
Và Microsoft đã quyết định không đứng sau trào lưu này. Microsoft đã cho ra
đời Windows Azure Platform nhằm mang đến cho cộng đồng các nhà phát triển ứng
dụng cơ hội được xây dựng và cung cấp các dịch vụ trực tuyến trên nền tảng cơ sở
hạ tầng Windows.
Ở Việt Nam, đám mây bắt đầu được định hướng phát triển khi FPT ký kết với
Microsoft châu Á - Trend Micro để hợp tác phát triển "đám mây" ở Việt Nam. Nhận
định về hợp tác này, Steve Chang cho rằng, điện toán đám mây sẽ đem lại cơ hội
cho Việt Nam bởi công nghệ hoàn toàn mới sẽ giúp giới trẻ Việt Nam vốn rất năng
động sẽ có thêm điều kiện sáng tạo và phát huy tài năng của mình.
12
1.2. Mục tiêu đề tài
Hiện này, đất nước đang thực hiện công cuộc công nghiệp hóa, hiện đại hóa,
trong đó việc rút ngắn sự tụt hậu, phát triển về khoa học công nghệ là yếu tố then
chốt quyết định sự thành công của công cuộc đổi mới. Song song với quá trình phát
triển, ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lí lớn xuất hiện trong
khoa học, thương mại và quản lí đ ất nước. Việc nghiên cứu, áp dụng Windows
Azure Platform là một giải pháp tốt để giải quyết những vấn đề này.
Hơn nữa, nền tảng Windows Azure còn khá mới mẻ, đang trong giai đoạn
hoàn thiện, việc cùng tham gia với cộng đồng thế giới sẽ giúp chúng ta học hỏi kinh
nghiệm, tiến tới làm chủ công nghệ, từ đó phát triển theo hướng đi của riêng mình,
đáp ứng nhu cầu của đất nước.
1.3. Kết quả đạt đƣợc
Với tinh thần tham gia nghiên cứu, học hỏi công nghệ, đề tài luận văn “Tìm
hiểu Windows Azure và xây dựng ứng dụng thử nghiệm” được thực hiện nhằm
đi những bước đầu tiên trong quá trình nghiên cứu, phát triển, ứng dụng Windows
Azure vào thực tế. Luận văn nghiên cứu các vấn đề chung của Windows Azure
Platform, xây dựng mạng xã hội ảo dành cho cựu sinh viên trên ứng dụng Windows
Azure.
Báo cáo lý thuyết tổng quan và các thành phần của Windows Azure Platform:
Windows Azure, Bộ lưu trữ Windows Azure (Blob, Table, Queue), SQL Azure,
Windows Azure platform AppFabric (Service Bus, Access Control).
Xây dựng đươ ̣c ứng dụng ma ̣ng xã hội cho cựu sinh viên trên Windows Azure
gồ m những thành phầ n sau : tài khoản, thông tin, tin nhắn, bạn bè, nhóm, blog, diễn
đàn, hình ảnh, quyên góp, trung tâm công việc. Ứng dụng phát huy được một số
tính năng Windows Azure hỗ trợ như : mở rộng lưu trữ, xử lí song song, xử lí nền.
13
Chƣơng 2
Tổng quan Windows Azure Platform
2.1. Tổng quan điện toán đám mây
2.1.1. Định nghĩa
Theo Gartner:
“Điện toán đám mây là một kiểu tính toán trong đó các năng lực CNTT có khả
năng mở rộng rất lớn được cung cấp “dưới dạng dịch vụ” qua mạng Internet đến
nhiều khách hàng bên ngoài.”
Theo Forrester Research:
“Điện toán đám mây là một kho tài nguyên cơ sở hạ tầng ảo hóa, có khả năng
mở rộng cao và được quản lý, có thể hỗ trợ các ứng dụng của khách hàng cuối và
được tính tiền theo mức độ sử dụng.”
Theo NIST (National Institute of Standards and Technology):
“Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo
nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình: mạng,
máy chủ, lưu trữ, ứng dụng,…có thể được cung cấp và thu hồi một cách nhanh
chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ.”
Hình 2.1 - Mọi thứ đều tập trung vào đám mây. [1]
14
2.1.2. Các giải pháp
Điện toán đám mây ra đời để giải quyết các vấn đề sau:
-
Vấn đề về lưu trữ dữ liệu:
Dữ liệu được lưu trữ tập trung ở các trung tâm dữ liệu khổng
lồ. Các công ty lớn như Microsoft, Google có hàng chục trung tâm dữ liệu nằm
rải rác khắp nơi trên thế giới. Các công ty lớn này sẽ cung cấp các dịch vụ cho phép
doanh nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các trung tâm lưu trữ.
-
-
Vấn đề về sức mạnh tính toán: có 2 giải pháp chính
Sử dụng các siêu máy tính để xử lý tính toán.
Sử dụng các hệ thống tính toán song song, phân tán.
Vấn đề về cung cấp tài nguyên, phần mềm.
Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS
(platform as a service), SaaS (software as a service).
Hình 2.2 - Minh họa về các dịch vụ. [2]
15
2.1.3. Các tầng tạo nên đám mây
Hình 2.3 - Các tầng tạo nên đám mây. [3]
Các dịch vụ ứng dụng (SaaS)
Tầng dịch vụ ứng dụng này lưu trữ các ứng dụng phù hợp với mô hình SaaS.
Đây là những ứng dụng chạy trong một đám mây và được cung cấp theo yêu cầu.
Đôi khi các dịch vụ này được cung cấp miễn phí và các nhà cung cấp dịch vụ tạo ra
doanh thu từ những thứ khác như các quảng cáo Web và nhiều khi các nhà cung cấp
ứng dụng tạo ra doanh thu trực tiếp từ việc sử dụng dịch vụ. Nếu bạn đã kiểm tra
thư của bạn khi sử dụng Gmail hoặc Yahoo Mail hoặc được nhắc các cuộc hẹn khi
sử dụng Google Calendar, thì bạn đã quen thuộc với tầng trên cùng của đám mây.
Đây chỉ là một vài ví dụ về các kiểu ứng dụng này.
Các ứng dụng được cung cấp qua mô hình SaaS làm lợi cho người tiêu dùng
bằng cách giải phóng cho họ khỏi việc cài đặt và bảo trì phần mềm và các ứng dụng
có thể được sử dụng thông qua các mô hình cấp phép có hỗ trợ trả tiền để sử dụng.
Các dịch vụ nền tảng
Đây là tầng ở đó chúng ta thấy cơ sở hạ tầng ứng dụng nổi lên như là một tập
hợp các dịch vụ. Các dịch vụ ở đây được dành để hỗ trợ cho các ứng dụng. Các ứng
dụng này có thể đang chạy trong đám mây và chúng có thể đang chạy trong một
trung tâm dữ liệu doanh nghiệp truyền thống. Để đạt được khả năng mở rộng cần
thiết trong một đám mây, các dịch vụ khác nhau được đưa ra ở đây thường được ảo
hóa. Các ví dụ trong phần này của đám mây bao gồm Amazon Web Services,
16
Boomi, và Google App Engine. Các dịch vụ nền tảng này cho phép khách hàng
chắc chắn rằng các ứng dụng của họ được trang bị để đáp ứng các nhu cầu của
người dùng bằng cách cung cấp cơ sở hạ tầng ứng dụng dựa theo yêu cầu.
Các dịch vụ cơ sở hạ tầng
Ở đây, chúng ta thấy một tập hợp các tài sản vật lí như các máy chủ, các thiết
bị mạng và các đĩa lưu trữ được đưa ra như là các dịch vụ được cung cấp cho người
tiêu dùng. Các dịch vụ ở đây hỗ trợ cơ sở hạ tầng ứng dụng và nhiều người tiêu
dùng hơn. Cũng như với các dịch vụ nền tảng, sự ảo hóa là một phương pháp
thường được sử dụng để tạo ra chế độ phân phối các nguồn tài nguyên theo yêu cầu.
Ví dụ về các dịch vụ cơ sở hạ tầng bao gồm IBM Bluehouse, VMware, Amazon
EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage và còn nữa.
2.1.4. Lợi ích của điện toán đám mây
Nhanh nhẹn: Có khả năng cung cấp các tài nguyên cơ sở hạ tầng, công nghệ
có sẵn một cách nhanh chóng và ít tốn kém.
Chi phí thấp: Giảm chi phí đầu tư, nâng cấp, bảo trì các cơ sở hạ tầng tốn
kém như: máy chủ, mạng, các thiết bị lưu trữ, phần mềm…và việc tính chi phí dựa
trên nhu cầu sử dụng giúp tiết kiệm chi phí.
Độc lập với các thiết bị và vị trí : Người dùng có thể truy cập vào ứng dụng
đám mây bằng nhiều thiết bị và tại bất cứ vị trí nào thông qua Internet.
Hỗ trợ nhiều ngƣời thuê: cho phép chia sẻ tài nguyên và chi phí giữa một
phạm vi lớn người dùng nhằm:
o
Tập trung cơ sở hạ tầng tại một vùng với chi phí thấp.
o
Khả năng chịu tải cao.
o
Cải thiện việc sử dụng và nâng cao hiệu suất cho hệ thống.
Khả năng co giãn linh động (theo nhu cầu): Doanh nghiệp cũng có thể dễ
dàng điều chỉnh thêm, bớt người sử dụng và bổ sung dịch vụ tùy theo nhu cầu sử
dụng.
Bảo mật : Vấn đề bảo mật cải thiện nhờ vào việc tập trung hóa dữ liệu, tăng
chi phí đầu tư cho việc bảo mật.
17
2.1.5. Thách thức của điện toán đám mây
Chi phí: chi phí bản quyền phần mềm ban đầu có thể khá cao.
Công tác quản lý cũng có thể sẽ gặp khó khăn, bởi đám mây là một dịch vụ
được cung cấp từ bên ngoài, với phương thức hoạt động, lưu trữ và xử lý dữ liệu từ
những nguồn cách xa.
Tính sẵn sàng: Không đảm bảo về tính sẵn sàng cũng là một trở ngại hiện
nay, khi chỉ có một số rất ít nhà cung c ấp dịch vụ cam kết được về sự sẵn sàng và
liên tục của dịch vụ, về thời gian sửa chữa và phục hồi dữ liệu. Nói cách khác,
những dịch vụ điện toán đám mây có vẻ không đáng tin cậy đối với một số ứng
dụng quan trọng và có yêu cầu cao.
Tính riêng tƣ: Khi dữ liệu được cập nhật trong đám mây, nó có thể dễ dàng bị
những tên tội phạm mạng, gián điệp và những đối thủ cạnh tranh xâm nhập. Thực tế
hiện nay các nhà cung c ấp dịch vụ điện toán đám mây vẫn chưa có một phương
pháp bảo vệ nào trong trường hợp dữ liệu bị xâm nhập.
Vấn đề tuân thủ cũng trở nên phức tạp. Những nhà cung cấp dịch vụ điện
toán đám mây có thể chuyển dữ liệu tới quốc gia khác có giá rẻ hơn, nhưng luật
lỏng lẻo hơn. Vậy ai sẽ là người chịu trách nhiệm pháp lý về quản lý dữ liệu, sở hữu
dữ liệu, sự minh bạch của tài liệu cũng như tính chính xác của dữ liệu kiểm toán?
Cho đến giờ, chưa có công ty cung cấp dịch vụ đám mây nào sẵn sàng cung cấp sự
đảm bảo mà các công ty lớn cần có thể loại trừ những rủi ro đó.
2.1.6. Xu hƣớng phát triển
Thuật ngữ “điện toán đám mây” ra đời từ giữa năm 2007, cho đến nay đã
không ngừng phát triển mạnh mẽ và được hiện thực bởi nhiều công ty lớn trên thế
giới như IBM, Sun, Amazon, Google, Microsoft, Yahoo, SalesForce, …
18