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

Đồ án tìm hiểu về windows azure

93 2,2K 8

Đ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 93
Dung lượng 3,66 MB

Nội dung

Đồ án tìm hiểu về windows azure

Trang 1

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

Trang 2

Nam Trung, người đã trực tiếp hướng dẫn, giúp đỡ và dẫn dắt tận tình trong suốt quá trình em thực hiện đồ án môn học này

Em cũng xin gửi lời cám ơn tới các thầy, cô giáo trong khoa Công Nghệ Thông Tin, Trường CĐ CNTT TP.HCM đã truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt học kỳ vừa qua

Nhóm cũng cảm đến đến những người bạn, các thành viên của các nhóm khác

đã giúp đỡ, hỗ trợ trong quá trình nhóm làm đồ án môn học này Những góp ý, xây dựng của các bạn đã giúp nhóm hoàn thiện hơn về kỹ năng và mục đích của đề tài

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 06 năm 2013 Nhóm xin chân thành cảm ơn

Trang 3

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

TP.HCM, ngày … tháng …… năm …… Giáo viên hướng dẫn

Trang 5

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ủaWindows 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 điện toán đám mây trong doanh nghiệp cụ thể

là phần mềm quản lý các chi nhánh trang trại với cơ sở dữ liệu trên đám mây

Q

Trang 6

1.1 Tổng quan điện toán đám mây 1

1.1.1 Định nghĩa 1

1.1.2 Các giải pháp 2

1.1.3 Các tầng tạo nên đám mây 3

1.1.4 Lợi ích của điện toán đám mây 5

1.2 Tổng quan Windows Azure Platform 7

1.2.1 Giới thiệu 7

1.2.2 Giới thiệu Windows Azure 8

1.2.3 Giới thiệu SQL Azure 9

1.2.4 Windows Azure Platform AppFabric 11

Chương 2 GIỚI THIỆU VỀ WINDOWS AZURE 13

2.1 Tổng quan Windows Azure 13

2.2 Các thành phần Windows Azure 14

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

2.2.3 Windows Azure Fabric 17

Chương 3 GIỚI THIỆU BỘ LƯU TRỮ WINDOWS AZURE 21

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

3.2 Windows Azure Blob 21

3.2.1 Giới thiệu 21

3.2.2 Giao tiếp REST với Blob 23

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

3.3 Windows Azure Table 25

3.3.1 Giới thiệu 25

3.3.2 Phân vùng Table 28

Trang 7

3.4.2 Mô hình dữ liệu Queue: 33

3.4.3 Thực tiễn tốt nhất 34

Chương 4 GIỚI THIỆU SQL AZURE 36

4.1 Giới thiệu 36

4.2 Tổng quan kiến trúc 36

4.2.1 Mô hình Provisioning 36

4.2.2 Mô hình dữ liệu quan hệ 37

4.2.3 Kiến trúc truy xuất dữ liệu 37

4.2.4 Mô hình bảo mật 38

4.2.5 Triển khai 38

4.3 Ứng dụng của SQL Azure 39

Chương 5 TỔNG QUAN WINDOWS AZURE PLATFORM APPFABRIC 40

5.1 Giới thiệu 40

5.2 Giới thiệu AppFarbic Service Bus 40

5.2.1 Giới thiệu 40

5.2.2 Kiến trúc Service Bus 40

5.2.3 Message Buffer 49

5.3 Tổng quan Fabric Access Control 51

5.3.1 Giới thiệu 51

5.3.2 Xây dựng Web Services Trust Access Control 52

5.3.3 Access Control Management Service 57

Chương 6 HƯỚNG DẪN CÀI ĐẶT WINDOWS AZURE SDK 2.0 VÀ VIẾT CHƯƠNG TRÌNH HELLO WORD 59

6.1 Hướng dẫn cài đặt windows azure sdk 2.0 59

Trang 8

7.1 Phân tích 69

7.1.1 Đặc tả yêu cầu 69

7.1.2 Phân tích chương trình về chức năng và dũ liệu 69

7.2 Thiết kế chương trình 73

7.2.1 Thiết kế dữ liệu 73

7.2.2 Thiết kế giao diện và xử lý 76

Trang 9

Chương 1: TỔNG QUAN WINDOWS AZURE PLATFORM

