1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM

122 317 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 5,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đị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

Trang 1

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

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

Kho tài li ệ u mi ễ n phí c ủ a Ket-noi.com blog giáo d ụ c, công ngh ệ

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

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

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

TpHCM, ngày … tháng …… năm ……

Giáo viên hướng dẫn

Trang 4

NHẬN XÉT CỦA GIÁ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

Trang 5

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

Trang 6

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

Trang 7

 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

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

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

SV Thực hiện

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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ế NetTc pRelayBinding - Hybrid Mode [13] 114

Hình 8.6 – Cơ chế HTTP Relay Binding [13] 115

Trang 16

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

Trang 17

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 đó

Trang 18

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)

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:

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

Trang 19

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

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

Trang 20

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

Trang 21

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ụ.”

Trang 22

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:

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

- Vấn đề về cung cấp tài nguyên, phần mềm

(platform as a service), SaaS (software as a service)

Hình 2.2 - Minh họa về các dịch vụ [2]

Trang 23

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

Trang 24

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:

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

Trang 25

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, …

Trang 26

2.2 Tổng quan Windows Azure Platform

2.2.1 Giới thiệu

Windows Azure Platform là một nhóm các công nghệ đám mây, mỗi công nghệ cung cấp một tập các dịch vụ đặc trưng để phát triển ứng dụng

Hình 2.4 – Tổng quan Windows Azure Platform [20]

Các thành phần của Windows Azure Platform :

- Windows Azure: cung cấp môi trường nền tảng Windows để chạy ứng dụng

và lưu trữ dữ liệu trên máy chủ trong trung tâm dữ liệu của Microsoft

- SQL Azure: cung cấp dịch vụ lưu trữ dữ liệu quan hệ trên đám mây dựa trên

SQL Server

- Windows Azure Platform AppFabric: cung cấp các dịch vụ đám mây để

kết nối các ứng dụng chạy trên đám mây hoặc on-premise

Trang 27

2.2.2 Giới thiệu Windows Azure

Windows Azure được hiểu đơn giản là một nền tảng để chạy ứng dụng Windows và lưu trữ dữ liệu trên đám mây

Hình 2.5 – Windows Azure cung cấp dịch vụ tính toán và dịch vụ lưu trữ [6]

Windows Azure chạy trên nhiều máy tính đặt trong trung tâm dữ liệu của Microsoft và truy xuất qua Internet Một Windows Azure fabric liên kết chặt chẽ nhiều sức mạnh xử lí này thành một thể thống nhất

Dịch vụ tính toán dựa trên Windows Lập trình viên có thể xây dựng ứng dụng

sử dụng NET Framework, native-code,… Các ứng dụng này được viết bằng các ngôn ngữ thông thường như: C#, Visual Basic, C++ và cả Java, sử dụng Visual Studio hoặc công cụ phát triển khác Lập trình viên có thể tạo ứng dụng Web, sử dụng công nghệ như ASP.Net, WCF và PHP, ứng dụng cũng có thể chạy như một

xử lí nền độc lập, hoặc kết hợp cả Web và xử lí nền

Cả ứng dụng Windows Azure và ứng dụng on-premise có thể truy xuất dịch

vụ lưu trữ Windows Azure, và cả hai cùng truy xuất bằng REST API Dịch vụ lưu trữ cho phép lưu trữ các đối tượng dữ liệu lớn qua blob, cung cấp các queue để liên lạc giữa các thành phần trong ứng dụng, và cung cấp dạng table với ngôn ngữ truy vấn đơn giản Đối với các ứng dụng có nhu cầu lưu trữ dữ liệu quan hệ truyền thống, Windows Azure Platform cung cấp cơ sở dữ liệu SQL Azure

Trang 28

Tuy nhiên, để đạt được những thuận lợi trên đòi hỏi phải quản lí hiệu quả Trong Windows Azure, mỗi ứng dụng có một tập tin cấu hình Bằng cách cấu hình tập tin này, người chủ ứng dụng có thể cấu hình nhiều thành phần như thiết lập số thể hiện mà ứng dụng Windows Azure nên chạy Sau đó, Windows Azure fabric giám sát ứng dụng để duy trì trạng thái mong muốn

2.2.3 Giới thiệu SQL Azure

