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

TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE

69 1,4K 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 69
Dung lượng 1,8 MB

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

Nội dung

Theo NIST: “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources e.g., networks, servers, storage, applicati

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KHOA HỌC MÁY TÍNH

Báo cáo kết thúc môn học ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY

TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN

TẢNG WINDOWS AZURE

Giáo viên hướng dẫn : PGS TS Nguyễn Phi Khứ

TP Hồ Chí Minh, tháng 6 năm 2014

Trang 2

LỜI CẢM ƠN 1

LỜI NÓI ĐẦU 2

CHƯƠNG 1: TỔNG QUAN VỀ CLOUD COMPUTING 3

1.1 Định nghĩa về cloud computing - điện toán đám mây 3

1.2 Các đặc tính của điện toán đám mây 3

1.3 Tại sao lại chọn cloud computing 9

1.4 Các nền tảng cloud computing phổ biến 11

1.4.1 Amazom EC2 12

1.4.2 Google App Engine 12

1.4.3 Microsoft Windows Azure 13

CHƯƠNG 2: WINDOWS AZURE PLATFORM 14

2.1 Kiến trúc Windows Azure Platform 14

2.1.1 Hệ điều hành Windows Azure 14

2.1.2 SQL Azure 15

2.1.3 .NET Services – AppFabric 16

2.2 Windows Azure 17

2.2.1 Compute Service 19

2.2.2 Storage Bus 20

2.3 SQL Azure 32

2.3.1 Kiến trúc SQL Azure 32

2.3.2 Các hạn chế đối với SQL Azure 34

2.3.3 Kế nối dữ liệu với SQL Azure 35

Trang 3

2.4.1 Access Control Service 37

2.4.2 Service Bus 39

2.3 SQL Azure 50

Các hạn chế đối với SQL Azure: 53

Kết nối dữ liệu trên SQL Azure 53

CHƯƠNG 3: WINDOWS AZURE PLATFORM DEVELOPMENT 57

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

Trang 4

LỜI CẢM ƠN

Để có thể hoàn thành tốt bài báo cáo, trước tiên tôi gởi lời chân thành cảm ơnđến TS Nguyễn Phi Khứ đã tận tình giảng dạy và giúp đỡ trong thời gian thực hiện bài báo cáo

Xin gửi lời cảm ơn đến gia đình, cảm ơn các anh chị, bạn bè, những người luôn sát cánh, động viên tôi trên bước đường học tập cũng như trong cuộc sống Xinchân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô tại trườngĐại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Khoa học Máy tính, cảm ơn các thầy cô thuộc bộ phận quản trị thiết bị đã tạo điều kiện thuận lợi vềmặt tinh thần, điều kiện học tập trong quá trình học tập môn học Tất cả các kiến thức mà nhà trường và quý thầy cô đã truyền đạt là hành trang to lớn để tôi mang theo trên con đường học tập, làm việc và nghiên cứu cũng như trong quá trình hoàn thiện nhân cách của mình

Tp HCM, ngày 06 tháng 06 năm 2014

Học viênLâm Hàn Vũ

Trang 5

LỜI NÓI ĐẦU

Trong vòng vài năm trở lại đây, điện toán đám mây – cloud computing đã và đang trở thành một trong những thuật ngữ được nhắc đến nhiều nhất trong ngành công nghệ thông tin Điện toán đám mây được hứa hẹn là giải pháp giải quyết được nhiều vấn đề như độ sẵn sàng (availability), khả năng co giãn (scalability), chi phí (cost), điện năng tiêu thụ (power consumption)… Tuy nhiên, hiểu rõ hơn về các khái niệm của cloud computing, các đặc tính, các ưu điểm, nhược điểm cũng như các thách thức đối với công nghệ để có thể khai thác, triển khai khi cần thiết lại là một việc còn chưa được quan tâm đúng mức

Đề tài này nhằm làm rõ phần nào các khía cạnh của cloud-computing, cũng như nghiên cứu sâu hơn về một nền tảng cloud-computing cụ thể Báo cáo sẽ cố gắng đưa ra các định nghĩa về cloud computing, các đánh giá khách quan về ưu nhược điểm cũng như tương lai của công nghệ này Đồng thời, báo cáo cũng chọn nền tảng Windows Azure Platform để đào sâu nghiên cứu, vì đây là một nền tảng cónhiều ưu điểm, lại thân thiện với các nhà phát triển và sử dụng nhiều công cụ sẵn

Bố cục của báo cáo này bao gồm:

Phần 1: Tổng quan về cloud computing, các khái niệm, định nghĩa, các ưu

nhược điểm của các loại hình dịch vụ trong cloud computing, các nền tảng cloud computing phổ biến

Phần 2: Đi sâu về nghiên cứu về nền tảng Windows Azure Platform, bao

gồm nghiên cứu về cơ sở hạ tầng – infrastructure, về cấu trúc – architect, một

số use cases và API lập trình

Phần 3: Giới thiệu về môi trường lập trình cho Windows Azure Platform

Trang 6

CHƯƠNG 1 TỔNG QUAN VỀ CLOUD COMPUTING

1.1 Định nghĩa về cloud computing - điện toán đám mây

Cloud-computing hiện vẫn là mẫu hình đang tiến hoán, những định nghĩa về

mô hình này vẫn chưa thống nhất và các khái niệm hiện nay chỉ là tạm thời Những định nghĩa được nêu trong phần 1 của báo cáo này được lấy dựa trên các tài liệu được sử dụng khá rộng rãi như wikipedia, hay định nghĩa của NIST - National Institute of Standards and Technology Trên thực tế, có thể có nhiều cách định nghĩa khác

Theo NIST:

“Cloud computing is a model for enabling convenient, on-demand network access

to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Tạm dịch: Điện toán đám mây là một mô hình cho phép truy cập mạng dễ dàng, theo yêu cầu, đến một tài nguyên điện toán chia sẻ (như network, máy chủ, không gian lưu trữ, ứng dụng và dịch vụ), có thể nhanh chóng cung cấp và thu hồi với chi phí quản lý và tương tác với nhà cung cấp dịch vụ tối thiểu

Source: http://csrc.nist.gov/groups/SNS/cloud-computing/index.html

Định nghĩa trên đã nêu ra những đặc tính cơ bản nhất của điện toán đám mây, sẽ được trình bày rõ hơn trong phần dưới đây

1.2 Các đặc tính của điện toán đám mây

1.2.1 5 đặc tính cơ bản (Essential characteristics)

5 đặc tính cơ b ản ủa điện toán đám mây được NIST đưa ra như sau:

On-demand self-service – Tự phục vụ theo nhu cầu

Trang 7