1.1 Tổng quan điện toán đám mây

1.1.1 Định nghĩa

Theo Gartner:

"Điện toán đám mây là một kiểu tính toán trong đó các năng lực CNTT có khả năng mở rộng rất lớn được cung cấp "dưới dạng dịch vụ" qua mạng Internet đến

nhiều khách hàng bên ngoài."

Theo Forrester Research:

"Điện toán đám mây là một kho tài nguyên cơ sở hạ tầng ảo hóa, có khả năng

mở rộng cao và được quản lý, có thể hỗ trợ các ứng dụng của khách hàng cuối và được tính tiền theo mức độ sử dụng."

Theo NIST (National Institute of Standards and Technology):

"Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình: mạng, máy chủ, lưu trữ, ứng dụng,có thể được cung cấp và thu hồi một cách nhanh

chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ."

Hình 1.1 - Mọi thứ đều tập trung vào đám mây

Trang 10

1.1.2 Các giải pháp

Điện toán đám mây ra đời để giải quyết các vấn đề sau:

- Vấn đề về lưu trữ dữ liệu:

Dữ liệu được lưu trữ tập trung ở các trung tâm dữ liệu khổng

lồ Các công ty lớn như Microsoft, Google có hàng chục trung tâm dữ liệu nằm

rải rác khắp nơi trên thế giới Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các trung tâm lưu trữ

- Vấn đề về sức mạnh tính toán: có 2 giải pháp chính

Sử dụng các siêu máy tính để xử lý tính toán

Sử dụng các hệ thống tính toán song song, phân tán

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

Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS

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

Hình 1.2 - Minh họa về các dịch vụ

Trang 11

1.1.3 Các tầng tạo nên đám mây

Hình 1.3 - Các tầng tạo nên đám mây 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í

Trang 12

liệu doanh nghiệp truyền thống Để đạt được khả năng mở rộng cần thiết trong một đám mây, các dịch vụ khác nhau được đưa ra ở đây thường được ảo hóa Các ví dụ trong phần này của đám mây bao gồm Amazon Web Services, 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

* Các cách hình thành đám mây

Có ba kiểu hình thành đám mây: riêng tư (theo giả thuyết), công cộng và lai

Các đám mây công cộng có sẵn cho công chúng hoặc một nhóm ngành nghề lớn và do một tổ chức bán các dịch vụ đám mây sở hữu và cung cấp Một đám mây công cộng là cái mà người ta hình dung là đám mây theo nghĩa thông thường; đó là, các tài nguyên được cung cấp động trên Internet bằng cách sử dụng các ứng dụng web

từ một nhà cung cấp bên thứ ba bên ngoài cung cấp các tài nguyên chia sẻ và gửi hóa đơn tính cước trên cơ sở tính toán việc sử dụng

Các đám mây riêng tư tồn tại bên trong tường lửa của công ty bạn và do tổ chức của bạn quản lý Chúng là các dịch vụ đám mây do bạn tạo ra và kiểm soát trong doanh nghiệp của mình Các đám mây riêng tư cũng cung cấp nhiều lợi ích tương tự như các đám mây công cộng — sự khác biệt chủ yếu là tổ chức của bạn chịu trách nhiệm thiết lập và duy trì đám mây đó

Các đám mây lai là một sự kết hợp của đám mây công cộng và riêng tư khi sử dụng các dịch vụ có trong cả hai vùng công cộng và riêng tư Các trách nhiệm quản lý

Trang 13

được phân chia giữa các nhà cung cấp dịch vụ đám mây công cộng và chính doanh nghiệp Khi sử dụng một đám mây lai, các tổ chức có thể xác định các mục tiêu và các yêu cầu của các dịch vụ được tạo ra và có được chúng dựa vào sự lựa chọn thích hợp nhất

1.1.4 Lợi ích của điện toán đám mây

Nhanh nhẹn: Có khả năng cung cấp các tài nguyên cơ sở hạ tầng, công nghệ có

sẵn một cách nhanh chóng và ít tốn kém

Chi phí thấp: Giảm chi phí đầu tư, nâng cấp, bảo trì các cơ sở hạ tầng tốn kém

như: máy chủ, mạng, các thiết bị lưu trữ, phần mềmvà việc tính chi phí dựa trên nhu cầu

