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

Điện toán đám mây nền tảng azure và ứng dụng trong quản lý thông tin đất đai tại bắc ninh

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 (2.25 MB, 76 trang )

LỜI CẢM ƠN
Để có thể tìm hiểu, hoàn thiện luận văn và có được kết quả như ngày hôm nay,
tôi xin chân thành bày tỏ lòng cảm ơn tới trường Đại học công nghệ thông tin và
truyền thông - Đại học Thái Nguyên đã tạo môi trường thật tốt cho tôi được học tập,
rèn luyện, tìm hiểu và trau dồi kiến thức trong suốt hai năm học vừa qua.
Tôi cũng xin được gửi lời cảm ơn tới các thầy trong Viện Công nghệ thông tin Viện khoa học và công nghệ Việt Nam, những người đã tận tình dạy bảo tôi cùng tập
thể lớp trong suốt quá trình chúng tôi học tập tại trường.
Đặc biệt tôi xin được gửi lời cảm ơn tới Tiến Sỹ Nguyễn Văn Tảo, thầy đã rất
nhiệt tình cung cấp tài liệu, hướng dẫn, chỉ bảo, đóng góp ý kiến và tạo mọi điều kiện
cho tôi thực hiện, hoàn thiện luận văn được dễ dàng và có kết quả tốt nhất.
Cuối cùng, tôi muốn bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc tới gia
đình, bạn bè... những người luôn bên cạnh, động viên, giúp đỡ tôi trong học tập và
cuộc sống.
Luận văn có được một số kết quả nhất định, tuy nhiên không thể tránh khỏi
sai sót và hạn chế, kính mong được sự cảm thông và đóng góp ý kiến của thầy cô
và các bạn.
Thái Nguyên, ngày 08 tháng 10 năm 2015
Đỗ Duy Yên

1


LỜI CAM ĐOAN
Tôi cam đoan toàn bộ nội dung trong luận văn này là kết quả quá trình tìm hiểu
các tài liệu liên quan đến đề tài của tôi. Các số liệu, kết quả nêu trong luận văn là trung
thực và chưa từng được công bố trong bất kỳ công trình nào khác.

Học viên
(Ký tên và ghi rõ họ tên)

Đỗ Duy Yên



2


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................ 1
LỜI CAM ĐOAN....................................................................................................... 2
MỤC LỤC .................................................................................................................. 3
MỞ ĐẦU .................................................................................................................... 5
CÁC THUẬT NGỮ VIẾT TẮT ................................................................................ 7
DANH MỤC HÌNH VẼ ............................................................................................. 8
CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY NỀN
TẢNG DỊCH VỤ AZURE. ........................................................................................ 9
1.1. Giới thiệu chung về điện toán đám mây ........................................................ 9
1.1.1. Khái niệm điện toán đám mây.................................................................... 9
1.1.2. Đặc điểm của điện toán đám mây ............................................................ 10
1.2. Phân tích, so sánh với các mô hình tính toán khác. .................................... 10
1.2.1. Điện toán lưới (Grid Computing)............................................................. 10
1.2.2. Tính toán theo yêu cầu (Utility Computing) ............................................. 11
1.2.3. Dịch vụ Web (Web Service) ..................................................................... 12
1.3. Kiến trúc điện toán đám mây ....................................................................... 12
1.3.1. Mô hình kiến trúc tổng quát ..................................................................... 13
1.3.2. Các thành phần của điện toán đám mây .................................................. 13
1.4. Các mô hình dịch vụ của điện toán đám mây. ............................................. 14
1.4.1. Phần mềm như một dịch vụ (SaaS - Software as a Service) ...................... 14
1.4.2. Nền tảng như một dịch vụ (PaaS - Platform as a Service) ........................ 15
1.4.3. Hạ tầng như một dịch vụ (IaaS - Infrastructure as a Service) .................. 16
1.5. Ưu, nhược điểm của điện toán đám mây. .................................................... 16
1.5.1. Ưu điểm ................................................................................................... 16
1.5.2. Nhược điểm ............................................................................................. 17

1.6. Giới thiệu nền tảng dịch vụ Azure ............................................................... 18
1.6.1. Các thành phần chính của dịch vụ Azure ................................................. 19
1.6.2. Dịch vụ SQL Azure .................................................................................. 22
1.6.3. Dịch vụ Live ............................................................................................ 25
1.7. Tiểu kết.......................................................................................................... 26
CHƯƠNG 2: MÔ HÌNH QUẢN LÝ THÔNG TIN ĐẤT ĐAI TRÊN NỀN ĐIỆN
TOÁN ĐÁM MÂY................................................................................................... 27
2.1. Tổng quan về Hệ thống thông tin quản lý đất đai ....................................... 27

3


2.1.1. Khái niệm hệ thống thông tin đất đai ....................................................... 27
2.1.2. Khái niệm quản lý thông tin đất ............................................................... 27
2.1.3. Một số dạng dữ liệu được quản lý trong hệ thống thông tin đất đai ......... 28
2.1.4. Khái niệm quản lý nhà nước về đất đai .................................................... 28
2.2. Tình hình triển khai nền tảng CNTT trong ngành quản lý đất đai............ 32
2.3. Đánh giá hiện trạng và sự cần thiết xây dựng LIS trên nền tảng điện toán
đám mây ............................................................................................................... 38
2.3.1. Điểm mạnh .............................................................................................. 38
2.3.2. Điểm yếu ................................................................................................. 38
2.3.3. Sự cần thiết xây dựng HTTT quản lý đất đai trên nền ĐTĐM .................. 39
2.4. Mô hình Hệ thống thông tin quản lý đất đai trên nền tảng ĐTĐM ........... 40
2.4.1. Kiến trúc tổng thể cho hệ thống ............................................................... 42
2.4.2. Kiến trúc triển khai .................................................................................. 47
2.5. Tiểu kết: ........................................................................................................ 50
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG THÔNG TIN ĐẤT ĐAI TẠI TỈNH BẮC
NINH TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY ............................................ 51
3.1. Hiện trạng dữ liệu đất đai ............................................................................ 51
3.1.1. Hiện trạng hệ thống hồ sơ địa chính. ....................................................... 51

3.1.2. Hiện trạng hệ thống thông tin đất đai. ..................................................... 52
3.1.3. Hệ thống ELIS cho tỉnh Bắc Ninh ............................................................ 54
3.2. Phân tích thiết kế hệ thống thông tin đất đai .............................................. 55
3.2.1. Đặc tả yêu cầu người dùng ...................................................................... 55
3.2.3. Phân tích thiết kế hệ thống....................................................................... 63
3.3. Chương trình thử nghiệm ............................................................................ 70
3.3.1. Lựa chọn công nghệ ................................................................................... 70
3.3.2. Các bước triển khai ................................................................................. 70
3.3.3. Hình ảnh kết quả ..................................................................................... 71
3.4. Tiểu kết.......................................................................................................... 73
KẾT LUẬN .............................................................................................................. 74
TÀI LIỆU THAM KHẢO ....................................................................................... 75

4