Mục tiêu của SQL Azure cung cấp các dịch vụ dựa trên đám mây để lưu trữ và

xử lí dữ liệu Trong khi đó Microsoft nói rằng SQL Azure sẽ bao gồm một loạt các tính năng định hướng dữ liệu, đồng bộ hóa dữ liệu, báo cáo, phân tích dữ liệu và những chức năng khác

Hình 2.6 - SQL Azure cung cấp dịch vụ định hướng dữ liệu trong đám mây [6]

Cơ sở dữ liệu SQL Azure cung cấp một hệ thống quản lí cơ sở dữ liệu dựa trên đám mây Công nghệ này cho phép ứng dụng on-premise và ứng dụng đám mây lưu trữ dữ liệu quan hệ và những kiểu dữ liệu khác trên các máy chủ trong trung tâm dữ liệu của Microsoft Cũng như các công nghệ đám mây khác, người dùng chỉ trả cho những gì họ sử dụng

Cơ sở dữ liệu SQL Azure được xây dựng dựa trên Microsoft SQL Server Công nghệ này cung cấp môi trường SQL Server trong đám mây, bổ sung index,

Trang 29

view, store procedure, trigger,… Dữ liệu này có thể được truy xuất bằng ADO.Net

và các giao tiếp truy xuất dữ liệu Windows khác

Khi ứng dụng sử dụng Cơ sở dữ liệu SQL Azure thì yêu cầu về quản lí sẽ được giảm đáng kể Thay vì lo lắng về các công việc như giám sát việc sử dụng đĩa

và theo dõi tập tin nhật ký (log file), khách hàng sử dụng Cơ sở dữ liệu SQL Azure chỉ tập trung vào dữ liệu Microsoft sẽ xử lí các hoạt động chi tiết

Hình 2.7 - Ứng dụng truy xuất dữ liệu trong Cơ sở dữ liệu SQL Azure [6]

Một ứng dụng sử dụng Cơ sở dữ liệu SQL Azure có thể chạy trên Windows Azure, trong một trung tâm dữ liệu của doanh nghiệp, trên thiết bị di động,… Một ứng dụng Cơ sở dữ liệu SQL Azure có thể sử dụng thư viện client SQL Server hiện

có Bao gồm ADO.Net, ODBC, và PHP Và bởi vì Cơ sở dữ liệu SQL Azure giống như hệ thống SQL Server thông thường nên các công cụ hỗ trợ có thể được sử dụng, bao gồm: SQL Server Management Studio, SQL Server Integration Service,…

Như trong bộ lưu trữ Windows Azure, tất cả các dữ liệu được lưu trữ trong Cơ

sở dữ liệu SQL Azure được sao ba bảng Mục đích là để cung cấp việc lưu trữ dữ liệu đáng tin cậy ngay cả khi đối mặt với lỗi của hệ thống và mạng

Trang 30

2.2.4 Windows Azure Platform AppFabric

Windows Azure Platform AppFabric cung cấp dịch vụ cơ sở hạ tầng dựa trên đám mây

Hình 2.8 - Windows Azure Platform AppFabric cung cấp cơ sở hạ tầng [6]

Các thành phần của Windows Azure Platform AppFabric :

Service Bus: Mục tiêu của Service Bus là cho phép ứng dụng expose các

endpoint để có thể được truy xuất bởi các ứng dụng khác Mỗi endpoint đã expose được gán một URI Client sử dụng URI này để xác định vị trí và truy xuất dịch vụ Service Bus cũng xử lí việc chuyển đổi địa chỉ mạng và vượt qua tường lửa mà không cần mở port mới để expose ứng dụng

Access Control : Dịch vụ này cho phép ứng dụng client chứng thực chính nó

và cung cấp một ứng dụng server với thông tin xác thực Máy chủ sau đó có thể sử dụng thông tin này để quyết định những gì ứng dụng này được phép làm

Trang 31

Chương 3 Giới thiệu về Windows Azure

3.1 Tổng quan Windows Azure

Nhìn một cách tổng quan, Windows Azure là một hệ điều hành dùng để chạy các ứng dụng Windows và lưu dữ liệu của nó trên đám mây Nhưng khác với một