sử dụng giúp tiết kiệm chi phí

Độc lập với các thiết bị và vị trí : Người dùng có thể truy cập vào ứng dụng

đám mây bằng nhiều thiết bị và tại bất cứ vị trí nào thông qua Internet

Hỗ trợ nhiều người thuê: cho phép chia sẻ tài nguyên và chi phí giữa một

phạm vi lớn người dùng nhằm:

o Tập trung cơ sở hạ tầng tại một vùng với chi phí thấp

o Khả năng chịu tải cao

o Cải thiện việc sử dụng và nâng cao hiệu suất cho hệ thống

Khả năng co giãn linh động (theo nhu cầu): Doanh nghiệp cũng có thể dễ

dàng điều chỉnh thêm, bớt người sử dụng và bổ sung dịch vụ tùy theo nhu cầu sử dụng

Bảo mật : Vấn đề bảo mật cải thiện nhờ vào việc tập trung hóa dữ liệu, tăng chi

phí đầu tư cho việc bảo mật

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

Trang 14

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

1.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, 

Giám đốc của Gartner – Ed Anderson nói rằng: “ Điện toán đám mây là thị trường có mức độ phát triển lớn nhất trên thị trường IT Chìa khóa để các doanh nghiệp thành công trong xu hướng mới này đó là hiểu rõ được người dùng, thị trường và các điều kiện địa phương của từng dịch vụ khác nhau”

Trong năm 2011, Gartner đã từng dự đoán, thị trường điện toán đám mây trong thời điểm hiện tại lên tới 91,4 tỷ USD Đến 2016, con số này có thể lên tới 206,6 tỷ USD

Sự phát triển của thị trường di động đang thúc đẩy sự phát triển của điển toán đám mây

Gartner chỉ ra rằng, thị trường di động đang phát triển với một tốc độ khủng khiếp Các nội dung giải trí hiện tại là quá nhiều để có thể "bỏ vừa" những thiết bị với dung lượng hạn chế như smartphone và tablet Bên cạnh đó, một sốt thiết bị di động lại không có khả năng nâng cấp thêm bộ nhớ điển hình như iPhone, iPad hoặc các dòng sản

Trang 15

phẩm Windows Phone cũ Chính vì thế , người dùng gần như không có sự lựa chọn nào khác ngoài việc sử dụng các giải pháp điện toán đám mây

Mảng "Cloud" dành cho doanh nghiệp chiếm doanh thu không nhỏ trong tổng thị trường

Hình 1.4 - Mảng "Cloud" chiếm 2/3 tổng doanh thu trong thị trường

Về mảng IT, Gartner chỉ ra rằng, các dịch vụ điện toán đám mây dành cho doanh nghiệp là mảng có doanh thu lớn nhất, chiếm đến 2/3 thị trường hiện tại Trên thực tế, ngày càng có nhiều doanh nghiệp chọn phương án “lên mây" để tiết kiệm chi phí, tăng tính bảo mật và giảm thiểu rủi ro trong quản lý dữ liệu

1.2 Tổng quan Windows Azure Platform

1.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

Trang 16

Hình 1.5 - Tổng quan Windows Azure Platform

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

1.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 1.6 - Windows Azure cung cấp dịch vụ tính toán và dịch vụ lưu trữ

Trang 17

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

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

1.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

Trang 18

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

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,

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

Trang 19

Hình 1.8-Ứng dụng truy xuất dữ liệu trong cơ sở dữ liệu SQL Azure

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

1.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

Trang 20

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

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 21

Chương 2 GIỚI THIỆU VỀ WINDOWS AZURE

2.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 2.1 - Ứng dụng Windows Azure

Trang 22

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

Hình 2.2- Các thành phần Windows Azure

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

2.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

Trang 23

Hình 2.3 – Ứng dụng Windows Azure có thể chứa Web role và Worker role

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

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ữ

Trang 24

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

2.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 2.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue

Trang 25

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

2.2.3 Windows Azure Fabric

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

Trang 26

Hình 2.5 - Fabric Controller

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

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

Trang 27

Hình 2.6 - Fabric Controller và Fault Domain

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 28

Hình 2.7 - Fabric Controller và Update Domain

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 29