MỞ ĐẦU
Trong 10 năm gần đây, ứng dụng công nghệ thông tin trong hoạt động của cơ
quan nhà nước là một chủ đề thu hút sự quan tâm của các cơ quan nhà nước cũng như
của người dân, doanh nghiệp nhờ tác động mạnh mẽ của nó đến chất lượng cuộc sống.
Ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước đã và
đang góp phần vào sự phát triển chung của xã hội, hướng tới mục tiêu “Dân giàu,
nước mạnh, xã hội công bằng, dân chủ, văn minh”. Tuy nhiên, bên cạnh những thành
tựu đạt được, việc áp dụng công nghệ thông tin vào nghiệp vụ quản lý hành chính nhà
nước vẫn còn hạn chế, đầu tư chưa đồng đều và còn gặp nhiều khó khăn. Một trong
những khó khăn được nhắc đến đó là việc chưa có sự thống nhất hay bắt tay với nhau
của các cơ quan quản lý.
Trong quá trình làm luận văn, tôi đã may mắn nhận được sự hướng dẫn, chỉ bảo
của Tiến sĩ Nguyễn Văn Tảo và hướng cho tôi nghiên cứu đề tài “Điện toán đám mây
- nền tảng Azure và ứng dụng trong quản lý thông tin đất đai tại Bắc Ninh”.

Luận văn được trình bày với bố cục 3 chương. Chương 1, trình bày tổng quan
về Điện toán đám mây và nền tảng Windows Azure. Chương 2 của luận văn phân tích
hiện trạng ứng dụng CNTT trong quản lý hành chính đất đai, những điểm mạnh, điểm
yếu và sự thiết yếu xây dựng hệ thống quản lý thông tin đất đai trên đám mây. Đồng
thời tái hiện lại một phần nội dung của Đề tài cấp Bộ“Nghiên cứu giải pháp công nghệ
ứng dụng cho quản lý và khai thác thông tin, dữ liệu đất đai trên nền điện toán đám
mây”. Chương 3 tập trung phân tích kỹ hiện trạng quản lý đất đai tại tỉnh Bắc Ninh, đề
xuất mô hình quản lý đất đai trên đám mây cho cấp tỉnh/thành và tiến hành thử nghiệm
trên Windows Azure.
Với mục đích muốn tìm hiểu điện toán đám mây, cụ thể là nền tảng dịch vụ
Azure của Microsoft cùng với những lợi ích nó mang lại, tôi đã chọn đề tài “Điện
toán đám mây - Nền tảng Azure và ứng dụng trong quản lý thông tin đất đai tại
Bắc Ninh” cho luận văn tốt nghiệp của mình. Luận văn này tập trung tìm hiểu những
khái niệm cơ bản về điện toán đám mây nói chung, công nghệ Azure nói riêng và ứng
dụng vào phân tích, xây dựng thử nghiệm.

5


Do thời gian và kiến thức còn hạn chế nên tôi chỉ cài đặt thử nghiệm một số quy
trình thủ tục hành chính trên đám mây. Tôi mong nhận được sự góp ý, nhận xét của
các thầy cô cũng như của bạn bè để hoàn thiện các chức năng của hệ thống đảm bảo hệ
thống đáp ứng quy trình và góp phần xây dựng hệ thống chính phủ điện tử.

6


CÁC THUẬT NGỮ VIẾT TẮT
Tên viết tắt


API

Tên khoa học

Aplication

Giải nghĩa

Programming Giao diện lập trình ứng dụng

Interface
CNTT

Information Technology

Công Nghệ Thông Tin

CQCN

Cơ Quan Chức Năng

CSDL

Database

Cơ Sở Dữ Liệu

ĐTĐM

Cloud Computing


Điện Toán Đám Mây

ELIS

Enveroinment Land

Hệ thống thông tin quản lý đất đai

Information System

và môi trường

Land Information System

Hệ thống thông tin đất đai

LIS

7


DANH MỤC HÌNH VẼ
Hình 1.1. Mô hình điện toán đám mây ......................................................................... 9
Hình 1.2. Mô hình grid computing ............................................................................. 11
Hình 1.3. Mô hình Tính toán theo yêu cầu ................................................................. 11
Hình 1.4. Mô hình Web service ................................................................................. 12
Hình 1.5. Mô hình kiến trúc điện toán đám mây [5] ................................................... 13
Hình 1.6. Các thành phần của điện toán đám mây [5] ................................................ 13
Hình 1.10. Windows Azure cung cấp các dịch vụ lưu trữ và tính toán dựa trên

Windows cho các ứng dụng đám mây[7] ................................................................... 19
Hình 1.11. Ứng dụng Windows Azure có thể bao gồm các thể hiện web role và worker
role, trong đó mỗi thể hiện chạy trên máy ảo của riêng nó [7] .................................... 20
Hình 1.12. 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 [6] .................................................................................... 21
Hình 1.13. SQL Azure cung cấp các tiện ích hướng dữ liệu trong đám mây [7] ......... 23
Hình 1.14. Cơ sở dữ liệu SQL Azure [6] .................................................................... 24
Hình 1.15. 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
“Huron” data Sync [7] ............................................................................................... 24
Hình 1.16. “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à. [7]............................ 25
Hình 2.1. Mô hình thành phần Elis Cloud .................................................................. 41
Hình 2.2. Sơ đồ luồng ngữ cảnh. ................................................................................ 42
Hình 2.3. Mô hình kiến trúc tổngthể .......................................................................... 43
Hình 2.4. Kiến trúc dữ liệu ........................................................................................ 45
Hình 2.5. Mô hình kiến trúc triển khai giai đoạn 1. .................................................... 47
Hình 2.6. Mô hình phân tầng giai đoạn 1. .................................................................. 48
Hình 2.7. Mô hình phân tầng giai đoạn 2. .................................................................. 49
Hình 2.8. Mô hình triển khai giai đoạn 3. ................................................................... 50
Hình 3.1. Các thành phần của cơ sở dữ liệu đất đai .................................................... 55
Hình 3.2. Biểu đồ đăng ký lần đầu cho tổ chức .......................................................... 59
Hình 3.3. Biểu đồ đăng ký lần đầu cho hộ gia đình, cá nhân ...................................... 60
Hình 3.4. Biểu đồ đăng ký biến động sau cấp giấy ..................................................... 61
Hình 3.5. Biểu đồ cấp đổi, cấp lại giấy chứng nhận ................................................... 62
Hình 3.6. Biểu đồ Use case của hệ thống ................................................................... 64
Hình 3.7. Biểu đồ Use case quản trị người dùng ........................................................ 65
Hình 3.8. Biểu đồ cộng tác quản trị người dùng ......................................................... 66
Hình 3.9. Biểu đồ tiếp nhận hồ sơ .............................................................................. 66
Hình 3.10. Biểu đồ cộng tác tiếp nhận hồ sơ .............................................................. 67
Hình 3.11. Biểu đồ kiểm tra hồ sơ.............................................................................. 67