Khách hàng có thể tự tăng cường năng lực tính toán, ví dụ như thời gian server hay không gian lưu trữ trên network, một cách hoàn toàn tự động dựa theo nhu cầu mà không cần phải thương lượng với nhà cung cấp dịch vụ Đặc tính này thường được biết đến với tên gọi Pay-as-you-go

Broad network access- Truy cập thông qua mạng băng thông rộng.

Truy cập mạng băng rộng Khả năng tính toán được cung cấp thông qua network và được truy cập thông qua một cơ cấu chuẩn, mà có thể dung bằng nhiều nền tảng client khác nhau (như mobile phones, laptops, và PDA)

Resource pooling – Quay vòng tài nguyên

Tài nguyên điện toán của nhà cung cấp được quay vòng để phục vụ cho nhiều khách hàng sử dụng một mô hình multi-tenant, với các tài nguyên thực và ảo hóa khác nhau được cấp phát và tái cấp phát một cách động (dynamically) tùy thuộcvào yêu cầu của khác hàng Không phụ thuộc vị trí … khách hàng về tổng quát không có quyền hay thậm chí là không có hiểu biết về vị trí chính xác của các tài nguyên được cung cấp nhưng có thể xác định vị trí của các tài nguyên cấp cao hơn (ví dụ như nước, bang, datacenter) Các tài nguyên bao gồm không gian lưu trữ, tínhtoán, bộ nhớ, băng thông mạng và các máy ảo

Rapid elasticity - Co giãn nhanh

Khả năng tính toán có thể được cung cấp một cách nhanh chóng và co giãn, trong một số trường hơp là tự động, để có thể giãn ra hoặc co vào phụ thuộc vào nhu cầu người dùng Đối với khách hàng, tài nguyên hiện có được coi như như vô hạn và có thể mua với bất kì số lượng nào vào bất kì thời gian nào

Measured Service

Các hệ thống cloud tự động điều khiển và tối ưu hóa tài nguyên sử dụng bằng cách trừu tượng hóa tương ứng với kiểu dịch vụ (lưu trữ, khả năng xử lý, băngthông, và số người dùng active) Tài nguyên sử dụng có thể được giám sát, điều

Trang 8

khiển và báo cáo một cách trong suốt cho cả nhà cung cấp và khách hàng của dịch

1.2.2 3 mẫu hình dịch vụ (3 service models)

Hình 1.1: Các kiểu hình dịch vụ đối với Cloud computing

On-Premises: Ứng dụng chạy hoàn toàn trên hệ thống của doanh nghiệp Đây là

kiểu dịch vụ phổ biến hiện nay Doanh nghiệp quản lý hoàn toàn về hạ tầng mạng,

hệ thống lưu trữ, máy chủ, ảo hoá, hệ điều hành, phần mềm tầng giữa, các lớp runtime, dữ liệu và ứng dụng Trong phần còn lại của báo cáo này, các ứng dụng chạy trên hệ thống doanh nghiệp như thế này sẽ được gọi chung là các ứng dụng on-premises

Trang 9

3 mẫu hình dịch vụ cơ bản mà cloud computing đang được triển khai là Infrastucture as a Service (IssA), Platform as a Service (PaaS) và Software as a Service (SaaS).

Cung cấp dịch vụ cơ sở hạ tầng (Infrastructure as as Service):

Khách hàng chỉ quản lý từ phần mềm tầng giữa – middeware trở lên, còn lại các tầng từ hệ điều hành trở xuống do nhà cung cấp dịch vụ quản lý Các dịch vụ dạng IaaS hiện có:

 Computers (Amazon EC2, Rackspace, GoGrid )

 Storage (Amazon S3, MobileMe, Google Drive )

 Elasticity (Rightscale…)

 Bandwidth (Limelight, Amazon CloudFront…)

 Hệ thống được quản lý bởi SLA

giảm bớt được các lỗ thủng

 Thu nhập cao hơn trên tài nguyên

 Giảm chi phí do:

o Giảm bớt tiêu thụ năng lượng

 Khả năng đạt được tiêu thụ theo

yêu cầu – consumption on

demand

 Tính di động - portability của các ứng dụng

 Sự hoàn thiện của các công cụ quản lý hệ thống

 Tích hợp qua giới hạn của Cloud

 Các vấn đề về bảo mật bên trong

Bảng 1.1: Lợi ích và thách thức đối với IaaS

Cung cấp dịch vụ cơ sở hạ tầng (Platform as a Service):

Khách hàng chỉ quản lý ứng dụng và dữ liệu của mình, các tầng phía dưới, từtầng runtime trở xuống do nhà cung cấp dịch vụ quản lý

Các dịch vụ dạng PaaS hiện có: Salesforce.com, Apprenda SaaSGrid, GoogleApp Engine, Microsoft Azure, Appistry, Talis Platform

Trang 10

Lợi ích của PaaS Thách thức của PaaS

- Pay-as-you-go đối với môi trường

phát triển, test và kinh doanh

- Bị trói với nhà cung cấp

- Mở rộng mẫu hình bảo mật với nhà cung cấp

WordPress.com, MobileMe, Salesforce.com

- Tốc độ

- Giảm chi phí ban đầu, có khả

năng giảm chi phí toàn bộ