Chương 3 GIỚI THIỆU BỘ LƯU TRỮ WINDOWS AZURE

3.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

Blob là đối tượng dữ liệu nhị phân lớn được dùng để chứa video, audio, email,

Blob cho phép ứng dụng lưu trữ, truy xuất dữ liệu có kích thước lớn, lên đến 200GB Để sử dụng blob, một lập trình viên phải tạo một hoặc nhiều container trong tài khoản lưu trữ Mỗi container có thể chứa một hoặc nhiều blob

Hình 3.1 - Mô hình ví dụ dữ liệu Blob

Trang 30

- 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ữ

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

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

Một container có thể có metadata kết hợp với chúng Metadata ở dạng cặp <tên, giá trị> và chúng có kích thước tối đa 8KB với mỗi container

Container chỉ chứa các blob và không thể chứa các thùng chứa khác 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

Một khía cạnh quan trọng của blob là vai trò của nó trong việc hỗ trợ 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, dữ liệu này đã được lưu trữ liên tục trên page blob, s ẵn sàng để gắn trở lại

Trang 31

3.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:

Danh sách block đã commit - Đây là danh sách block đã được commit thành công qua PutBlockList vào một blob

Danh sách block chưa commit - Đây là danh sách các block đã được 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

3.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

Trang 32

thứ 1 đến 4194304, khối thứ 2 đại diện cho byte 4194305 đến 8388608,

- Đặt mỗi block một tên/ID duy nhất ID duy nhất này được giới hạn bởi tên blob được tải lên Ví dụ, block đầu tiên được gọi là "Block 0001", block thứ hai

"Block 0002", 

- Đặt mỗi block vào đám mây với lệnh PUT Điều này được thực hiện với một lệnh PUT chỉ định URL ở trên với truy vấn xác định rằng đây là lệnh PUT block cùng với ID của block

- Sau khi tất cả các block đã được lưu trữ trong bộ lưu trữ Windows Azure, chúng ta commit danh sách các block đã tải lên vào blob mà chúng thuộc về Điều này được thực hiện với một lệnh PUT chỉ định URL ở trên với truy vấn xác định

rằng đây là lệnh blocklist Sau đó, header HTTP chứa danh sách các block được commit cho blob này Khi thao tác này thực hiện thành công, danh sách các block, theo thứ tự mà chúng được liệt kê, bây giờ đại diện cho phiên bản có thể đọc của blob Blob sau đó có thể được đọc bằng cách sử dụng lệnh GET blob

Hình 3.2 - Khái niệm lưu trữ Blob Block

Như mô tả trước đó, blob có thể được truy xuất qua PUT và GET bằng cách

Trang 33

Khi sử dụng một lệnh PUT đơn, block có kích thước lên đến 64MB có thể

được lưu trữ Để lưu trữ các blob lớn hơn 64MB và lên đến 200GB, đầu tiên cần PUT tất cả các block, và sau đó PUT blocklist để hợp thành phiên bản có thể đọc được của blob này

Mỗi block được xác định bởi Block ID và nó được giới hạn bởi tên blob Vì thế, những blob khác nhau có thể có các block với cùng ID Mỗi block có kích thước lên đến 4MB, và các block trong cùng blob có thể có kích thước khác nhau

Windows Azure Blob cung cấp các thao tác cấp block như sau:

- PUT block - tải một block vào một blob Chú ý một block được tải lên thành công với thao tác PUT block không trở thành một phần của blob chỉ khi nào nó được commit với thao tác PUT blocklist

- PUT blocklist - commit một blob bằng cách xác định danh sách các ID block tạo nên blob Các block được xác định trong hoạt động này phải được tải lên thành công bằng cách sử dụng lời gọi PUT block Thứ tự các block trong thao tác PUT blocklist sẽ hợp thành phiên bản có thể đọc của blob

- GET blocklist - lấy danh sách block đã được commit trước đó cho blob bằng thao tác PUT blocklist Danh sách block được trả ra định rõ ID và kích thước của mỗi block Chức năng này có thể được sử dụng để lấy các danh sách block chưa

Trang 34

Azure Platform Nó hỗ trợ các Table có khả năng mở rộng cực lớn trên đám mây Nó