Hình 3.12. Biểu đồ cộng tác kiểm tra hồ sơ................................................................ 68
Hình 3.13. Biểu đồ xác nhận thông tin ....................................................................... 68
Hình 3.14. Mô hình dữ liệu ........................................................................................ 69
Hình 3.15. Giao diện xem bản đồ ............................................................................... 71
Hình 3.16. Giao diện tra cứu thông tin ....................................................................... 72
Hình 3.17. Giao diện đánh giá hiệu suất truy cập ....................................................... 72

8


CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY,
NỀN TẢNG DỊCH VỤ AZURE.
Nội dung chương này sẽ giới thiệu tổng quan về ĐTĐM, các mô hình dịch vụ,
mô hình triển khai của ĐTĐM, kiến trúc tổng thể của mô hình ĐTĐM, đồng thời so
sánh kiến trúc ĐTĐM với một số kiến trúc khác. Chương này cũng trình bày mô hình
hoạt động, các dạng cung cấp của nhà cung cấp Azure.

1.1. Giới thiệu chung về điện toán đám mây
1.1.1. Khái niệm điện toán đám mây
Điện toán đám mây (Cloud computing), còn gọi là điện toán máy chủ ảo, là mô
hình tính toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.
Thuật ngữ “đám mây” ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố
trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ
sở hạ tầng chứa trong nó. Ở mô hình điện toán này, mọi khả năng liên quan đến công
nghệ thông tin đều được cung cấp dưới dạng các “dịch vụ”, cho phép người sử dụng
truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó “trong đám mây” mà
không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần
quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.[16]
Theo tổ chức xã hội máy tính IEEE: “Điện toán đám mây là hình mẫu trong đó
thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được lưu trữ

tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính
trong doanh nghiệp, các phương tiện máy tính cầm tay, ...".[16]

Hình 1.1. Mô hình điện toán đám mây
Điện toán đám mây là khái niệm tổng thể bao gồm cả các khái niệm như phần
mềm dịch vụ, Web 2.0 và các vấn đề khác xuất hiện gần đây, các xu hướng công nghệ
nổi bật, trong đó đề tài chủ yếu của nó là vấn đề dựa vào Internet để đáp ứng nhu cầu
người dùng. Ví dụ: Dịch vụ Google AppEngine cung cấp những ứng dụng kinh doanh
trực tuyến thông thường, có thể truy cập từ một trình duyệt Web, còn các phần mềm
và dữ liệu đều được lưu trữ trên các máy chủ.

9


1.1.2. Đặc điểm của điện toán đám mây
Tự phục vụ theo nhu cầu (On-demand self-service): Khách hàng chỉ cần nêu ra
yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ tự gom
nhặt các tài nguyên rỗi để đáp ứng yêu cầu của khách hàng.
Truy xuất diện rộng (Broad network access): Điện toán đám mây cung cấp các
dịch vụ thông qua môi trường Internet. Do đó, người sử dụng chỉ cần kết nối Internet
là có thể sử dụng được dịch vụ. Hơn nữa, điện toán đám mây ở dạng dịch vụ nên
không đòi hỏi khả năng xử lý cao ở phía máy khách, vì vậy người sử dụng có thể truy
xuất bằng các thiết bị di dộng như điện thoại thông minh, laptop, … và không phụ
thuộc vào vị trí địa lý.
Dùng chung tài nguyên (Resource pooling): Tài nguyên của nhà cung cấp dịch
vụ được dùng chung, phục vụ cho nhiều người dùng dựa trên mô hình “multi-tenant”
(máy chủ dịch vụ lưu và quản lý những khách hàng khác nhau). Mô hình này cho phép
tài nguyên phần cứng và tài nguyên ảo hóa sẽ được cấp phát động dựa vào nhu cầu của
người dùng.
Khả năng co giãn (Rapid elasticity): Đây là tính chất đặc biệt nhất, nổi bật nhất

và quan trọng nhất của điện toán đám mây. Đó là khả năng tự động mở rộng hoặc thu
nhỏ hệ thống tùy theo nhu cầu của người sử dụng. Khi nhu cầu tăng cao, hệ thống sẽ
tự mở rộng bằng cách thêm tài nguyên vào. Ngược lại, khi nhu cầu giảm xuống, hệ
thống sẽ tự giảm bớt tài nguyên.
Điều tiết dịch vụ (Measured service): Hệ thống điện toán đám mây tự động
kiểm soát và tối ưu hóa việc sử dụng tài nguyên (dung lượng lưu trữ, đơn vị xử lý,
băng thông, …). Lượng tài nguyên sử dụng có thể được theo dõi, kiểm soát và báo cáo
một cách minh bạch cho cả hai phía nhà cung cấp dịch vụ và người sử dụng. [5]
1.2. Phân tích, so sánh với các mô hình tính toán khác.
Thật khó để phân biệt điện toán đám mây và các mô hình tính toán khác, bởi vì
Clouds không ra đời một cách riêng lẻ hay độc lập mà nó dựa trên nền tảng của các
công nghệ trước đó. Bắt nguồn từ đ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à dịch vụ Web 2.0. Sau
đây chúng ta sẽ cùng tìm hiểu về các mô hình tính toán này để đưa ra được sự giống và
khác nhau giữa các mô hình này với mô hình điện toán đám mây.
1.2.1. Điện toán lưới (Grid Computing)
So với công nghệ điện toán đám mây, điểm giống nhau giữa chúng là cho phép
ảo hóa các nguồn lực công nghệ thông tin mà không cần có sự giới hạn về không gian
địa lý hay sự đồng nhất về hệ điều hành.

10


Hình 1.2. Mô hình grid computing
Điểm khác nhau giữa chúng là:
- Về kiến trúc: Tính toán lưới tập trung vào việc tích hợp các tài nguyên có sẵn
gồm phần cứng, hệ điều hành, cơ sở hạ tầng an ninh của các hệ thống còn điện toán
đám mây hướng tới các cấp độ khác nhau của dịch vụ nhằm đáp ứng tối đa nhu cầu
của người dùng.
- Về mô hình tính toán: Grids không sử dụng mô hình tính toán bó, tốc độ tính

toán chậm hơn còn điện toán đám mây sử dụng mô hình tính toán bó, tốc độ tính toán
nhanh hơn.
- Về mô hình dữ liệu: Tính toán lưới dùng các giao thức chuyên biệt để tìm
kiếm các tài nguyên trên mạng để lưu trữ còn điện toán đám mây dùng Data Center để
lưu trữ dữ liệu.
- Ảo hóa: Điện toán đám mây dùng công nghệ ảo hóa nhiều hơn tính toán lưới.
- Về phạm vi sử dụng: Tính toán lưới chủ yếu hướng tới khoa học còn điện toán
đám mây hướng tới thương mại, quan tâm đến việc phục vụ nhu cầu của khách hàng
thông qua việc cung cấp các dịch vụ theo nhu cầu của khách hàng.
1.2.2. Tính toán theo yêu cầu (Utility Computing)

Hình 1.3. Mô hình Tính toán theo yêu cầu

11