(life-time cost

- Chuyển một phần/tất cả trách

nhiệm hỗ trợ

- Loại bỏ các nguy cơ về giấy phép

- Loại bỏ nguy cơ về tương thích

phiên bản

- Giảm ảnh hưởng của phần cứng

- Yêu cầu mô hình bảo mật với nhàcung cấp (sự riêng tư và quyển sởhữu dữ liệu)

- Điều hành và quản lý chi phí

- Đồng bộ giữa client và vendor migration

- Hỗ trợ người dùng cuối tích hợp

- Khả năng co giãn

Bảng 1.3 Lợi ích và thách thức đối với SaaS

1.2.3 4 mẫu đóng gói (4 deployment models)

Private cloud: Kiến trúc đám mây được điều khiển bởi riêng một tổ chức

Nó có thể được quản lý bởi tổ chức hoặc một bên thứ ba và có thể tồn tại

Community cloud: Kiến trúc đám mây được chia sẻ giữa một số tổ chức và

hỗ trợ một cộng đồng cụ thể có cùng các mối quan tâm (ví dụ: nhiệm vụ, yêu

Trang 11

cầu an ninh, chính sách quản lý và … )Nó có thể được quản lý bởi các tổ chức hoặc một bên thứ 3, và có thể tồn tại on-premises hoặc off-premises

Public cloud: Kiến trúc đám mây được được công bố ra cộng đồng hoặc một

nhóm các doanh nghiệp lớn và do một tổ chức cung cấp dịch vụ cloud sở hữu

Hybrid cloud: Kiến trúc đám mây là một tổ hợp của 2 hay nhiều cloud

(private, community hoặc public), vẫn giữ những thực thể riêng biệt nhưng

có cùng một công nghệ chuẩn hóa hay có chủ quyền, cho phép dữ liệu và tính di động của ứng dụng

1.2.4 Cloud computing và grid computing:

Cloud computing có thể coi là một xây dựng – implementation – đặc biệt củakiến trúc client-server Chính vì vậy, nó thường được đem so sánh với distributed computing và cụ thể hơn là grid computing Dưới đây sẽ là so sánh chi tiết về 2 kiếntrúc này:

Cloud computing và grid computing đều “co giãn” Khả năng co giãn đạt được bằng việc cân bằng tải các instance của ứng dụng, chạy riêng rẽ trên nhiều hệ điều hành và kết nối với nhau thông qua các Web service CPU và băng thông network được cấp phát và thu hồi theo yêu cầu Khả năng lưu trữ của hệ thống tăng

và giảm phụ thuộc vào số người dùng, số instance, và lượng dữ liệu chuyển đổi ở một thời điểm xác định

Cả 2 kiểu điện toán kết hợp multitenacy (sẽ được giải thích ở dưới) và

multitask (đa nhiệm), điều này có nghĩa là nhiều khách hàng có thể thực hiện các công việc khác nhau, truy cập một hay nhiều instance ứng dụng Chia sẻ tài nguyên giữa nhiều user hỗ trợ giảm chi phí cơ cấu hạ tầng và dung lượng tải lớn nhất (peak load capacity) Cloud và Grid computing cung cấp SLA – service-level agreement (thoả thuận mức ứng dụng) với đảm bảo thời gian sẵn sàng (uptime) lên đến 99% Nếu một dịch vụ dưới mức đảm bảo uptime đó, khách hàng sẽ nhận được tiền bồi thường

Trang 12

Multi-tenacy là một nguyên lý cấu trúc, trong đó một ứng dụng chạy ở một instance phục vụ đồng thời nhiều user (multitenant)

Đối với cloud computing, việc lưu trữ dữ liệu là rất mềm dẻo, có thể lưu trữ

dữ liệu nhỏ 1byte, đến hàng terabytes Grid computing có thể lưu trữ được các đối tượng có kích thước 1 byte, nhưng điều này hoàn toàn không kinh tế Trong mạng lưới data, kích thước của dữ liệu phân tán phải lớn để đem lại lợi ích cao nhất

Ý tưởng bên dưới Utility computing Utility Computing

Cấp phát và phân

phối tài nguyên

Điều hành và quản lý việc chia sẻ tài nguyên, dùng các công cụ lập lịch (schedulers)

Mô hình khách hàng <-> nhà cung cấp đơn giản, trả tiền theo sử dụng

Bảng 1.4 So sánh giữa Cloud computing và grid computing

1.3 Tại sao lại chọn cloud computing

Trước hết, phải nói rằng cloud-computing hoàn toàn không phải phải là một kiến trúc phần mềm mới Có thể thấy qua việc minh họa các dạng dịch vụ cloud computing, như các dịch vụ máy chủ riêng ảo, hosting, webmail… đều đã được nhắc đến từ lâu, trước khi thuật ngữ cloud-computing xuất hiện

Trong vài năm trở lại đây, với sự tham gia của các tập đoàn phần mềm lớn như Microsoft, Google, hay Amazon, cloud computing đã có những bước tiến mạnh

mẽ

Trang 13

Các nhà phát triển có thể nhanh chóng xây dựng ứng dụng đám mây trên nềntảng mà công ty cung cấp, với những cấu trúc và API được thiết kế dành riêng cho cloud-computing Một công cụ quản lý hợp nhất, cho phép khách hàng sử dụng cloud-computing có thể tuỳ biến dịch vụ cho phù hợp với nhu cầu của mình một cách đơn giản và dễ dàng Những điều này khiến cloud-computing có thể trở thành một xu hướng nổi bật trong thời gian tới

Lợi ích của Cloud-computing

Với Cloud Computing, những vấn đề này được giải quyết một cách căn bản:

 Không cần hệ thống máy chủ và hệ thống mạng nội bộ trong công ty, chỉ cầncác máy client chi phí thấp được kết nối mạng Internet

 Giảm bớt chi phí phần mềm vì không cần các phần mềm nghiệp vụ cài riêng

Có thể chỉ cần một hệ điều hành và một trình duyệt để làm việc

 Giảm bớt chi phí nhân công vì không cần quản trị hệ thống

 Giảm bớt chi phí điện năng lãng phí(Go Green)

 Linh hoạt và mềm dẻo khi có thay đổi về tải Khi cần tải nặng, hệ thống có thể tự tăng khả năng xử lý của mình lên mà không cần can thiệp, và cũng tự động giảm năng lực xử lý của mình khi tải thấp

Hạn chế của Cloud computing

Tuy nhiên, cloud computing không phải là giải pháp toàn diện và có thể áp dụngcho mọi trường hợp phần mềm Nói cách khác, cloud computing sẽ không hoàn toàn thay thế các giải pháp dịch vụ phần mềm hiện có:

 Trước hết, dữ liệu của doanh nghiệp, cá nhân được upload lên trên cloud Điều này đồng nghĩa với doanh nghiệp, cá nhân phải tin tưởng vào nhà cung cấp dịch vụ Ngoài ra, ở một số doanh nghiệp với dữ liệu đặc thù, như ngân hàng, có những luật quy định doanh nghiệp phải lưu trữ dữ liệu của khách hàng on-premises Trong những trường hợp như vậy, việc triển khai ứng dụng trên public cloud là điều không thể

Trang 14

 Tốc độ truy xuất ứng dụng Với một số dịch vụ, người dùng không thể xác định hay thiết lập vị trí của dữ liệu (trừu tượng hoá hoàn toàn ở cấp độ trung tâm dữ liệu) Nếu người dùng và trung tâm dữ liệu ở xa nhau, thì sẽ dẫn đến hạn chế trong tốc độ truy xuất và tăng độ trễ

 Ngoài ra, bảo mật là vấn đề rất lớn Nhà cung cấp dịch vụ cam kết bằng hợp đồng, nhưng đối với một số khách hàng bảo mật chỉ có thể đạt được mức độ cần thiết khi họ toàn quyền kiểm soát dữ liệu (cả về phần cứng và phần mềm – vật lý và logic) và áp dụng các chính sách phù hợp

Trong đó, bảo mật vẫn là mối quan tâm lớn nhất, theo khảo sát của

InformationWeek:

Hình 1.2 Mối quan tâm đối với cloud computing

1.4 Các nền tảng cloud computing phổ biến

Như đã nói ở trên, Cloud computing đã và đang trở thành một xu hướng nổi bật trong ngành công nghệ phần mềm và nhận được sự hậu thuẫn mạnh mẽ từ

những công ty phần mềm hàng đầu Tuy nhiên, trong khuôn khổ của đề tài này, em chỉ đề cập đến 3 nền tảng được sử dụng phổ biến nhất (đúng hơn là có khả năng phát triển lớn nhất trong tương lai)

Trang 15

1.4.1 Amazom EC2

Website: http://aws.amazon.com/ec2/

EC2 là từ viết tắt của Elastic Cloud Computing Đây là dịch vụ cung cấp khả năng tính toán tuỳ biến trên cloud Để lưu trữ dữ liệu, Amazon cung cấp song song dịch vụ S3 (Simple Storage Service)

Cơ sở của EC2 là các máy ảo mà Amazon gọi là AMI – Amazon Machine Images, chứa một hệ điều hành, các ứng dụng và dữ liệu Khách hàng có thể quản lýbao nhiêu instance của mỗi AMI chạy vào mỗi thời điểm Amazon cung cấp 3 lựa chọn cho việc tạo các AMI này: Standard, High-Memory và High-CPU, với kích cỡ

từ 1 nhân ảo chạy trên nền 32-bit, cho đến 8 nhân ảo chạy trên nền 64bit Cụ thể:

Standard: dành cho các ứng dụng tổng quát

High-Memory Instances: Dành cho các ứng dụng yêu cầu nhiều bộ nhớ,

như các Web Server

High-CPU: dành cho các ứng dụng cần nhiều tài nguyên CPU hơn RAM,

thích hợp với các ứng dụng yêu cầu tính toán nặng

EC2 hỗ trợ các ngôn ngữ: Java, PHP, Ruby, Các ngôn ngữ trên nền tảng

Google App Engine hỗ trợ 2 ngôn ngữ chính:

 Java, và các ngôn ngữ giống như Java (Jruby, Groovy, Scala…) chạy trên môi trường Java 6

 Python 2.5.2 (phiên bản 2.6 chưa được hỗ trợ, phiên bản 3 đang được cân nhắc), chạy trên nền Python Runtime Environment Ứng dụng phải được viếthoàn toàn trên nền Python, các extensions viết trên nền C không được hỗ trợ

Trang 16

Google App Engine cũng cung cấp một môi trường Sandbox (tương tự như các máy ảo) và một hệ cơ sở dữ liệu Datastore Datastore không phải là CSDL quan

hệ truyền thống mà thuộc dạng “schemeless”, với nền tảng lưu trữ là các thực thể - entity và thuộc tính – property Trong báo cáo này, chúng ta sẽ thấy Datastore tương

tự như Table service của Windows Azure Storage Phiên bản App Engine Business dành cho khách hàng lớn sẽ hỗ trợ BigTable, một hệ quản trị cơ sở riêng của

Trang 17

CHƯƠNG 2 WINDOWS AZURE PLATFORM

Windows Azue Platform là nền tảng phục vụ cho điện toán đám mây của Microsoft Đây là nền tảng đầu cuối (end-to-end) cho việc phát triển và triển khai các dịch vụ đám mây Mỗi thành phần của Windows Azure Platform được thiết kế phục vụ một chức năng cụ thể đối với các dịch vụ cloud Trong phần này sẽ trình bày về kiến trúc mức cao của nền tảng Windows Azure

2.1 Kiến trúc Windows Azure Platform

Windows Azure Platform bao gồm 3 thành phần chính: Windows Azure, SQL Azure và App Fabric

2.1.1 Hệ điều hành Windows Azure

Windows Azure là hệ điều hành nằm bên dưới, chịu trách nhiệm chạy các ứng dụng cloud trên Windows Azure platform Microsoft đặt tên Windows Azure là

hệ điều hành đám mây vì nó cung cấp tất cả các tính năng cần thiết để chạy các dịch

vụ nền cloud Nó cung cấp môi trường runtime, bao gồm một máy chủ web, các dịch vụ tính toán, lưu trữ đơn giản, hàng đợi (queues), các dịch vụ quản lý và các bộcân bằng tải (load-balancer) Windows Azure cũng cung cấp cho các nhà phát triển một fabric cục bộ cho việc xây dựng và kiểm tra các service trước khi chúng được triển khai tới Windows Azure trên cloud 3 dịch vụ chủ chốt của Windows Azure bao gồm:

Compute:

Dịch vụ tính toán cung cấp khả năng hosting các dịch vụ trên nền tảng

Windows Server 2008 64-bit với hỗ trợ Hyper-V Nền tảng này được ảo hóa

và được thiết kế để mở rộng động (dynamically scalable) theo yêu cầu Nền tảng này chạy trên Internet Information Server (IIS) 7 cho các ứng dụng WebASP.NET

Storage:

Trang 18

Có 3 kiểu lưu trữ được hỗ trợ trong Windows Azure: table, blob và queue Các kiểu lưu trữ này hỗ trợ truy cập trực tiếp dựa trên các API của REST Windows Azure table không phải là kiểu bảng cơ sở dữ liệu quan hệ truyền thống như bảng trong SQL Server Thay vào đó, chúng cung cấp khả năng lưu trữ dữ liệu có kiến trúc, với mô hình dữ liệu độc lập, thường được gọi là

mô hình thực thể entity Bảng được thiết kế để lưu trữ hàng terabyte dữ liệu

có độ sẵn sang cao, ví dụ như thông tin người dùng trên một site thương mại lớn

Management:

Management services cung cấp cơ sở hạ tầng tự động và khả năng quản lý đối với các dịch vụ Windows Azure trên cloud Các khả năng này bao gồm việc tự động quản lý các máy ảo và các dịch vụ đã triển khai, cấu hình

switch, bộ định tuyến truy cập (access router) và các bộ cân bằng tải balancer) để duy trì trạng thái của dịch vụ mà người dùng đã định nghĩa