có thể chứa hàng tỉ entity và terabyte dữ liệu Hệ thống sẽ tự động mở rộng một cách hiệu quả đến hàng ngàn máy chủ Một số điểm nổi bật của Windows Azure Table:

ỗ trợ LINQ, ADO.NET Data Service và REST

ập hợp các kiểu dữ liệu phong phú cho giá trị của property

Hỗ trợ số lượng table và entity không giới hạn và không giới hạn về kích

thước table

Hình 3.3 - Windows Azure Table

- Storage Account (Tài khoản lưu trữ) - Ứng dụng phải sử dụng một tài

khoản hợp lệ để truy xuất bộ lưu trữ Windows Azure

- Table (Bảng) - chứa một bộ các entity Một ứng dụng có thể tạo ra nhiều

table chỉ với một tài khoản lưu trữ

- Entity (Thực thể) - Entity (một entity tương tự như một dòng) là mẫu dữ

liệu cơ bản được lưu trữ trong một table Một entity chứa một tập các property Mỗi table có 2 property tên là "PartitionKey" và "RowKey" t ạo ra khóa duy nhất cho mỗi entity

Trang 35

- Property (Thuộc tính) - Đại diện cho một giá trị duy nhất trong entity Tên

property phân biệt hoa, thường Một tập hợp phong phú các kiểu dữ liệu được hỗ trợ cho giá trị property

- PartitionKey - Đây là property khóa đầu tiên của mỗi table Hệ thống sử

dụng khóa này để tự động cấp phát các entity của table qua nhiều nút lưu trữ

- RowKey - là property khóa thứ hai của table Đây là ID duy nhất của entity

trong phân vùng mà nó thuộc về PartitionKey kết hợp với RowKey xác định duy nhất một entity trong một table

- Timestamp - là property có giá trị Datetime, được lưu giữ bởi hệ thống để

ghi lại thời điểm thay đổi entity lần cuối

- Partition - Một tập hợp các entity trong một table với cùng giá trị khóa

PartitionKey

- Sort Order (Thứ tự sắp xếp) - Các entity trong table được sắp xếp theo

PartitionKey vào sau đó là theo RowKey Điều này có nghĩa là các truy vấn xác

định theo các khóa này sẽ hiệu quả hơn và tất cả các kết quả được trả về được sắp xếp theo PartitionKey và sau đó theo RowKey

Sau đây là một số thông tin chi tiết bổ sung cho Table, Entity và Property

- Table:

Tên table chỉ chứa các kí tự và số

Tên table không bắt đầu với một kí tự số

Tên table phân biệt hoa - thường

Tên table phải có độ dài từ 3 đến 63 kí tự

- Property: tên property chỉ được chứa các kí tự chữ cái và dấu „_‟

- Entity: một entity có tối đa 255 property bao gồm các property bắt buộc -

PartitionKey, RowKey và Timestamp Tất cả các property khác trong entity có tên được định nghĩa theo nhu cầu ứng dụng

PartitionKey và RowKey có kiểu chuỗi và mỗi khóa kích thước tối đa 1 KB Không có giản đồ cố định - Không có giản đồ được lưu trữ bởi Windows

Trang 36

-Azure Table, vì thế tất cả các property được lưu trữ theo cặp <tên, kiểu dữ liệu> Điều này có nghĩa rằng 2 entity trong cùng một table có thể có property khác nhau Một table có thể có hai entity với tên property giống nhau, nhưng có kiểu dữ liệu khác nhau cho giá trị property Tuy nhiên, tên property phải là duy nhất với mỗi entity.- Kết hợp kích thước của tất cả các dữ liệu trong một entity không thể vượt

quá 1MB Kích thước này bao gồm kích thước của tên property cũng như kích thước của giá trị property hoặc kiểu của chúng, bao gồm cả hai property khóa bắt buộc (PartitionKey và RowKey)

Bảng 3.1 – Các kiểu dữ liệu Windows Azure Table hỗ trợ

3.3.2 Phân vùng Table

Windows Azure Table cho phép các table mở rộng đến hàng ngàn nút lưu trữ bằng cách phân phối các entity trong table Khi phân phối các entity, nó mong muốn đảm

Trang 37