So với các công nghệ điện toán đám mây, điểm giống nhau giữa chúng là tất cả
các tài nguyên tính toán được cung cấp cho khách hàng 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 (PaaSPlatform as a Service) dưới dạng các dịch vụ.
Điểm khác nhau giữa chúng là:
- Tính toán theo yêu cầu có thể coi như là mô hình kinh doanh hơn là một công
nghệ cụ thể trong đó ứng dụng các nguồn tài nguyên cơ sở hạ tầng, phần cứng, phần
mềm được cung cấp. Còn điện toán đám mây liên quan đế cách thiết kế, xây dựng,
triển khai và chạy ứng dụng hoạt động trong một máy tính ảo, chia sẻ nguồn lực, tự
mở rộng và thu hẹp.
1.2.3. Dịch vụ Web (Web Service)

Hình 1.4. Mô hình Web service
So với các công nghệ điện toán đám mây, điểm giống nhau giữa chúng là chúng
cùng là mô hình tính toán ảo mà người sử dụng có thể làm việc thông qua trình duyệt,
dịch vụ Web bao phủ toàn bộ không gian ứng dụng hướng dịch vụ tồn tại trong điện

toán đám mây.
Điểm khác nhau giữa chúng là: Dịch vụ Web là phần mềm trung gian để kết nối
server ứng dụng với các chương trình của khách hàng còn điện toán đám mây tất cả
mọi vấn đề liên quan đến công nghệ thông tin đều được truyền tải dưới dạng dịch vụ.
1.3. Kiến trúc điện toán đám mây
Kiến trúc đám mây là kiến trúc 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 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. Mỗi hãng cung cấp có một kiến trúc điện toán đám mây riêng và phát
triển theo thế mạnh của từng hãng nhưng đều nhằm mục đích nâng cao chất lượng
phục vụ, đảm bảo mọi điều kiện thuận lợi cho khách hàng, thu hút khách hàng.

12


1.3.1. Mô hình kiến trúc tổng quát
Phần lớn hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của
những dịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu đượ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.
Kiến trúc đám mây gồm: nền tảng đám mây (Cloud Platform), các dịch vụ đám
mây (Cloud Service), cơ sở hạ tầng đám mây (Cloud Infrastructure), lưu trữ đám mây
(Cloud Storage).

Hình 1.5. Mô hình kiến trúc điện toán đám mây [5]
1.3.2. Các thành phần của điện toán đám mây
Đ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.


Hình 1.6. Các thành phần của điện toán đám mây [5]
- 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,…

13


- Storage: Lưu trữ đám mây 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ụ cơ sở dữ liệu,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 dụ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 hoạt trên mạng
của Amazon, ...
- 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à Web browser, PC, laptop hoặc mobile, …
1.4. Các mô hình dịch vụ của điện toán đám mây.

1.4.1. Phần mềm như một dịch vụ (SaaS - Software as a Service)
SaaS là một mô hình triển khai phần mềm được phát triển và hoạt động trên
nền tảng Internet được quản lý bởi nhà cung cấp và cho phép người dùng truy cập từ
xa. Đối với các phần mềm đóng gói truyền thống, người sử dụng thường phải cài đặt
vào hệ thống máy tính cá nhân hoặc các máy chủ của họ. Còn dịch vụ SaaS, nhà
cung cấp phần mềm dịch vụ sẽ sở hữu phần mềm này và chạy phần mềm đó trên hệ
thống máy tính ở trung tâm dữ liệu của nhà cung cấp. Khách hàng không sở hữu
phần mềm này nhưng họ có thể thuê nó để tiết kiệm chi phí cho việc mua máy chủ
và bản quyền phần mềm.
Dịch vụ 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 Internet.
- Các hoạt độ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 trình duyệt.
- 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ả
và sự quản lý.

14


- Các nhà cung cấp SaaS xác định chi phí của phần mềm dựa theo yêu cầu
người sử dụng (per-user basis), trường hợp số người sử dụng chỉ đạt con số cực tiểu 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:
- Khách hàng tiết kiệm được tiền do không phải mua các máy chủ hoặc
phần mềm khác để hỗ trợ sử dụng tất cả mọi thứ đều được sử dụng thông qua
trình duyệt.
- Khách hàng luôn có được 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 mà không cần lo lắng về việc cập nhật các bản vá lỗi hay
nâng cấp phần mềm bởi vì điều này đã được thực hiện bởi các nhà cung cấp dịch vụ.

- Khách hà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 thấp nhất có thể.
Bên cạnh những lợi thế trên thì mô hình SaaS cũng có một số nhược điểm là:
- Khách hàng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ,
giảm linh hoạt và sáng tạo. Khách hàng cảm thấy bức bối vì chỉ có quyền thực hiện
những việc trong phạm vi nhà cung cấp cho phép.
- Do phải cung cấp dịch vụ để đáp ứng cho nhiều đối tượng khách hàng, trong
đó những công ty lớn có khối lượng dữ liệu rất lớn nên đòi hỏi nhà cung cấp phải có
hệ thống máy chủ khổng lồ, nguồn tài chính hùng mạnh và hệ thống phải được phân
bố ở nhiều nơi.
- Chi phí bảo trì, phát triển và cả trách nhiệm cho các sản phẩm phần mềm cùng
đội ngũ nhân viên sẽ tăng dần theo khối lượng dữ liệu khách hàng.
- Với các ứng dụng triển khai trực tuyến trên mạng Internet, nếu đường truyền
Internet bị gián đoạn thì ảnh hưởng rất lớn đến công việc của khách hàng.
Trước những ưu thế vượt trội của mô hình SaaS, đã có nhiều nhà cung cấp dịch
vụ SaaS, điển hình là Google. Hãng đã cung cấp bộ phần mềm gồm cả miễn phí lẫn
tính phí là Google Apps. Bộ phần mềm này có nhiều chức năng bao gồm thư điện tử
(Gmail), lịch trực tuyến (Google Calendar), trao đổi trực tuyến (Google Talk), … và
đặc biệt là gói phần mềm văn phòng (Google Documents & Spreadsheets) thực hiện
soạn thảo, bảng tính, ...[6]
1.4.2. Nền tảng như một dịch vụ (PaaS - Platform as a Service)
Khi khách hàng cần một môi trường để phát triển ứng dụng, PaaS là một sự lựa
chọn tốt nhất. Nó mang đến môi trường phát triển như một dịch vụ, phục vụ yêu cầu
của khách hàng. Khách hàng sẽ xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà
cung cấp và phân phối tới người sử dụng thông qua máy chủ của nhà cung cấp đó.
Khách hàng không cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao

15