(load-2.1.2 SQL Azure

SQL Azure là một cơ sở dữ liệu quan hệ trên nền tảng Windows Azure Nó cung cấp các khả năng cơ bản của hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) như một dịch vụ, và nó được xây dựng trên nền tảng của SQL Server Trong phiên bản hiện tại, các nhà phát triển có thể truy cập đến SQL Server dử dụng tabular data stream (TDS), là cơ cấu chuyển để truy cập các instance SQL Server on-premises thong qua các SQL client SQL client có thể là bất kì client nào, như ADO.NET, LINQ, ODBC, JDBC, ADO.NET Entity Framework, hay ADO.NET Data Services

Hình 2.1 Cấu trúc của hệ quản trị cơ sở dữ liệu SQL Azure

Trang 19

SQL Azure cung cấp các dịch vụ sau:

Lưu trữ dữ liệu quan hệ: Engine lưu trữ dữ liệu quan hệ là xương sống của

SQL Azure, dựa trên nền tảng SQL Server

Đồng bộ dữ liệu: Data Sync cung cấp sự đồng bộ và tập hợp của dữ liệu

từ/đến SQL Azure tới các thiết bị của doanh nghiệp, trạm làm việc, đối tác

và khách hàng sử dụng Microsoft Sync Framework

Quản lý: Thành phần quản lý cung cấp khả năng cung cấp, đo đạc, tính toán,