hệ điều hành bình thường, người dùng phải cài đặt và chạy trên máy tính của mình, Windows Azure là một dịch vụ: Khách hàng dùng nó để chạy ứng dụng và lưu trữ

dữ liệu trên các máy chủ ở trung tâm dữ liệu của Microsoft, có thể truy cập qua Interner Các ứng dụng này có thể cung cấp dịch vụ cho doanh nghiệp và khách hàng

Hình 3.1 - Ứng dụng Windows Azure [7]

3.2 Các thành phần Windows Azure

Hình 3.2 - Các thành phần Windows Azure [7]

Trang 32

Dịch vụ tính toán sẽ chạy ứng dụng, trong khi dịch vụ lưu trữ lưu dữ liệu Thành phần thứ ba, Windows Azure Fabric, cung cấp cách thức để quản lý và theo dõi các ứng dụng sử dụng nền tảng đám mây này

3.2.1 Dịch vụ tính toán (Compute Service)

Dịch vụ tính toán Windows Azure có thể chạy nhiều kiểu ứng dụng khác nhau Mục tiêu chính của kiến trúc này là hỗ trợ các ứng dụng có lượng người sử dụng truy cập đồng thời cực lớn Windows Azure được thiết kế để hỗ trợ chạy nhiều bản sao của cùng một mã nguồn trên nhiều máy chủ khác nhau

Để đạt được điều này, ứng dụng Windows Azure có thể có nhiều thể hiện, mỗi thể hiện được thực thi trên một máy chủ ảo

Dịch vụ tính toán hỗ trợ 2 loại thể hiện : Web role và Worker role

Hình 3.3 - Ứng dụng Windows Azure có thể chứa Web role và Worker role [7]

Một thể hiện Web role có thể chấp nhận một request HTTP/HTTPS Để thực hiện điều này, thể hiện Web role chạy trên một máy ảo có cài Internet Information Services 7 (IIS 7) Lập trình viên có thể tạo ra Web role bằng ASP.NET, WCF, hay bất kì kĩ thuật NET khác có thể hoạt động được với IIS 7 Ngoài ra, lập trình viên

có thể viết các ứng dụng với native code, có nghĩa là có thể chạy các ứng dụng sử dụng kĩ thuật khác như PHP, Java Khi một request được gửi đến Web role, nó sẽ được truyền qua bộ cân bằng tải đến các thể hiện của Web role trong cùng một ứng dụng Do đó, không đảm bảo rằng, các yêu cầu từ một người dùng có thể được gửi đến cùng một thể hiện của ứng dụng

Trang 33

Một thể hiện Worker role không giống như Web role, nó không chấp nhận request từ bên ngoài, các máy ảo của nó không chạy IIS Một Worker role cho bạn khả năng để chạy các xử lý ngầm liên tục trên đám mây Một Worker role có thể làm việc với queue, table, blob trong dịch vụ lưu trữ Nó chạy hoàn toàn độc lập với thể hiện Web role, mặc dù có thể cùng thuộc một phần của dịch vụ Việc liên lạc giữa Web role và Worker role có thể thông qua queue của dịch vụ lưu trữ

Lập trình viên có thể chỉ sử dụng thể hiện Web role, hay Worker role, hoặc kết hợp cả hai để tạo ra ứng dụng Windows Azure Sử dụng Windows Azure portal để thay đổi số lượng thể hiện của Web role, Worker role tùy theo yêu cầu của ứng dụng

Khi chạy các thể hiện Web role hay Worker role, các máy ảo cũng chạy đồng thời các Fabric agent Các agent phục vụ cho việc tương tác giữa các thể hiện với Windows Azure Fabric Các agent này trình bày các API được định nghĩa để các thể hiện có thể làm một số việc như: ghi chép, tìm thư mục gốc của tài nguyên lưu trữ cục bộ trên máy ảo của nó

Windows Azure cho phép lập trình viên chọn cấu hình máy ảo: một nhân, hai nhân, bốn nhân và tám nhân Và để tăng hiệu suất, người sở hữu ứng dụng có thể tăng số lượng thể hiện đang chạy được đặt tả trong tập tin cấu hình ứng dụng Windows Azure fabric sẽ thêm máy ảo mới, gán thêm nhân và bắt đầu chạy ứng dụng Fabric cũng dò khi một thể hiện Web role hoặc Worker role bị chết, nó sẽ tạo một thể hiện mới