gồm cả mạng, máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát triển ứng
dụng. Đặc biệt, PaaS sẽ giải quyết bài toán “địa lý” khi nhóm phát triển ứng dụng ở
những vùng địa lý khác nhau. Khi khách hàng cần môi trường để triển khai một ứng
dụng, khách hàng sẽ gửi yêu cầu tài nguyên về CPU, bộ nhớ và dung lượng lưu trữ
thông qua trình duyệt, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu tài nguyên cho
khách hàng. Từ đó khách hàng có thể triển khai ứng dụng nhanh hơn, linh hoạt và ổn
định hơn trong khi chỉ phải trả chi phí cho tài nguyên mà mình sử dụng. Một số nhà
cung cấp dịch vụ PaaS điển hình là Google App Engine, Microsoft Azure.[5]
1.4.3. Hạ tầng như một dịch vụ (IaaS - Infrastructure as a Service)
Trong loại hình dịch vụ này, khách hàng được cung cấp tài nguyên là “máy chủ
ảo” (gồm bộ xử lý, dung lượng lưu trữ, các kết nối mạng, …) được ảo hóa từ cơ sở hạ
tầng vật lý của nhà cung cấp. Khách hàng sẽ cài hệ điều hành, triển khai và cấu hình
ứng dụng. Nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng
sẽ phải quản lý hệ điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống và các kết
nối giữa các thành phần. Sử dụng dịch vụ này, khách hàng tránh được rủi ro khi đầu tư
cơ sở hạ tầng. Khi cần máy chủ cấu hình cao, khách hàng cấu hình thêm máy chủ, bộ
nhớ, CPU, … và ngược lại. Điều này đáp ứng được nhu cầu thực tế của các doanh
nghiệp khi cần triển khai hệ thống mới, hệ thống của họ lúc đầu nhỏ, cần máy chủ cấu
hình thấp, nhưng sau một thời gian hoạt động, mô hình hệ thống lớn dần, cần máy chủ
có cấu hình cao hơn, dịch vụ này sẽ sẵn sàng đáp ứng. Ở dịch vụ này, điển hình là
Amazon EC2, IBM Blue Cloud. [5]
1.5. Ưu, nhược điểm của điện toán đám mây.
1.5.1. Ưu điểm
- Sử dụng tài nguyên tính toán động: Các tài nguyên được cấp phát cho doanh
nghiệp đúng như những gì doanh nghiệp muốn một cách tức thời. Thay vì việc doanh
nghiệp phải tính toán xem có nên mở rộng hay không, phải đầu tư bao nhiêu máy chủ
thì nay doanh nghiệp chỉ cần ra yêu cầu và đám mây sẽ tự tìm kiếm tài nguyên rỗi để
cung cấp cho doanh nghiệp.
- Tiết kiệm chi phí: Doanh nghiệp sẽ có khả năng cắt giảm chi phí để mua bán,
cài đặt và bảo trì tài nguyên. Thay vì việc phải cử một chuyên gia đi mua máy chủ, cài

đặt máy chủ, bảo trì máy chủ thì nay doanh nghiệp chỉ cần xác định chính xác tài
nguyên họ cần và gửi yêu cầu lên đám mây. Như vây họ chỉ mất chi phí sử dụng các
dịch vụ do đám mây cung cấp.
- Giảm độ phức tạp trong cơ cấu doanh nghiệp: Doanh nghiệp không nhất thiết
phải thuê một chuyên gia IT để vận hành, bảo trì máy chủ mà chỉ cân tập trung vào
lĩnh vực sản xuất, kinh doanh của mình.

16


- Giảm thiểu rủi ro cơ sở hạ tầng: Các doanh nghiệp có thể sử dụng đám mây
để giảm rủi ro vốn có trong việc đầu tư các máy chủ cũng như các cơ sở hạ tầng khác.
- Nâng cao năng lực: Mỗi khi một doanh nghiệp cần triển khai một sản phẩm
mới cần có máy chủ để chạy, phần mềm bản quyền, … Thủ tục để mua và lắp đặt mất
rất nhiều thời gian làm chậm tiến độ triển khai sản phẩm. Trong khi đó, việc sử dụng
tài nguyên của điện toán đám mây sẽ được cung cấp bởi một yêu cầu trên trình duyệt,
yêu cầu sẽ được đáp ứng tức thì đảm bảo năng lực cho doanh nghiệp.
- Hiệu năng cao hơn: Khi doanh nghiệp sử dụng hạ tầng của mình, họ phải duy
trì đội ngũ nhân viên công nghệ thông tin để quản lý hạ tầng, đồng thời khi cần mở
rộng sản phẩm cần hạ tầng mạnh hơn lúc đó phải có chính sách nâng cấp hạ tầng hợp
lý cũng như thay đổi các thiết bị, máy móc bị hỏng. Trong khi, nếu doanh nghiệp sử
dụng tài nguyên của điện toán đám mây thì việc quản lý cơ sở hạ tầng đã có nhà cung
cấp điện toán đám mây, doanh nghiệp chỉ cần tập trung vào công việc kinh doanh chính
của họ, do đó sản phẩm của họ làm ra có chất lượng hơn.
- Khả năng mở rộng, linh hoạt: Nhờ khả năng co giãn của điện toán đám mây,
hệ thống của khách hàng có khả năng mở rộng hoặc thu nhỏ một cách linh hoạt tùy
theo nhu cầu cụ thể. Doanh nghiệp có thể khởi đầu với quy mô nhỏ, nhu cầu thấp
nhưng sau đó phát triển mở rộng quy mô với nhu cầu tăng cao. Các dịch vụ điện toán
đám mây có thể được truy xuất ở bất kỳ đâu, bất kỳ lúc nào thông qua mạng Internet.
Khách hàng có thể lựa chọn nhà cung cấp dịch vụ nào đáp ứng tốt nhất cho nhu cầu

của mình với giá cả và chất lượng dịch vụ hợp lý nhất.
- Tính sẵn sàng: Việc sử dụng các dịch vụ của điện toán đám mây làm cho
người sử dụng lo lắng đến tính sẵn sàng của dịch vụ mà họ sử dụng. Đây là một lý do
có thể làm cho người sử dụng ngại sử dụng các dịch vụ của điện toán đám mây. Nhưng
hiện tại, những người sử dụng dịch vụ của điện toán đám mây có thể an tâm về chất
lượng dịch vụ. Ví dụ như trong mô hình SaaS có dịch vụ tìm kiếm của Google, khi
người dùng truy cập vào trang web sử dụng dịch vụ tìm kiếm này thì có thể an tâm
rằng mình luôn được đáp ứng.
- Sử dụng tài nguyên hiệu quả hơn: Nhờ khả năng co giãn nên tài nguyên luôn
được sử dụng một cách hợp lý nhất, theo đúng nhu cầu của khách hàng, không bị lãng
phí hay dư thừa. Đối với nhà cung cấp dịch vụ, công nghệ ảo hóa giúp cho việc khai
thác tài nguyên vật lý hiệu quả hơn, phục vụ nhiều khách hàng hơn.[15]
1.5.2. Nhược điểm
Điện toán đám mây có rất nhiều ưu điểm, mang lại nhiều lợi ích cho khách
hàng, nhưng cũng giống như bất kỳ mô hình nào khác nó cũng tồn tại nhiều thách

17