cân bằng tải, vượt qua lỗi (failover) và bảo mật cho SQL Azure Dựa trên SLA, mỗi CSDL được lặp lại với trên 1 máy chủ chính và 2 máy chủ phụ Trong trường hợp xảy ra lỗi, việc chuyển đổi giữa các máy chủ chính và phụ được thực hiện tự động mà không xảy ra gián đoạn

Truy cập dữ liệu: thành phần truy cập dữ liệu định nghĩa các phương thức

khác nhau của việc truy cập dữ liệu SQL Azure thông qua lập trình

2.1.3 .NET Services – AppFabric

Các dịch vụ NET là engine tầng giữa (middleware engine) của nền tảng Windows Azure cung cấp dịch vụ điều khiển truy cập (access control service) và service bus

AppFabric là một kiến trúc hướng dịch vụ (service-oriented architecture), giúp tạo các điều kiển truy cập liên hợp và phân phối message giữa các ứng dụng cloud và on-premises Có thể coi AppFabric là xương sống tích hợp của nền tảng Windows Azure, vì nó cung cấp khả năng kết nối và truyền tải CSDL giữa các ứng dụng phân tán Nó cũng cung cấp khả năng tích hợp các ứng dụng và tiến trình kinhdoanh không chỉ giữa các dịch vụ cloud mà còn giữa các dịch vụ cloud và các ứng dụng on-premises

Trong bản cập nhật 4/2009, Microsoft đã tách rời AppFabric ra khỏi NET Services Trong phần còn lại của báo cáo này sẽ chỉ tập trung nói về AppFabric 2 dịch vụ cơ bản của AppFabric là:

Access Control: Access Control cung cấp việc điều khiển truy cập dựa trên

các luật và claims cho các ứng dụng phân tán Có thể định nghĩa các luật dựa

Trang 20

trên claims và vai trò trên cloud để truy cập các dịch vụ cloud cũng như premises.

on- Service Bus: Service Bus là một kiến trúc ESB – Enterprise Service Bus ở

phạm vi Internet, nhằm đảm bảo việc trao đổi message giữa các client và service

2.2 Windows Azure

Windows Azure là một hệ điều hành quản lý cả các server và các dịch vụ Cóthể coi Windows Azure là một hệ điều hành ảo chứa nhiều máy ảo chạy trên phần cứng có khả năng co giãn rất lớn nhưng đã được ảo hóa Sự ảo hóa giữa các dịch vụ nhân của Windows Azure và phần cứng được quản lý bởi Fabric Controller Fabric controller quản lý quá trình tự động hóa đầu cuối (end-to-end) của các dịch vụ Windows Azure, từ việc cung cấp phần cứng cho đến việc duy trì sự sẵn sàng của dịch vụ

Hình 2.2 Vai trò của Fabric Controller trong Windows Azure

Windows Azure được thiết kế để có độ sẵn sàng rất cao, cũng như khả năng

co giãn rất lớn Trong hình trên, Fabric Controller đọc thông tin cấu hình của dịch

vụ do dịch vụ cloud cung cấp và tương ứng tạo các máy chủ ảo cần thiết để triển khai dịch vụ Sự triển khai các dịch vụ cloud và sinh các instance máy chủ ảo hoàn

Trang 21

toàn trong suốt đối với nhà phát triển Nhà phát triển chỉ thấy trạng thái của việc triển khai dịch vụ cloud trên Windows Azure developer portal Một khi dịch dụ cloud đã được triển khai, nó được quản lý hoàn toàn bởi Windows Azure Nhà phát triển chỉ cần xác định trạng thái cuối cùng của dịch vụ cloud trong file cấu hình của

nó, Windows Azure sẽ cung cấp phần cứng và phần mềm cần thiết để thực hiện điều đó Nói cách khác, các công việc triển khai khả năng co giãn, độ sẵn sàng, cập nhật và cấu hình phần cứng được quản lý bởi Windows Azure

Windows Azure bao gồm 3 dịch vụ chính: Tính toán - compute, lưu trữ - storage và quản lý - management

Dịch vụ tính toán cung cấp hosting cho các ứng dụng web trên nền IIS và cáctiến trình NET chạy nền Các ứng dụng web được gọi là web role, và các tiến trình chạy nền được gọi là Worker role Một dịch vụ cloud trên Windows Azure bao gồmmột Web role và/hoặc một Woker role cùng với các định nghĩa của dịch vụ

Dịch vụ lưu trữ trên Windows Azure hỗ trợ 3 kiểu dịch vụ: blob, queue và table, các kiểu lưu trữ này hỗ trợ truy cập cục bộ hay trực tiếp thông qua REST API

Hình 2.3 Kiến trúc tổng thể hệ điều hành Windows Azure

Trang 22

Có thể thấy các dịch vụ tính toán và lưu trữ là các dịch vụ độc lập với nhau trong Windows Azure Web và Woker role chạy trong Compute Service, và các dịch vụ blob, queue, table chạy trên Storage service Fabric Controller trừu tượng hóa các thành phần của cơ sở hạ tầng phía dưới như máy chủ ảo, các thành phần mạng, DNS và các bộ cân bằng tải đối với Compute và Storage.

2.2.1 Compute Service

Compute là một trong những dịch vụ cốt lõi của Windows Azure Nó cũng được gọi là Hosted Service trong thuật ngữ của Windows Azure portal Compute Service cung cấp khả năng phát triển và triển khai các dịch vụ cloud Nhà phát cũng

có thể xây dựng các ứng dụng native truyền thống Mục đích của Compute Service

là cung cấp khả năng chạy các ứng dụng phục vụ cùng lúc rất nhiều người dùng Điều này không thể đạt được nếu chỉ dùng các máy tính to hơn – co giãn theo kiểu

scale up Thay vào đó, Compute Service sử dụng cách tiếp cận scale out, tức là sử

dụng nhiều máy chủ chạy đồng thời với nhau

Một ứng dụng chạy trên Compute Service gồm có 2 thành phần cơ bản: Webrole và worker role

Web role:

Một web role là một website hay một web service có thể chạy trên môi trường IIS Thông thường, nó sẽ là một ứng dụng web trên ASP.NET hoặc là một dịch vụ Windows Communication Foundation (WCF) với các endpoint HTTP và/hoặc HTTPS