Trang 34

3.2.2 Dịch vụ lưu trữ (Storage Service)

Dịch vụ lưu trữ Windows Azure hỗ trợ 3 kiểu dịch vụ: blob, table, queue

Hình 3.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue [7]

Một cách đơn giản nhất để lưu trữ dữ liệu là sử dụng blob Windows Azure blob có kiến trúc đơn giản: một tài khoản lưu trữ có một hoặc nhiều container, mỗi container có một hoặc nhiều blob Blob có thể rất lớn – mỗi blob có thể chứa vài terabyte dữ liệu Blob có thể kết hợp với metadata, như thông tin về nơi chụp ảnh hoặc người sáng tác bài hát

Một cách khác để sử dụng blob là Windows Azure XDrive, được gắn với mỗi thể hiện Web role và Worker role Lưu trữ bên dưới một XDrive là một blob, như vậy mỗi blob là một ổ đĩa được gắn kết, mỗi thể hiện có thể đọc và ghi dữ liệu như

hệ thống tập tin

Để cho phép ứng dụng làm việc với dữ liệu hiệu quả hơn, bộ lưu trữ Windows Azure cung cấp table Không giống với bảng quan hệ, các table lưu trữ một tập các entity với các property Một table không có giản đồ và các property có nhiều kiểu dữ liệu khác nhau như int, string, bool, hoặc datetime Một ứng dụng có thể truy xuất dữ liệu của table sử dụng ADO.Net Data Service hoặc LINQ Một table có thể rất lớn, với vài triệu entity chứa vài terabyte dữ liệu, và bộ lưu trữ Windows Azure có thể phân vùng nó qua nhiều máy chủ nếu cần cải thiện hiệu suất Blob và table tập trung vào lưu trữ dữ liệu, thành phần lưu trữ thứ ba là queue lại có một mục đích khác Mục đích chính của queue là cung cấp cách thức để thể hiện Web role liên lạc với thể hiện Worker role Ví dụ, một người dùng có thể gửi

Trang 35

một request để thực hiện các nhiệm vụ tính toán chuyên sâu qua trang Web được thực thi bởi Web role Thể hiện Web role nhận request này và viết một message vào queue - mô tả công việc được thực hiện Một thể hiện Worker role đợi queue này, sau đó đọc message và thực hiện nhiệm vụ

Bộ lưu trữ Windows Azure có thể được truy xuất bởi một ứng dụng Windows Azure hoặc bởi một ứng dụng khác Cả 3 thành phần của bộ lưu trữ Windows Azure đều sử dụng giao thức REST để truy xuất dữ liệu

3.2.3 Windows Azure F abric

Tất cả các ứng dụng Windows Azure và dữ liệu của nó đều tồn tại trên trung tâm dữ liệu của Microsoft Bên trong trung tâm dữ liệu này, một tập hợp các máy

dành cho Windows Azure được tổ chức thành một fabric

Hình 3.5 - Fabric Controller [7]

Như hình trên, Windows Azure Fabric chứa một một nhóm các máy, tất cả các

máy được quản lý bởi một phần mềm gọi là fabric controller Fabric controller

được tái tạo qua mỗi nhóm từ 5 đến 7 máy, nó sở hữu tất cả các tài nguyên: máy tính, switch, bộ cân bằng tải (load balancer),… Vì nó có thể giao tiếp với một fabric agent trên mỗi máy tính nên nó nhận biết được tất cả các ứng dụng Windows Azure trong fabric

Với các thông tin có được, cho phép fabric controller có thể làm được nhiều việc rất hữu ích Nó theo dõi tất cả các ứng dụng đang chạy Nó quản lý hệ điều hành, quản lý việc vá lỗi cho phiên bản của Windows Server 2008 Nó quyết định

Trang 36

khi một ứng dụng mới được tải lên sẽ được chạy trên dịch vụ nào Để làm được điều này, fabric controller phụ thuộc vào tập tin cấu hình c ủa mỗi ứng dụng được tải lên Trong đó, chỉ ra bao nhiêu thể hiện cần được tạo ra và kích thước các máy ảo là thế nào Dựa vào đó, fabric controller tạo ra các máy ảo tương ứng Khi tạo ra các máy ảo này, fabric controller sẽ theo dõi các ứng dụng đó Nếu một ứng dụng cần