thức, hạn chế mà đặc biệt là vấn đề an ninh dữ liệu, thông tin. Cụ thể có một số hạn
chế sau:
- Vấn đề tuân thủ luật lệ: Bằng cách tự lưu trữ ứng dụng của mình, một khách
hàng có thể dễ dàng xác định những mục tiêu kiểm soát và duy trì tình trạng toàn vẹn
của dữ liệu theo yêu cầu của luật lệ. Tuy nhiên, nếu khách hàng này muốn đưa những
ứng dụng tài chính của mình lên “đám mây”, họ chắc chắn sẽ phải đánh giá lại những
mục tiêu kiểm soát để bảo đảm không vi phạm vấn đề tuân thủ luật lệ.
- Không có một chuẩn chung nào cho tất các các nhà cung cấp dịch vụ: Mỗi
nhà cung cấp xây dựng cơ sở hạ tầng riêng nên vấn đề khách hàng có nhu cầu sử dụng
nhiều dịch vụ của nhiều nhà cung cấp khác nhau khó có thể kết hợp, tương thích với
nhau cũng như khi một ứng dụng được triển khai trên nhà cung cấp này thì sẽ không

triển khai được trên nhà cung cấp khác. Do đó, khách hàng sẽ bị phụ thuộc vào công
nghệ mà nhà cung cấp đưa ra cho họ.
- Các nhà cung cấp cần chi phí xây dựng lớn: Để xây dựng được một “đám
mây” đòi hỏi phải đầu tư lớn, xây dựng nhiều trung tâm dữ liệu trên khắp thế giới,
đồng thời đòi hỏi độ bảo mật, an ninh, an toàn dữ liệu cao. Vì vậy, chỉ có những
hãng công nghệ lớn trên thế giới có nguồn tài chính hùng mạnh và phân bố hệ thống
ở nhiều nơi mới có thể đầu tư từ thiết bị cho đến việc thuê đội ngũ nhân viên công
nghệ thông tin lành nghề, mua sắm các chính sách bảo mật cao.
- Khó lấy niểm tin của khách hàng: Những lo ngại về an ninh, bảo mật thông
tin, nỗi lo mất kiểm soát cũng là bài toán khó, làm đau đầu của các nhà cung cấp điện
toán đám mây.
1.6. Giới thiệu nền tảng dịch vụ Azure
Azure là một nền tảng đám mây được đặt trong trung tâm dữ liệu của
Microsoft, cung cấp hệ điều hành và tập các dịch vụ phát triển, có thể sử dụng độc lập
hoặc kết hợp với nhau, để xây dựng các ứng dụng mới, chạy các ứng dụng trên đám
mây hoặc phát triển các ứng dụng đã có lấy đám mây làm cơ sở. Azure có cấu trúc mở,
cho phép lập trình viên chọn lựa xây dựng các ứng dụng web, chạy các ứng dụng trên
các thiết bị, máy tính, máy chủ nối mạng. Azure giúp giảm thiểu nhu cầu mua công
nghệ, cho phép lập trình viên nhanh chóng và dễ dàng tạo ra các ứng dụng chạy trên
đám mây bằng cách sử dụng các kỹ thuật có sẵn với môi trường phát triển là Visual
Studio và Microsoft .NET framework, hỗ trợ nhiều ngôn ngữ lập trình và môi trường
phát triển. Azure đơn giản hóa việc duy trì và vận hành ứng dụng bằng cách cung cấp
việc chạy ứng dụng hoặc lưu trữ khi có nhu cầu. Việc quản lý cơ sở hạ tầng được tiến
hành tự động. Azure cung cấp một môi trường mở, chuẩn, hỗ trợ nhiều giao thức mạng

18


gồm HTTP, REST, SOAP, XML. Nếu như Windows Live, Microsoft Dynamics và
những dịch vụ Microsoft trực tuyến cho thương mại khác như Microsoft Exchange

Online, SharePoint Online cung cấp các ứng dụng đám mây có sẵn cho NSD thì Azure
cho phép lập trình viên cung cấp cho khách hàng những thành phần tính toán, lưu trữ,
xây dựng các khối dịch vụ và tạo các ứng dụng đám mây. Các dịch vụ của Azure gồm
Windows Azure, .NET Services, SQL Services, Live Services.[15]
1.6.1. Các thành phần chính của dịch vụ Azure
Windows Azure là một hệ điều hành để chạy các ứng dụng Windows và lưu trữ
dữ liệu của các ứng dụng này trên đám mây.
Windows Azure chạy trên rất nhiều máy, tất cả đều được đặt trong trung tâm dữ
liệu của Microsoft và có thể truy cập nhờ mạng Internet. Kết cấu Windows Azure liên
kết các trạng thái xử lý thành một khối thống nhất. Các dịch vụ lưu trữ và chạy ứng
dụng của Windows Azure được xây dựng phía trên các kết cấu này. Ở mức cao,
Windows Azure hiểu đơn giản là một platform để chạy những ứng dụng windows và
lưu trữ dữ liệu của chúng trong đám mây. Hình sau chỉ ra các thành phần chính của nó:

Hình 1.10. Windows Azure cung cấp các dịch vụ lưu trữ và tính toán dựa trên
Windows cho các ứng dụng đám mây[7]
Window Azure cung cấp cho các các nhà phát triển với khả năng lưu trữ và tính
toán theo yêu cầu để lưu trữ, mở rộng và quản lý Internet hay các ứng dụng đám mây.
Window Azure hỗ trợ một sự triển khai thí nghiệm phát triển thống nhất thông qua sự
tích hợp của nó với Visual Studio. Trong phiên bản chạy miễn phí, .NET quản lý các
ứng dụng xây dựng sử dụng Visual Studio sẽ được hỗ trợ. Window Azure là một nền
tảng mở sẽ hỗ trợ cả các ngôn ngữ và môi trường của Microsoft và không phải của
Microsoft. Window Azure mong muốn chào đón các công cụ của các bên thứ 3 và các
ngôn ngữ như là Eclipse, Ruby, PHP, và Python [16].

19


Để cho phép các khách hàng tạo, cấu hình, và quan sát các ứng dụng, Windows
Azure cung cấp một cổng truy cập trình duyệt. Một khách hàng cung cấp một

Windows Live ID, và sau đó chọn có tạo một tài khoản lưu trữ để chạy ứng dụng hoặc
tài khoản cho lưu trữ dữ liệu, hoặc cả hai. Một ứng dụng có thể được trả phí theo nhiều
cách: thuê trọn gói, phí dựa trên việc dùng bao nhiêu trả bấy nhiêu, hoặc theo một hình
thức khác.
- Ứng dụng trên Windows Azure: Trên Windows Azure, một ứng dụng thông
thường có nhiều thể hiện, mỗi cái chạy trên một bản copy của mã ứng dụng. mỗi một
thể hiện chạy trên máy ảo của riêng nó (VM). Những máy ảo này chạy hệ điều hành
Windows Server 2008 64 bit, và chúng cung cấp một mặt nạ (hypervisor)được thiết kế
đặc biệt cho việc sử dụng trên đám mây.
Một nhà phát triển không cung cấp ảnh VM của riêng họ cho Windows Azure
để chạy, hay không cần lo lắng về việc duy trì một bản sao hệ điều hành Windows.
Thay vào đó, phiên bản miễn phí cho phép nhà phát triển tạo ứng dụng sử dụng thể
hiện Web role và/ hoặc Worker role. Hình sau chỉ ra làm hai thể hiện trên.