Như đã nói ở trên, khả năng co giãn của web role được thực hiện bằng việc chạy nhiều instance Bộ cân bằng tải của Windows Azure không cho phép tạo một mối quan hệ nào với một instance web role cụ thể, vì vậy, không có cách nào đảm bảo các request từ cùng một người dùng sẽ được gửi đến cùng một web role Theo

đó, các web role phải không giữ trạng thái – stateless Tất cả các thông tin gắn với người dùng phải được lưu vào Windows Azure storage hoặc trả lại người dùng

Woker role:

Trang 23

Worker role cung cấp khả năng chạy một tiến trình nền liên tục trên cloud Worker role có thể mở các endpoint, cũng như gọi các giao tiếp bên ngoài Về nguyên tắc, Woker role giống như một web role, trừ việc nó không tương tác với IIS và cũng không có giao diện Một Woker role có thể giao tiếp với các dịch vụ queue, blob, và table của Windows Azure Một instance của Woker role chạy độc lập với instance của Web role, mặc dù chúng có thể là các phần khác nhau của cùngmột dịch vụ Một Woker role chạy trên máy ảo riêng biệt với web role trong cùng một service Trong một số dịch vụ Windows Azure, có thể cần giao tiếp giữa một Web role và một Woker role.

Fabric Controller:

Tất cả các ứng dụng Windows Azure và dữ liệu Windows Azure Storage được lưu trữ trên các trung tâm dữ liệu – data center của Microsoft Trong các trungtâm dữ liệu này, tập hợp các máy chủ dành riêng cho Microsoft được tổ chức thành

một fabric Windows Azure Fabric bao gồm một nhóm lớn máy tính, tất cả được

quản lý bởi phần mềm fabric controller Fabric controller giao tiếp với một fabric agent trên mỗi máy tính, và vì vậy kiểm soát tất cả các ứng dụng Windows Azure

trong fabric Fabric controller giám sát tất cả các ứng dụng đang chạy, quản lý các

hệ điều hành, chịu trách nhiệm các công việc như cập nhật bản vá lỗi cho Windows Server chạy các máy ảo Windows Azure Nó cũng quyết định nơi các ứng dụng mớichạy, chọn các server vật lý để tối ưu hoá việc sử dụng phần cứng

2.2.2 Storage Bus

Windows Azure Storage service cho phép người dùng lưu trữ dữ liệu của ứng dụng trên cloud và truy cập đến nó từ bất kì đâu, bất kì lúc nào Kiến trúc mở của dịch vụ lưu trữ cho phép nhà phát triển thiết kế ứng dụng và dịch vụ để lưu trữ

và lấy dữ liệu sử dụng REST APIs Mỗi kiểu lưu trữ trong dịch vụ Storage có một API lập trình REST độc lập

Trang 24

Hình 2.4 Kiến trúc của Windows Azure Storage

Như hình trên, có thể thấy các kiểu lưu trữ đều có phạm vi ở cấp độ tài

khoản điều này có nghĩa khi người dùng mở một tài khoản lưu trữ, họ có thể truy cập đến tất cả các dịch vụ lưu trữ của Windows Azure

Trang 25

Hình 2.5 Kiến trúc của dịch vụ Blob

Lược đồ URI để truy xuất dịch vụ Blob thông qua tài khoản lưu trữ là

mà không cần xác thực, và kiểu private, chỉ chủ của tài khoản mới có quyền truy cập Blob là kiểu lưu trữ duy nhất hỗ trợ truy cập theo chế độ public và private, kiểu

dữ liệu queue và table chỉ hỗ trợ kiểu truy cập private

Trang 26

Có thể truy cập đến một container bằng URI dưới đây:

<http|https>://<account name>.blob.core.windows.net/<container>

Trong đó <container> là tên của container cần truy cập

Blobs:

Blobs, các thực thể thực sự của dịch vụ Blob, được lưu trữ trong các

container Tên một blob phải là duy nhất trong phạm vi container chứa nó Một Blob có thể chứa siêu dữ liệu dưới dạng các cặp tên – giá trị Access Control List chỉ được thiết lập ở cấp độ container, chính vì vậy, một container được set là public thì tất cả các blob trong nó đều là public Có thể truy cập một blob sử dụng URI dưới đây:

<http|https>://<accountname>.blob.core.windows.net/<container>/<blob>

Trong đó <blob> là tên duy nhất của blob trong container Ví dụ, có thể tạo một blob có tên 201004301212-logs trong một container tên Logs, có thể truy cập đến nó thông qua URI sau:

<http|https>://delta76.blob.core.windows.net/logs/201004301212-logs.txt

Blog API cung cấp khả năng lọc dựa trên dấu ngăn cách cho phép người dùng nhận về chỉ các file trong cấu trúc ảo cụ thể Ví dụ, có thể chỉ nhận các file logtrong ngày 30/4 bằng cách chỉ rõ một dấu phân cách (delimiter) khi truy vấn các blob

Các kiểu blob:

Page blob:

Page Blob được giới thiệu trong phiên bản ngày 19/09/2009 của API cho dịch vụ lưu trữ Chúng được tối ưu hóa cho việc truy cập đọc/ghi tuần tự và cung cấp khả năng copy một chuỗi byte thành một blob Một page được đại diện bằng offset bắt đầu của nó tính từ vị trí bắt đầu của blob Ghi vào các page blob sẽ ngay lập tức có hiệu lực đối với dịch vụ blob Mỗi page có kích thước tối đa lên đến 1TB,

Trang 27

và page blob tối ưu hóa cho các ứng dụng yêu cầu truy xuất đọc/ghi nhanh tới các

dữ liệu dạng nhị phân như ảnh, video, tài liệu,… Windows Azure Storage Client API cung cấp 2 thao tác trên page block: Put Page và Get Page

Block Blob.

Như đã nói ở trên, nếu một file có kích thước lớn hơn 64MB, nó không thể upload lên dịch vụ Blob sử dụng hàm PUT Blob Phải chia blob này ra thành nhiều blocks liên tiếp nhau và sau đó upload nó dưới dạng các mảnh dữ liệu nhỏ hơn – blosck Mỗi Block có thể có kích thước tối đa 4MB Một khi tất cả các block đã được upload lên, chúng có thể được chuyển thành blob Cần chú rằng không có URInào để truy cập các block trong một blob, sau khi các block đã được chuyển thành blob thì chỉ có thể nhận một blob hoàn chỉnh Nói cách khác, chỉ có thể thực hiện thao tác GET ở cấp độ blob

Hình 2.6 Minh hoạ về việc upload và commit các Block