có 5 thể hiện và một trong số đó có 1 thể hiện bị “chết”, fabric controller sẽ tự động khởi tạo một thể hiện mới Nếu một máy ảo đang chạy bị chết, fabric controller sẽ

tự động khởi tạo một thể hiện khác của ứng dụng trên một máy ảo khác, sau đó khởi động lại bộ cân bằng tải để chỉ đến máy mới này

Nhằm phục vụ cho tính sẵn sàng của dịch vụ, fabric controller nhóm các máy

nó làm chủ thành một số miền gọi là fault domain Mỗi miền là một phần của trung

tâm dữ liệu

Hình 3.6 - Fabric Controller và Fault Domain [7]

Trong hình trên, giả sử ứng dụng cần 2 thể hiện Web role và trung tâm dữ liệu được chia làm 2 miền lỗi Khi fabric controller triển khai ứng dụng này, nó sẽ đặt mỗi thể hiện Web role vào một miền Khi có lỗi xảy ra ở một miền nào đó cũng sẽ không thể làm chết hoàn toàn ứng dụng của bạn

Ngoài ra, fabric controller nhóm các thể hiện của ứng dụng thành các miền

cập nhật “update domain”

Trang 37

Hình 3.7 - Fabric Controller và Update Domain [7]

Khi mã của ứng dụng cần cập nhât, fabric controller sẽ thực hiện cập nhật trong từng miền Ví dụ trong hình trên, fabric controller sẽ tiến hành tắt hai thể hiện

1 và 2 của ứng dụng trước, cập nhật và khởi động lại hai thể hiện này Sau đó, tiến hành tương tự cho 2 thể hiện ở miền còn lại Mục đích của việc này là làm cho ứng dụng không bị gián đoạn, khi một ứng dụng đang cập nhật, người dùng vẫn có thể truy cập đến với phiên bản cũ của ứng dụng cho đến khi nó cập nhật xong

Trang 38

Chương 4 Giới thiệu bộ lưu trữ Windows Azure

4.1 Giới thiệu bộ lưu trữ Windows Azure

Bộ lưu trữ Windows Azure cho phép các lập trình viên lưu dữ liệu của họ trên đám mây Ứng dụng có thể truy xuất dữ liệu từ bất kì nơi đâu, tại bất kì thời điểm nào, lưu trữ lượng dữ liệu tùy ý trong khoảng thời gian bất kì và nó đảm bảo rằng

dữ liệu được lưu trữ bền vững và không bị thất lạc Bộ lưu trữ Windows Azure cung cấp một bộ trừu tượng hóa dữ liệu phong phú:

- Windows Azure Blob – cung cấp lưu trữ cho các mẫu dữ liệu lớn

- Windows Azure Table – cung cấp bộ lưu trữ có cấu trúc để lưu trữ tình trạng

Hình 4.1 - Mô hình ví dụ dữ liệu Blob [8]

- Tài khoản lưu trữ – Tất cả truy xuất đến bộ lưu trữ Windows Azure đều

được thực hiện thông qua tài khoản lưu trữ

Trang 39

 Một tài kho ản có thể có nhiều container

- Blob Container – Một container chứa nhiều blob

cặp <tên, giá trị> và chúng có kích thước tối đa 8KB với mỗi container

bên trong - vì thế nó không thể tạo ra hệ thống phân cấp các blob Tuy nhiên, tên blob có thể chứa kí tự “/”, vì thế một lập trình viên có thể giả lập hệ phần cấp cho blob khi có nhu cầu

- Blob - Blob được lưu trữ trong container Kích thước mỗi blob có thể lên đến

200GB Một blob có một tên duy nhất trong một container Blob có thể có metadata kết hợp với chúng, cặp <tên, giá trị>, và chúng có kích thước tối đa 8KB với mỗi blob

Đường dẫn URI cho một blob được cấu trúc như sau:

http://<account>.blob.core.windows.net/<container>/<blobname>

Blob có hai dạng:

- Block blob – mỗi blob loại này có thể chứa đến 200GB dữ liệu Để thực hiện