Hình 1.11. Ứng dụng Windows Azure có thể bao gồm các thể hiện web role và
worker role, trong đó mỗi thể hiện chạy trên máy ảo của riêng nó [7]
Như tên mô tả của nó, mỗi thể hiện web role chấp nhận các yêu cầu HTTP (hay
HTTPS) đầu vào thông qua IIS (Internet Information Service) 7. Một Web Role có thể
được cài đặt sử dụng ASP.NET, WCF hay một kĩ thuật khác mà làm việc với IIS. Như
hình trên đã chỉ ra, Windows Azure cung cấp cơ chế cân bằng bải trọng để phân bổ các
yêu cầu tới các thể hiện web role mà là các thành phần của cùng ứng dụng.
Một thể hiện worker role, ngược lại, không thể nhận yêu cầu trực tiếp từ bên
ngoài - nó không được phép có bất kì đầu vào kết nối trên mạng nào, và IIS không
chạy trong VM của nó. Thay vào đó, nó nhận đầu vào thông qua một hàng đợi trong
nơi lưu trữ Windows Azure. Các thông điệp trong hàng đợi có thể đến từ thể hiện web
role, một ứng dụng trong nhà hay một cái khác. Bất kể thông điệp đến từ đâu, một thể

20



hiện worker role có thể gửi đầu ra tới hàng đợi khác hay ra bên ngoài. Và không giống
thể hiện web role, được tạo ra để điều khiển các yêu cầu HTTP đầu vào, một thể hiện
worker role là một công việc theo lô. Thích hợp với số đông, một worker role có thể
được cài đặt sử dụng bất kì kĩ thuật Windows nào với một phương thức main().
Kể cả chạy thể hiện web role hay worker role, mỗi VM chứa một tác nhân
Windows Azure (Windows Azure agent) cho phép ứng dụng tương tác với Windows
Azure fabric, như hình trên chỉ ra. Agent đưa ra một API cho phép thể hiện ghi vào
một log được duy trì bởi Windows Azure, gửi các cảnh báo tới chủ ứng dụng thông
qua Windows Azure fabric, và nhiều công việc khác nữa.
- Lưu trữ dữ liệu: Các ứng dụng làm việc với dữ liệu theo nhiều cách khác
nhau. Thỉnh thoảng, chúng chỉ yêu cầu các blob, trong khi lúc khác lại cần những cấu
trúc phức tạp hơn để lưu trữ dữ liệu. Và trong một số trường hợp, cần một cách để trao
đổi dữ liệu giữa những phần khác nhau của một ứng dụng. Windows Azure storage tập
trung vào những yêu cầu như đã nêu trên, như được chỉ ra ở hình 1.12.

Hình 1.12. 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 [6]
Cách đơn giản nhất để lưu trữ dữ liệu trong Windows Azure storage là sử dụng
blob. Như hình trên chỉ ra, có một sự phân cấp đơn giản: một tài khoản lưu trữ (storage
account) có thể có một hay nhiều container, mỗi một container lại chứa một hay nhiều
các blob. Blob có thể lớn lên tới tận 50 gigabytes, và để làm cho việc vận chuyển
những blob lớn dễ dàng hiệu quả, mỗi một blob có thể được phân chia thành những
khối nhỏ. Nếu một lỗi xảy ra, sự vận chuyển lại được khôi phục với những khối gần
nhất chứ không phải với toàn bộ blob. Các blob có thể có siêu dữ liệu đi kèm, như là
thông tin về nơi lưu trữ ảnh JPEG hay ai là tác giả file MP3.
Blob là một kiểu dữ liệu, nhưng chúng không có cấu trúc. Để cho phép ứng
dụng làm việc với dữ liệu theo cách hiệu quả hơn, Windows Azure storage cung cấp
các bảng. Chúng không phải là các bảng quan hệ. Thực chất, mặc dù chúng được gọi

21



là các bảng, dữ liệu chúng lưu trữ thực chất được đặt trong một tập các thực thể với
các thuộc tính. Một bảng không có lược đồ định nghĩa. Thay vào đó, các thuộc tính có
thể có nhiều kiểu khác nhau, như là int, string, bool, hay datatime. Một ứng dụng có
thể truy cập dữ liệu của bảng sử dụng dịch vụ dữ liệu ADO.NET hay LINQ. Một bảng
đơn có thể là rất lớn, với hàng tỉ các thực thể và kích thức hàng terabyte dữ liệu, và
Windows Azure storage có thể phân chia và đặt nó trên nhiều server nếu cần thiết để
cải thể thiện hiệu năng.
Các blob và bảng chủ yếu để lưu trữ dữ liệu. Lựa chọn thứ 3 trong Windows
Azure storage là hàng đợi (queue), có mục đích hoàn toàn khác. Vai trò chính của hàng
đợi là cung cấp một cách để các thể hiện Web role liên lạc với thể hiện Worker role.
Windows Azure storage có thể được truy cập bằng một ứng dụng Windows
Azure hay bằng một ứng dụng chạy ở một nơi nào đó. Trong cả hai trường hợp, ba
kiểu lưu trữ của Windows Azure sử dụng quy định của REST để xác định và đưa ra dữ
liệu. Mọi thứ được đặt tên sử dụng URI và truy cập với thông qua HTTP chuẩn. Một
client .NET có thể sử dụng ADO.NET Data Service và LINQ, nhưng truy cập
Windows Azure storage từ một ứng dụng Java chỉ có thể sử dụng RESTful. Ví dụ, một
blob có thể được đọc với một HTTP GET dựa trên một URI như sau:
1.6.2. Dịch vụ SQL Azure
 Tổng quan dịch vụ SQL Azure
Các tổ chức Công nghệ thông tin đang xem xét một sự hội tụ của các nhân tố
tác động đến họ. Những nhân tố này bao gồm sự tăng nhanh chóng của dữ liệu số, sự
cần thiết đối với việc xử lý các giao dịch và để hỗ trợ những truy vấn ngẫu nhiên đối
với một lượng lớn dữ liệu, và sự bùng nổ của lưu lượng Internet. Các tổ chức IT phải
đối phó với những điều như sau:
- Sự vượt quá khả năng lưu trữ.
- Cần nhiều server hơn.
- Cần nhiều không gian (rack space).
- Điều hành hoạt động server.

- Lập kế hoạch cho sự cần thiết tương lai.
 Các thành phần của dịch vụ SQL Azure
Với sự ra đời của SQL Azure Service, những người dùng có thể lưu trữ dữ liệu
trên đám mây.Một trong những cách hấp dẫn nhất là việc sử dụng các server có thể
truy cập trên Internet để điều khiển dữ liệu. Mục đích của SQL Data Service tập trung
vào lĩnh vực này, cung cấp một tập dịch vụ dựa trên đám mây.

22


Những thành phần đầu tiên của dịch vụ SQL Azure là cơ sở dữ liệu SQL Azure
và “Huron” Data sync. Hình sau chỉ ra điều đó.