Các thao tác REST đối với block

Mỗi block được định danh bằng một Block ID, kích thước tối đa 64 byte, và có phạm vi trong tên blob Vì vậy các blob khác nhau có thể có các block với cùng ID Block là không thể thay đổi – immutable Mỗi block có kích thước tối đa 4MB, và

Trang 28

các block trong cùng một 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 sau:

 PUT Block: Upload một block cho một blob

 PUT blocklist: commit một blob bằng cách xác định danh sách các block ID làm nên blob đó

 GET blocklist: lấy danh sách của block đã được commit trước đó sử dụng thao tác PUT blocklist

Cần chú ý rằng Block ID có thể coi như một thành phần siêu dữ liệu – metadata,

có thể dùng để theo dõi mỗi block

Queues Services

Dịch vụ Queue của Windows Azure là giải pháp truyền tin ở phạm vi

Internet cho việc giao tiếp giữa các dịch vụ Mặc dù dịch vụ này được gọi là queue – hàng đợi, nhưng các messages không được đảm bảo sẽ tuân theo mẫu hình “vào trước ra trước” – First In First Out Mục tiêu thiết kế của dịch vụ Queue là cung cấpmột hệ thống giao tiếp message không đồng bộ với độ co giãn và độ sẵn sàng cao,

có thể truy cập từ bất kì nơi nào, bất kì lúc nào Dịch vụ Queue cung cấp một REST API cho các ứng dụng để sử dụng với cơ sở hạ tầng lớn

Endpoint tài khoản của dịch vụ Queue là

<account name>.queue.core.windows.net,

trong đó <acccount name> là tên duy nhất tương ứng với tên tài khoản

Kiến trúc của dịch vụ Queue:

Kiến trúc của Dịch vụ Queue bao gồm 3 mức: account, queue và message:

Trang 29

Hình 2.7 Kiến trúc dịch vụ Queue

Queues

Một hàng đợi – queue là một đích đến logic để gửi các messages Số lượng các hàng đợi trong một account của dịch vụ Queue là không giớ hạn Một queue lưu trữ các message và cho phép các ứng dụng có thể truy cập đến chúng thông qua REST API Queue có thể chứ các siêu dữ liệu dưới dạng các cặp tên-giá trị với kích thước tối đa 8KB cho mỗi queue Dịch vụ Queue chỉ hỗ trợ truy cập theo chế độ private Điều này có nghĩa là cần có quyền thích hợp mới truy cập được

Có thể truy cập một queue bằng URI sau:

<http|https>://<account name>.queue.core.windows.net/<queue name>

Trong đó <queue name> là tên của queue cần truy cập

Messages:

Các message được lưu trữ trong các queue, không có giới hạn về số lượng các message được lưu trữ trong 1 queue, nhưng kích thước của mỗi message riêng biệt không được vượt quá 8KB Để giao tiếp các message là các đối tượng lớn, có thể

Trang 30

đặt đối tượng đó tỏng một blob và gửi URI của đối tượng như một message đến queue.

Khi gửi một message, nó có thể ở định dạng text hay binary, nhưng khi nhận một message, nó luôn ở định dạng mã hóa base64 Một MessageID kiểu GUID –

globally unique idenfier sẽ được dịch vụ queue gán để xác định duy nhất một

message trong queue

Có thể truy cập đến các message trong một queue sử dụng URI sau đây:

<http|https>://<account name>.queue.core.windows.net/<queue name>/messages

Trong đó <queue name> là tên duy nhất của queue trong phạm vi tài khoản

messages là một chuỗi hằng đại diện cho tất cả các message trong queue

Lợi ích của việc sử dụng Queue:

Chúng ta có thể xem xét qua một ví dụ như sau: Một ứng dụng gồm có các server frondend, chịu trách nhiệm hiển thị giao diện, và các server backend, chịu trách nhiệm xử lý các request cho người dùng

Khả năng co giãn: Ứng dụng có thể co giãn dễ dàng hơn dựa vào traffic cần

thiết:

Tách rời vai trò Frond-End và Back-End: Bằng cách sử dụng queue, các

phần của một ứng dụng được tách rời với nhau, cho phép tăng đang kể sự mềm dẻo và dễ mở rộng khi xây dựng ứng dụng Các công nghệ và ngôn ngữlập trình khác nhau có thể dùng để viết các thành phần khác nhau với độ mềm dẻo tối đa Xa hơn nữa, thay đổi trong một thành phần sẽ trong suốt vớiphần còn lại của hệ thống

Traffic Bursts: Các hàng đợi cung cấp bộ đệm để hấp thụ các bùng nổ trao

đổi và giảm ảnh hưởng khi một thành phần riêng rẽ fail, giảm bớt ảnh hưởng khi có một thành phần riêng lẻ fail Điều này cho phép ứng dụng chịu lỗi nhưng không mất đi tính sẵn sàng

Giao diện REST của Queue:

Trang 31

Tất cả các truy cập đến Windows Azure Queue được thực hiện thông qua giao diện REST, trong đó cả HTTP và HTTPS đều được hỗ trợ:

Các lệnh HTTP/REST ở cấp độ tài khoản:

 List Queues – Liệt kê danh sách tất cả các queue trong tài khoản đang xétCác lệnh HTTP/REST ở cấp độ queue:

 Create Queue: Tạo một queue trong tài khoản hiện tại

 Delete Queue: Xóa (vĩnh viễn) một queue cụ thể và nội dung của nó

 Set Queue Metadata – Thiết lập/cập nhật các siêu dữ liệu do người dùng địnhnghĩa của queue Lệnh này sẽ ghi đè tất cả các siêu dữ liệu hiện có với các siêu dữ liệu mới

 Get Queue Metadata – Lấy các siêu dữ liệu do người dùng định nghĩa của queue cũng như ước lượng số message trong một queue cụ thể

Các thao tác trên đây có thể thực hiện với URI sau:

http://<account>.queue.core.windows.net/<QueueName>

Các lệnh HTTP/REST hỗ trợ cho việc xây dựng các thao tác ở cấp độ message:

 PutMessage: thêm một message mới vào cuối hàng đợi)

 GetMesssage: nhận N messages từ đầu hàng đợi và làm cho các message nàytrở nên “vô hình” với các ứng dụng khác trong khoảng thời gian T

 DeleteMessage: Xóa message kết hợp với PopReceipt đã được trả về từ lần gọi GetMessage trước đó

 PeekMessage: Nhận N message từ phía đầu của queue nhưng không làm các message này trở nên “vô hình” Thao tác này sẽ trả về một MessageID cho mỗi message

 ClearQueue: Xóa tất cả các message trong queue

Các thao tác ở cấp độ message được thực hiện thông qua URI sau:

http://<account>.queue.core.windows.net/<QueueName>/messages Table Service

Bảng trong dịch vụ lưu trữ của Windows Azure không phải là bảng lưu trữ

dữ liệu dưới dạng các entity – thực thể Một bảng có thể chứa hàng tỷ entity và hàngterabytes dữ liệu Đây là giải pháp lý tưởng cho việc lưu trữ các dữ liệu nhỏ với số

Trang 32

lượng lớn, vì dụ thông tin về người dùng qua các session của một website Dữ liệu được lưu trữ trong các bảng dưới dạng tập hợp các entity Số lượng entity trong mộtbảng là không hạn chế, số bảng của một tài khoản cũng là không hạn chế Có thể truy cập vào một bảng thông qua REST API và các thư viện NET phía client như ADO.NET Data Services và LINQ Dịch vụ table chỉ hỗ trợ truy cập riêng tư.

Trang 33

Các thực thể được lưu trữ trong các bảng, chúng tương tự như các hàng – rows trong bảng cơ sở dữ liệu quan hệ Số lượng các entity có thể lưu trữ trong một bảng là không hạn chế Có thể lấy tất cả các entity trong một bảng với URI sau:

<http|https>://<account name>.table.core.windows.net/<table name>()

Trong đó <table name> là tên bảng cần truy cập, và dấu ngoặc đơn () chỉ thị dịch vụTable biết lấy các entity trong bảng đó

Property

Một thực thể chứa tập hợp các cặp tên- giá trị được gọi là thuộc tính

(properties) Các thuộc tính tương tự như các cột ở trong bảng cơ sở dữ liệu quan

hệ Một thực thể phải có 3 thuộc tính bắt buộc sau: PartitionKey, RowKey và

Timestamp

Hình 2.9 Minh hoạ về việc phân vùng Table theo PartitionKey

Dịch vụ Table tổ chức dữ liệu dưới dạng một node dữ lưu dựa trên giá trị củathuộc tính PartitionKey của thực thể Các thực thể với cùng PartitionKey được lưu trữ trên cùng một node Một phân vùng – partition là tập hợp các thực thể có cùng PartitionKey Một Rowkey xác định duy nhất một thực thể trong phạm vi một phân vùng Các thao tác trên bảng có thể thực hiện thông qua các API dưới đây:

Parti tion 1 Parti tion 2

Trang 34

Operation ADO.NET Data Services HTT P

Entity

Trả về tất cả tất cả các thực thể trong 1 bảng xác định (hoặc một tập con nếu có

PUT Entity

Cập nhật các giá trị thuộc tính trong một thực thể Một thao tác PUT thay thế toàn bộ thực thể và có thể dùng để loại bỏ các thuộc tính

Create new

entity AddObject & SaveChanges() POST

Table Tạo một bảng mới trong tài

khoản lưu trữ

Entity Thêm một thực thể mới vào

bảng

Delete entity DeleteObject & SaveChanges() DELETE

Table Xóa một bảng trong một tài

khoản lưu trữEntity Xóa một thực thể khỏi một

bảng

Entity group

transaction

SaveChanges(SaveChangesOptio

Hỗ trợ việc giao dịch một nhóm entity được hỗ trợ qua các thao tác dạng batchqua các thực thể có cùng partition key trong một bảng đơn

Bảng 2.1 Các thao tác trên Bảng bằng ADO.NET Data Service và HTTP Verb.

2.3 SQL Azure

2.3.1 Kiến trúc SQL Azure

SQL Azure là hệ quản trị CSDL với khả năng co giãn và độ sẵn sàng cao trên cloud Cũng như tất cả các dịch vụ trên Windows Azure khác, SQL Azure chạy

Ngày đăng: 19/05/2015, 22:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Cloud computing – Wikipedia, http://en.wikipedia.org/wiki/Cloud_computing Link
[2] David Chappell - Introducing the Windows Azure Platform . 2009, http://go.microsoft.com/fwlink/?LinkId=158011 Link
[3] David Chappell - Introducing Windows Azure. 2009, http://go.microsoft.com/?linkid=9682907 Link
[4] Jai Haridas, Niranjan Nilakantan, Brad Calder - Windows Azure Table – Programming Table Storage . 2009, http://go.microsoft.com/fwlink/?LinkId=153401 Link
[5] Brad Calder, Tony Wang, Shane Mainali, Jason Wu -Windows Azure Blob – Programming Blob Storage . 2009, http://go.microsoft.com/fwlink/?LinkId=153400 Link
[6] Aaron Skonnard,Keith Brown - An Introduction to Windows Azure platform AppFabric for Developers . 2010,http://download.microsoft.com/download/E/B/5/EB512F2E-7771-40A3-8025-0DC6D9429951/An%20Introduction%20to%20Windows%20Azure%20platform%20AppFabric%20for%20Developers.docx Link

HÌNH ẢNH LIÊN QUAN

Hình 2.2. Vai trò của Fabric Controller trong Windows Azure - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.2. Vai trò của Fabric Controller trong Windows Azure (Trang 20)
Hình 2.4. Kiến trúc của Windows Azure Storage - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.4. Kiến trúc của Windows Azure Storage (Trang 24)
Hình 2.6. Minh hoạ về việc upload và commit các Block - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.6. Minh hoạ về việc upload và commit các Block (Trang 27)
Hình 2.10.  Kiến trúc mức cao của SQL Azure - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.10. Kiến trúc mức cao của SQL Azure (Trang 35)
Hình 2.11. Minh hoạ hoạt động của SQL Azure Fabric khi xảy ra lỗi - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.11. Minh hoạ hoạt động của SQL Azure Fabric khi xảy ra lỗi (Trang 36)
Hình 2.12. Kiến trúc Code-near connectivity - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.12. Kiến trúc Code-near connectivity (Trang 39)
Hình 2.15. Mô hình Enterprise Service Bus - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.15. Mô hình Enterprise Service Bus (Trang 43)
Hình 2.16. Kiến trúc Relay Service - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.16. Kiến trúc Relay Service (Trang 44)
Hình 2.17: Kiến trúc Service bus - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.17 Kiến trúc Service bus (Trang 45)
Hình 2.19 Lược đồ domain name của Service Bus - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.19 Lược đồ domain name của Service Bus (Trang 49)
Hình 2.22. Khởi tạo kết nối trực tiếp giữa client và Service - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 2.22. Khởi tạo kết nối trực tiếp giữa client và Service (Trang 54)
Hình 3.4 Các template trong Visual Studio sau khi cài Windows Azure SDK - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 3.4 Các template trong Visual Studio sau khi cài Windows Azure SDK (Trang 63)
Hình 3.5 Development Fabric UI - TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE
Hình 3.5 Development Fabric UI (Trang 64)

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