bảo một tập hợp các entity luôn cùng nằm trên một nút lưu trữ Một ứng dụng điều chỉnh thiết lập này bằng cách chọn giá trị thích hợp cho PartitionKey trong mỗi entity

Hình 3.4 - Hình minh họa phân vùng

Hình mình họa mô tả một table chứa nhiều phiên bản của nhiều tài liệu khác nhau Mỗi entity trong table tương ứng với một phiên bản của một tài liệu cụ thể Trong

ví dụ này, PartitionKey của table là tên tài liệu và RowKey là tên phiên bản

Tên tài liệu cùng với tên phiên bản xác định duy nhất một entity trong table Trong

ví dụ này, tất cả các phiên bản của cùng một tài liệu tổ chức vào một phân vùng riêng

lẻ

3.3.2.1 Tác động của việc phân vùng

Bây giờ chúng ta mô tả mục đích của các phân vùng và làm thế nào để chọn một PartitionKey cho tốt

Việc phân vùng table ảnh hưởng đến khả năng mở rộng của table Hệ thống lưu trữ đạt được khả năng mở rộng khá lớn bằng cách phân bố các phân vùng qua nhiều nút lưu trữ Hệ thống quan sát mô thức sử dụng các phân vùng và tự động cân bằng các phân vùng này qua tất cả các nút lưu trữ Điều này cho phép hệ thống và

ứng dụng của bạn mở rộng để đáp ứng nhu cầu lưu thông của các table

Hỗ trợ giao dịch nhóm cho table Ngoài ra, việc các entity trong phân vùng được lưu trữ cùng nhau giúp cho việc truy xuất hiệu quả hơn

Trang 38

3.3.2.2 Chọn một PartitionKey

Việc lựa chọn một PartitionKey đóng vai trò quan trọng để một ứng dụng có khả năng mở rộng tốt Có một sự cân nhắc giữa việc cố gắng để được lợi từ miền entity, ở đó bạn đạt được những truy vấn hiệu quả qua các entity trong cùng một

phân vùng và khả năng mở rộng của các table, càng nhiều phân vùng trong table thì càng dễ dàng ở cho Windows Azure Table lan truyền tải qua nhiều máy chủ

3.3.3 Lập trình Table

Các hoạt động cơ bản sau đây được hỗ trợ trên các table và các entity

ạo table hoặc entity

ấy một table hoặc entity - với bộ lọc