chuyển đổi hiệu quả, một block blob được chia nhỏ vào các block Nếu một thất bại xảy ra, việc truyền lại tiếp tục với khối gần nhất hơn là gửi lại toàn bộ blob Một khi tất cả các block của một blob đã được tải lên, toàn bộ blob có thể được commit đồng thời

- Page blob - Một page blob được chia vào các page có kích thước 512-byte,

và ứng dụng tự do đọc và ghi các page riêng lẻ một cách ngẫu nhiên trong blob

XDrive Để hiểu được vai trò quan trọng đó là gì, chúng ta thấy rõ rằng các thể hiện Web role và Worker role được tự do truy xuất hệ thống tập tin cục bộ của máy ảo Theo mặc định, lưu trữ này không liên tục: Khi thể hiện bị tắt, máy ảo và lưu trữ cục bộ của nó sẽ biến mất Gắn một XDrive vào thể hiện Khi ghi dữ liệu vào XDrive thì dữ liệu được ghi ngay vào blob bên dưới Khi thể hiện không ho ạt động,

Trang 40

4.2.2 Giao tiếp REST với Blob

Tất cả các giao tiếp đến Windows Azure Blob được thực hiện thông qua giao tiếp HTTP REST PUT/GET/DELETE

Các lệnh HTTP/REST được hỗ trợ để thực thi các thao tác blob bao gồm :

- PUT Blob – Thêm một blob mới hoặc ghi đè blob đã tồn tại

- GET Blob – Lấy một entity blob hoặc lấy một dãy các byte trong blob sử dụng thao tác GET chuẩn HTTP

- DELETE Blob – Xóa một blob đã tồn tại

- Copy Blob – Sao chép một blob từ blob nguồn đến blob đích trong cùng tài kho ản lưu trữ Nó sẽ sao chép toàn bộ blob, bao gồm metadata, property và blocklist Bạn có thể sử dụng CopyBlob cùng với DeleteBlob để đổi tên một blob hoặc để di chuyển một blob giữa các container, ho ặc tạo bản sao dự phòng cho blob hiện có

- Get Block List - Lấy danh sách các block đã được tải lên

Có hai loại danh sách block:

thành công qua PutBlockList vào một blob

tải lên cho một blob những chưa được commit vào blob

Bạn có thể tải một blob có kích thước lên đến 64MB c hỉ sử dụng một request PUT blob Để tải lên các blob có kích thước đến 200GB, bạn cần phải ghép các block lại với nhau

4.2.3 Với Blob là một danh sách các block

Một trong những chiến lược chính của Windows Azure Blob là cho phép tải lên các blob có kích thước lên đến nhiều GB Điều này được thực hiện bởi Windows Azure Blob qua những bước sau:

- Cắt blob cần tải thành nhiều block liên tiếp nhau Vd: một phim 10GB có thể cắt thành 2500 khối, mỗi khối có kích thước 4MB, khối đ ầu tiên đại diện cho byte thứ 1 đến 4194304, khối thứ 2 đ ại diện cho byte 4194305 đến 8388608,…