Hình 1.13. SQL Azure cung cấp các tiện ích hướng dữ liệu trong đám mây [7]
- Cơ sở dữ liệu SQL Azure (Cơ sở dữ liệu SQL Azure): SQL Azure cung cấp
một hệ quản trị database trong đám mây. Khách hàng chỉ việc chi trả chi phí cho việc
sử dụng CSDL của đám mây. Sử dụng cơ sở dữ liệu đám mây cũng cho phép chuyển
chi phí vốn, như chi phí phần mềm DBMS, thành các chi phí vận hành.
Không giống dịch vụ lưu trữ Windows Azure, cơ sở dữ liệu SQL Azure được
xây dựng trên Microsoft SQL Server. Cơ sở dữ liệu SQL Azure sẽ hỗ trợ dữ liệu quan
hệ, cung cấp một môi trường SQL Server trong đám mây bao hàm với các chỉ số, các
khung nhìn, các thủ tục lưu trữ, các trigger, dữ liệu này có thể truy cập sử dụng
ADO.NET và những giao diện truy cập dữ liệu Windows khác.
Trong khi các ứng dụng có thể sử dụng Cơ sở dữ liệu SQL Azure nhiều như
làm với một DBMS cục bộ, các yêu cầu quản lý giảm đi đáng kể. Thay vì việc lo lắng
về các kĩ thuật, như việc quan sát việc sử dụng đĩa và file ghi log, một khách hàng Cơ
sở dữ liệu SQL Azure có thể tập trung vào những thứ quan trọng: dữ liệu. Microsoft
điều khiển các chi tiết hoạt động. Và giống như những thành phần khác của platform
Windows Azure, sử dụng Cơ sở dữ liệu SQL Azure rất dễ dàng: chỉ cần truy cập vào
cổng web và cung cấp những thông tin cần thiết.

Một DBMS trong đám mây hấp dẫn bởi nhiều lý do. Đối với một số tổ chức,
cho phép một nhà cung cấp dịch vụ đặc biệt đảm bảo tính tin cậy, điều khiển sao lưu,
và thực hiện những chức năng quản lý khác mang lại nhiều ý nghĩa. Dữ liệu trong đám
mây có thể được truy cập bởi các ứng dụng chạy ở mọi nơi, thậm chí trên các thiết bị
mobile. Và đưa ra những sự tiết kiệm chi phí của việc mở rộng mà một nhà cung cấp
dịch vụ quan tâm, sử dụng một cơ sở dữ liệu đám mây sẽ mang lại giá thành rẻ hơn tự
phải làm nó. Mục đích của Cơ sở dữ liệu SQL Azure là để cung cấp những lợi ích như
vậy. Hình 1.13 chỉ ra một cách nhìn đơn giản của kĩ thuật này.

23


Hình 1.14. Cơ sở dữ liệu SQL Azure [6]
Một ứng dụng sử dụng CSDL SQL Azure có thể chạy trên Windows Azure,
trong một trung tâm dữ liệu của công ty, trên một thiết bị di động, hay ở một nơi khác.
Bất cứ nơi đâu nó chạy, ứng dụng truy cập dữ liệu thông qua một giao thức gọi là TDS
(Tabular Data Stream). Đó cũng là giao thức sử dụng để truy cập một SQL Server Cơ
sở dữ liệu cục bộ, và do đó một ứng dụng CSDL SQL Azure có thể sử dụng bất kì một
thư viện khách SQL Server đã tồn tại nào. ADO.NET là thư viện được dùng nhiều
nhất, nhưng ODBC và những thứ khác cũng có thể được sử dụng.
Mặc dù trong khi môi trường xem như chuẩn, dịch vụ một ứng dụng sử dụng
vững chắc hơn những gì một thể hiện đơn của SQL Server cung cấp, nhưng trong sự
lưu trữ Windows Azure, mọi dữ liệu lưu trữ trong CSDL SQL Azure được sao lưu
làm 3. Cũng giống như việc lưu trữ Windows Azure, dịch vụ cung cấp sự thống nhất
ở mức cao: khi một thao tác ghi trả lại, mọi sao lưu đã được ghi. Mục đích là để
cung cấp lưu trữ dữ liệu đáng tin cậy thậm chí trong trường hợp có lỗi hệ thống hay
lỗi mạng.
Kích thước lớn nhất của một CSDL đơn trong CSDL SQL Azure là 10
gigabytes. Một ứng dụng mà dữ liệu của nó trong phạm vi giới hạn này có thể sử dụng
chỉ một cơ sở dữ liệu, trong khi một ứng dụng khác với nhiều dữ liệu hơn sẽ cần tạo

nhiều cơ sở dữ liệu. Hình sau chỉ ra ý tưởng này.

Hình 1.15. 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 “Huron” data Sync [7]

24


Xây dựng trên Microsoft Sync Framework và Cơ sở dữ liệu SQL Azure, kĩ
thuật này đồng bộ dữ liệu quan hệ của các DBMS trong nhà. Những người chủ của dữ
liệu này có thể xác định những gì cần được đồng bộ, những xung đột này được điều
khiển, và nhiều hơn nữa. Ý tưởng là của việc xây dựng dịch vụ này là việc dữ liệu
được lưu giữ chỉ ở một nơi. Nhiều tổ chức có bản sao chép của cũng dữ liệu của những
cơ sở dữ liệu khác nhau, thông thường ở những vị trí địa lý khác nhau. Việc giữ cho
dữ liệu đó đồng bộ là thách thức nhưng cần thiết. “Huron” Data Sync tập trung vào
vấn đề này. Xây dựng trên Microsoft Sync Framework và Cơ sở dữ liệu SQL Azure,
nó có thể đồng bộ dữ liệu quan hệ ở nhiều cơ sở dữ liệu. Hình 1.16 chỉ ra cơ sở của kĩ
thuật này.

Hình 1.16. “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à. [7]
“Huron” Data Sync làm việc theo cùng cách: dữ liệu thay đổi được đồng bộ đầu
tiên với Cơ sở dữ liệu SQL Azure, sau đó là với DBMS. Kĩ thuật cung cấp một giao diện
đồ họa cho phép người dùng xác định dữ liệu nào nên được đồng bộ giữa các cơ sở dữ
liệu. Người dùng mà định nghĩa sự đồng bộ có thể cũng định nghĩa những xung đột nào
có thể được điều khiển. các lựa chọn bao gồm ưu tiên phép ghi cuối cùng, yêu cầu
những sự thay đổi đối với một cơ sở dữ liệu xác định thành công, và nhiều hơn nữa.
Đặc tính chính của SQL Data Service là cung cấp dữ liệu như một dịch vụ. Dữ
liệu của bạn luôn sẵn sàng bất cứ nơi đâu, bất cứ lúc nào. Dịch vụ cung cấp những lợi
ích chính như: Dịch vụ dễ sử dụng, sự phát triển ứng dụng nhanh hơn, hỗ trợ chuẩn

công nghiệp và hỗ trợ giao thức được biết rộng rãi (REST và SOAP)
1.6.3. Dịch vụ Live
Live service là một tập các block trong nền tảng dịch vụ Azure để điều khiển và
quản lý các tài nguyên ứng dụng và dữ liệu người dùng. Live Service cung cấp cho các

25


×