ập nhật một entity (không có cập nhậ

một table hoặc entity

ịch nhóm entity - hỗ trợ các giao dịch qua các entity trong cùng một table và cùng một phân vùng

Để sử dụng table trong ứng dụng Net, bạn có thể sử dụng dịch vụ dữ liệu

ADO.NET

Bảng 3.2 - Bảng tóm tắt các API cho Windows Azure Table

Trang 40

phần khác nhau của ứng dụng đám mây Windows Azure Queue có tính sẵn sàng cao, bền và hiệu quả thực thi cao Lập trình ngữ nghĩa của nó đảm bảo rằng một message có thể được xử lí ít nhất một lần

Windows Azure Queue cho phép tách các thành phần khác nhau của ứng dụng đám mây, cho phép ứng dụng đám mây được xây dựng một cách dễ dàng với nhiều công nghệ khác nhau và dễ dàng mở rộng theo nhu cầu lưu thông

Hình 3.5 - Các thao tác với message

Trong kịch bản điển hình, nhiều thể hiện Web role đang chạy, mỗi thể hiện

nhận công việc từ người dùng (bước 1) Để đẩy công việc đến thể hiện Worker role, một thể hiện Web role viết một message vào queue(bước 2) Message này, chứa tối đa 8KB,

có thể chứa đường dẫn URI đến một blob hoặc một entity trong table hoặc những nội dung khác Thể hiện Worker role đọc message từ queue này(bước 3) Sau

đó thực hiện công việc mà queue yêu cầu Khi thể hiện Worker role đã hoàn thành công việc message yêu cầu, nó phải xóa hẳn message từ queue (bước 5)

Kiến trúc này có nhiều thuận lợi, bởi vì:

- Có khả năng mở rộng

Ứng dụng có thể mở rộng một cách dễ dàng theo nhu c ầu lưu thông

Số lượng web role và số lượng worker role được điều chỉnh độc lập

mà không ảnh hưởng đến logic ứng dụng

Một queue riêng biệt có thể được sử dụng cho các mục công việc theo

Ngày đăng: 06/06/2014, 23:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1.Windows Azure – Phần 1: Windows Azure Và Azure Services Platform http://goccay.vn/showthread.php?23743-Windows-Azure-Phan-1-Windows-Azure-Va-Azure-Services-Platform Link
2.Windows Azure – Phần 2: Windows Azure Service Platform http://goccay.vn/showthread.php?23745-Windows-Azure-Phan-2-Windows-Azure-Service-Platform Link
3.Windows Azure – Phần 3: Các Thành Phần Của Windows Azure http://goccay.vn/showthread.php?23750-Windows-Azure-Phan-3-Cac-Thanh-Phan-Cua-Windows-Azure Link
4.Windows Azure – Phần 4: Kịch bản triển khai ứng dụng trên Windows Azure http://goccay.vn/showthread.php?23751-Windows-Azure-Phan-4-Kich-ban-trien-khai-ung-dung-tren-Windows-Azure Link
5.Windows Azure – Phần 5: Thiết lập môi trường lập trình http://goccay.vn/showthread.php?23752-Windows-Azure-Phan-5-Thiet-lap-moi-truong-lap-trinh Link
6.Windows Azure – Phần 6: Làm việc với dự án Azure trong Visual Studio http://goccay.vn/showthread.php?23753-Windows-Azure-Phan-6-Lam-viec-voi-du-an-Azure-trong-Visual-Studio Link
7.Windows Azure – Phần 7: Làm việc với dự án Azure trong Visual Studio (tiếp) http://goccay.vn/showthread.php?23754-Windows-Azure-Phan-7-Lam-viec-voi-du-an-Azure-trong-Visual-Studio-tiep- Link
8.Windows Azure – Phần 8: Làm việc với dự án Azure trong Visual Studio (cuối) http://goccay.vn/showthread.php?23755-Windows-Azure-Phan-8-Lam-viec-voi-du-an-Azure-trong-Visual-Studio-cuoi- Link
9.Windows Azure – Phần 9 (End): Demo Triển Khai Ứng Dụng HelloWorld http://goccay.vn/showthread.php?23755-Windows-Azure-Phan-8-Lam-viec-voi-du-an-Azure-trong-Visual-Studio-cuoi- Link
10.Cơ bản về điện toán đám mây http://www.ibm.com/developerworks/vn/library/cl-cloudintro/Tiếng Anh Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1 - Mọi thứ đều tập trung vào đám mây - Đồ án tìm hiểu về windows azure
Hình 1.1 Mọi thứ đều tập trung vào đám mây (Trang 9)
Hình 1.3 - Các tầng tạo nên đám mây   Các dịch vụ ứng dụng (SaaS) - Đồ án tìm hiểu về windows azure
Hình 1.3 Các tầng tạo nên đám mây Các dịch vụ ứng dụng (SaaS) (Trang 11)
Hình  1.4 - Mảng &#34;Cloud&#34; chiếm 2/3 tổng doanh thu  trong thị trường - Đồ án tìm hiểu về windows azure
nh 1.4 - Mảng &#34;Cloud&#34; chiếm 2/3 tổng doanh thu trong thị trường (Trang 15)
Hình 1.6 - Windows Azure cung cấp dịch vụ tính toán và dịch vụ lưu trữ - Đồ án tìm hiểu về windows azure
Hình 1.6 Windows Azure cung cấp dịch vụ tính toán và dịch vụ lưu trữ (Trang 16)
Hình 1.7 - SQL Azure cung cấp dịch vụ định hướng dữ liệu trong đám mây - Đồ án tìm hiểu về windows azure
Hình 1.7 SQL Azure cung cấp dịch vụ định hướng dữ liệu trong đám mây (Trang 18)
Hình 1.8-Ứng dụng truy xuất dữ liệu trong cơ sở dữ liệu SQL Azure - Đồ án tìm hiểu về windows azure
Hình 1.8 Ứng dụng truy xuất dữ liệu trong cơ sở dữ liệu SQL Azure (Trang 19)
Hình 1.9-Windows Azure Platform AppFabric cung cấp cơ sở hạ tầng - Đồ án tìm hiểu về windows azure
Hình 1.9 Windows Azure Platform AppFabric cung cấp cơ sở hạ tầng (Trang 20)
Hình 2.1 - Ứng dụng Windows Azure - Đồ án tìm hiểu về windows azure
Hình 2.1 Ứng dụng Windows Azure (Trang 21)
Hình 2.2- Các thành phần Windows Azure - Đồ án tìm hiểu về windows azure
Hình 2.2 Các thành phần Windows Azure (Trang 22)
Hình 2.3 – Ứng dụng Windows Azure có thể chứa Web role và Worker role - Đồ án tìm hiểu về windows azure
Hình 2.3 – Ứng dụng Windows Azure có thể chứa Web role và Worker role (Trang 23)
Hình 2.4 - Bộ lưu trữ Windows Azure: Blob, Table, Queue - Đồ án tìm hiểu về windows azure
Hình 2.4 Bộ lưu trữ Windows Azure: Blob, Table, Queue (Trang 24)
Hình 2.5 - Fabric Controller - Đồ án tìm hiểu về windows azure
Hình 2.5 Fabric Controller (Trang 26)
Hình 2.6 - Fabric Controller và Fault Domain - Đồ án tìm hiểu về windows azure
Hình 2.6 Fabric Controller và Fault Domain (Trang 27)
Hình 2.7 - Fabric Controller và Update Domain - Đồ án tìm hiểu về windows azure
Hình 2.7 Fabric Controller và Update Domain (Trang 28)
Hình 3.1 - Mô hình ví dụ dữ liệu Blob - Đồ án tìm hiểu về windows azure
Hình 3.1 Mô hình ví dụ dữ liệu Blob (Trang 29)
Hình 3.2 - Khái niệm lưu trữ Blob Block - Đồ án tìm hiểu về windows azure
Hình 3.2 Khái niệm lưu trữ Blob Block (Trang 32)
Hình 3.3 - Windows Azure Table - Đồ án tìm hiểu về windows azure
Hình 3.3 Windows Azure Table (Trang 34)
Bảng 3.1 – Các kiểu dữ liệu Windows Azure Table hỗ trợ. - Đồ án tìm hiểu về windows azure
Bảng 3.1 – Các kiểu dữ liệu Windows Azure Table hỗ trợ (Trang 36)
Hình 3.4 - Hình minh họa phân vùng - Đồ án tìm hiểu về windows azure
Hình 3.4 Hình minh họa phân vùng (Trang 37)
Hình 3.5 - Các thao tác với message - Đồ án tìm hiểu về windows azure
Hình 3.5 Các thao tác với message (Trang 40)
Hình 5.1 -Kiến trúc Service Bus - Đồ án tìm hiểu về windows azure
Hình 5.1 Kiến trúc Service Bus (Trang 49)
Hình 5.2 - Mô hình tích hợp Service bus và Access Control - Đồ án tìm hiểu về windows azure
Hình 5.2 Mô hình tích hợp Service bus và Access Control (Trang 50)
Bảng 6.2 - Bảng giá trị của Message Security - Đồ án tìm hiểu về windows azure
Bảng 6.2 Bảng giá trị của Message Security (Trang 52)
Sơ đồ gọi tên của Service Bus thể hiện như sau: - Đồ án tìm hiểu về windows azure
Sơ đồ g ọi tên của Service Bus thể hiện như sau: (Trang 54)
Hình 5.4 - Message Buffer trong Service Bus - Đồ án tìm hiểu về windows azure
Hình 5.4 Message Buffer trong Service Bus (Trang 57)
Hình 5.5- Sơ đồ trao đổi - Đồ án tìm hiểu về windows azure
Hình 5.5 Sơ đồ trao đổi (Trang 60)
Bảng 5.5 - Key trong một SWT Toke - Đồ án tìm hiểu về windows azure
Bảng 5.5 Key trong một SWT Toke (Trang 62)
Hình 5.6 - Lược đồ tài nguyên Access Control - Đồ án tìm hiểu về windows azure
Hình 5.6 Lược đồ tài nguyên Access Control (Trang 65)
Bảng lựa chọn các Options: - Đồ án tìm hiểu về windows azure
Bảng l ựa chọn các Options: (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w