Ngày đăng: 14/05/2016, 23:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] Nguyễn Anh Tài, Nguyễn Phương Duy, Phạm Thanh Phương, Cloud Computing, Báo cáo đề tài, Đại Học Bách Khoa Tp.HCM Sách, tạp chí
Tiêu đề: Cloud Computing
[6] David Chapped, Introducing The Windows Azure Platform, Whitepaper, 2009 Sách, tạp chí
Tiêu đề: Introducing The Windows Azure Platform
[7] David Chapped, Introducing Windows Azure , Whitepaper, 2009 Sách, tạp chí
Tiêu đề: Introducing Windows Azure
[8] Brad Calder, Tony Wang, Shane Mainali, Jason Wu, Windows Azure Blob – Programming Blob Storage , Whitepaper, 2009 Sách, tạp chí
Tiêu đề: Windows Azure Blob – Programming Blob Storage
[9] Jai Haridas, Niranjan Nilakantan, Brad Calder, Windows Azure Table – Programming Table Storage, Whitepaper, 2009 Sách, tạp chí
Tiêu đề: Windows Azure Table – Programming Table Storage
[10] Jai Haridas, Niranjan Nilakantan, Brad Calder, Windows Azure Queue – Programming Queue Storage, Whitepaper, 2008 Sách, tạp chí
Tiêu đề: Windows Azure Queue – Programming Queue Storage
[11] Jason Lee, Graeme Malcolm, Alistair Matthews, Overview of Microsoft SQL Azure Database, Whitepaper, 2009 Sách, tạp chí
Tiêu đề: Overview of Microsoft SQL Azure Database
[12] Tejaswi Redkar, Windows Azure Platform, Apress, 2009 Sách, tạp chí
Tiêu đề: Windows Azure Platform
[13] Aaron Skonnard, Pluralsight, A Developer's Guide to Service Bus in Windows Azure platform AppFabric, Whitepaper, 2009 Sách, tạp chí
Tiêu đề: A Developer's Guide to Service Bus in Windows Azure platform AppFabric
[14] Keith Brown, Pluralsight ,A Developer's Guide to Access Control in Windows Azure platform AppFabric, Whitepaper, 2009 Sách, tạp chí
Tiêu đề: A Developer's Guide to Access Control in Windows Azure platform AppFabric
[21] Lê Hùng ,Hành trình đến với điện toán đám mây riêng , slide, 2009 Sách, tạp chí
Tiêu đề: Hành trình đến với điện toán đám mây riêng
[22] Andrew Siemer, ASP.Net 3.5 Social Networking , Packt, 2008 Sách, tạp chí
Tiêu đề: ASP.Net 3.5 Social Networking
[4] Envisioning the Cloud: The Next Computing Paradigm , http://www.marketspaceadvisory.com/cloud/ Link
[20] Overview Windows Azure Platform, http://www.microsoft.com/windowsazure/products/ Link
[24] Google Data API cho .Net, http://code.google.com/apis/gdata/client-cs.html [25] Anti-Cross Site Scripting Library,http://msdn.microsoft.com/en-us/security/aa973814.aspx Link
[26] UrlRewritingNet, http://www.urlrewriting.net/149/en/home.html [27] Bắt kịp xu thế công nghệ mới,http://chungta.vn/index.php?option=com_content&amp;view=article&amp;id=10599:bt-kp-xu-th-cong-ngh-mi&amp;catid=94:s-kin-ni-bt&amp;Itemid=265 Link

HÌNH ẢNH LIÊN QUAN

Hình 3.6 - Fabric Controller và Fault Domain. [7] - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 3.6 Fabric Controller và Fault Domain. [7] (Trang 36)
Hình 3.7 - Fabric Controller và Update Domain. [7] - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 3.7 Fabric Controller và Update Domain. [7] (Trang 37)
Hình 6.1 - Kiến trúc Service Bus. [12] - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 6.1 Kiến trúc Service Bus. [12] (Trang 58)
Hình 7.3 – Sơ đồ kiến trúc chi tiết hệ thống. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.3 – Sơ đồ kiến trúc chi tiết hệ thống (Trang 82)
Hình 7.4 – AlumniNetworking ở góc nhìn ứng dụng. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.4 – AlumniNetworking ở góc nhìn ứng dụng (Trang 83)
Sơ đồ lớp Account-Profile-Friend: - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Sơ đồ l ớp Account-Profile-Friend: (Trang 85)
Sơ đồ lớp Forum-Group: - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Sơ đồ l ớp Forum-Group: (Trang 87)
Hình 7.11 – Lƣợc đồ CSDL. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.11 – Lƣợc đồ CSDL (Trang 92)
Hình 7.15 – Màn hình thông tin cá nhân. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.15 – Màn hình thông tin cá nhân (Trang 98)
Hình 7.25 – Màn hình danh sách công việc. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.25 – Màn hình danh sách công việc (Trang 103)
Hình 7.27 – Màn hình danh sách ứng viên của một công việc. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.27 – Màn hình danh sách ứng viên của một công việc (Trang 104)
Hình 7.29 – Màn hình chi tiết bài viết . - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.29 – Màn hình chi tiết bài viết (Trang 106)
Hình 7.30 – Màn hình hình ảnh. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.30 – Màn hình hình ảnh (Trang 107)
Hình 7.31 – Màn hình slideshow. - TÌM HIỂU WINDOW AZURE và xây DỰNG ỨNG DỤNG THỬ NGHIỆM
Hình 7.31 – Màn hình slideshow (Trang 108)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w