Sử dụng máy tính trong đám mây có thể làm cho rất nhiều ý nghĩa. Thay vì mua và bảo
trì máy móc của riêng bạn, tại sao không khai thác các mẫu Anh của Internet có thể truy
cập vào máy chủ cung cấp ngày hôm nay? Đối với một số ứng dụng, mã và dữ liệu của
họ cả hai có thể sống trong mây, nơi mà người khác quản lý và duy trì các hệ thống mà
họ sử dụng. Ngoài ra, ứng dụng chạy bên trong một tổ chức, trên cơ sở ứng dụng có thể
lưu trữ dữ liệu trong đám mây hoặc dựa vào các dịch vụ cơ sở hạ tầng khác mây. Ứng
dụng chạy trên máy tính để bàn và các thiết bị di động có thể sử dụng dịch vụ trong các
đám mây để đồng bộ hóa thông tin trên nhiều hệ thống, hoặc theo những cách khác. Tuy
nhiên nó được thực hiện, khai thác của đám mây khả năng có thể cải thiện thế giới của
chúng tôi.
23 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2500 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Azure, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ặc cả hai, một số loại nền ứng dụng được yêu cầu. Được xem rộng
rãi, một nền tảng ứng dụng có thể được dùng như bất cứ điều gì mà cung cấp cho nhà
phát triển có thể truy cập các dịch vụ cho việc tạo các ứng dụng. Trong các địa phương,
trên thế giới Windows mặt bằng, ví dụ, điều này bao gồm các công nghệ như NET
Framework., SQL Server, và nhiều hơn nữa. Để cho phép các ứng dụng khai thác mây,
mây nền tảng ứng dụng cũng phải tồn tại. Và bởi vì có một số cách cho các ứng dụng sử
dụng dịch vụ đám mây, các loại khác nhau của các nền tảng đám mây là hữu ích trong
các tình huống khác nhau.
Nền tảng của Microsoft Windows Azure (ban đầu được biết đến như Azure Services
Platform) là một nhóm các công nghệ đám mây, từng cung cấp một tập hợp cụ thể của
dịch vụ cho các nhà phát triển ứng dụng. Như Hình 1 cho thấy, nền tảng Windows Azure
có thể được sử dụng cả hai bởi các ứng dụng đang chạy trong đám mây và bởi các ứng
dụng chạy trên hệ thống của địa phương.
Hình 1: Windows Azure nền tảng hỗ trợ các ứng dụng, dữ liệu, và cơ sở hạ tầng trong
đám mây.
- Windows Azure: Cung cấp một môi trường dựa trên Windows để chạy các ứng
dụng và lưu trữ dữ liệu trên các máy chủ trong Microsoft trung tâm dữ liệu.
4
- SQL Azure: Cung cấp các dịch vụ dữ liệu trong đám mây dựa trên SQL
Server.
- NET Dịch vụ:. Cung cấp dịch vụ phân phối cơ sở hạ tầng mây trên và các ứng
dụng của địa phương.
Mỗi thành phần của nền tảng Windows Azure có vai trò riêng của mình để chơi.
Tổng quan này mô tả cả ba thành viên của mình, trước tiên ở mức cao, sau đó chi
tiết hơn một chút. Trong khi không ai trong số đó là chưa cuối cùng chi tiết và
nhiều hơn nữa có thể thay đổi trước khi phát hành đầu tiên của họ-nó không phải
quá sớm để bắt đầu sự hiểu biết này đặt nền tảng mới của công nghệ.
WINDOWS AZURE
Ở mức cao, Windows Azure là đơn giản để hiểu: Đó là một nền tảng cho các ứng dụng
chạy Windows và lưu trữ dữ liệu của họ trong đám mây. Hình 2 cho thấy thành phần
chính của nó.
Hình 2: Windows Azure cung cấp Windows dựa trên tính toán và các dịch vụ lưu trữ cho
các ứng dụng đám mây.
Theo con số cho thấy, Windows Azure chạy trên một số lượng lớn máy móc, tất cả đều
nằm trong Microsoft trung tâm dữ liệu và truy cập qua Internet. Một Windows Azure vải
thường Knits này plethora của sức mạnh xử lý vào một toàn bộ thống nhất. Windows
Azure tính toán và các dịch vụ lưu trữ được xây dựng trên vải này.
Windows Azure tính toán các dịch vụ dựa, tất nhiên, trên Windows. Đối với sự sẵn có
ban đầu của dịch vụ này, một cộng đồng Công nghệ Preview (CTP) được công bố vào
mùa thu năm 2008, Microsoft Windows Azure cho phép chạy các ứng dụng chỉ được xây
dựng trên NET Framework.. Hôm nay, tuy nhiên, cũng hỗ trợ Windows Azure
unmanaged code, cho phép các nhà phát triển chạy các ứng dụng không được xây dựng
trên NET Framework.. Trong cả hai trường hợp, những ứng dụng được viết bằng ngôn
ngữ bình thường trong Windows-C #, Visual Basic, C + +, và những người khác, bằng
cách sử dụng Visual Studio 2008 hoặc công cụ khác phát triển. Các nhà phát triển có thể
tạo
Các ứng dụng web bằng cách sử dụng các công nghệ như ASP.NET và Windows
Communication Foundation (WCF), ứng dụng chạy như là quá trình nền độc lập, hoặc
các ứng dụng kết hợp cả hai.
Cả Windows Azure ứng dụng và trên cơ sở ứng dụng có thể truy cập các dịch vụ lưu trữ
Windows Azure, và cả hai làm theo cùng một cách: sử dụng một phương pháp tiếp cận
yên tĩnh. Việc lưu trữ dữ liệu nằm bên dưới không phải là Microsoft SQL Server, tuy
nhiên. Trong thực tế, Windows Azure hệ thống lưu trữ không phải là quan hệ, và ngôn
ngữ của nó không phải là truy vấn SQL. Bởi vì nó chủ yếu được thiết kế để hỗ trợ các
ứng dụng được xây dựng trên Windows Azure, nó cung cấp đơn giản, các loại khác có
thể mở rộng dung lượng lưu trữ. Theo đó, nó cho phép lưu trữ các đối tượng nhị phân lớn
(blobs), cung cấp hàng đợi để liên lạc giữa các thành phần của ứng dụng Windows Azure,
và thậm chí cung cấp một hình thức của các bảng với một ngôn ngữ truy vấn đơn giản.
(Đối với các ứng dụng Windows Azure mà cần phải quan hệ truyền thống lưu trữ, tuy
nhiên, cung cấp cho nền tảng Windows Azure Azure Cơ sở dữ liệu SQL, được mô tả
sau.)
Chạy các ứng dụng và lưu trữ dữ liệu của họ trong đám mây có thể có lợi ích rõ ràng.
Thay vì mua, lắp đặt và vận hành các hệ thống riêng của mình, ví dụ, một tổ chức có thể
dựa vào một đám mây nhà cung cấp để làm điều này cho họ. Ngoài ra, khách hàng chỉ
cần trả tiền cho các máy tính và lưu trữ chúng sử dụng, hơn là việc duy trì một lượng lớn
các máy chủ chỉ cho tải cao điểm. Và nếu họ viết một cách chính xác, các ứng dụng có
thể dễ dàng quy mô, lợi dụng các trung tâm dữ liệu khổng lồ mà các nhà cung cấp mây
cung cấp.
Chưa đạt được những lợi ích này đò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, như trong hình 2. Bằng cách thay đổi thông tin
trong tập tin này bằng tay hay lập trình, chủ sở hữu của một ứng dụng có thể kiểm soát
các khía cạnh khác nhau của hành vi của nó, như thiết lập số lượng các trường hợp mà
Windows Azure nên chạy. Windows Azure vải màn hình ứng dụng để duy trì này mong
muốn nhà nước.
Để cho khách hàng của mình tạo ra, cấu hình, và theo dõi các ứng dụng, Windows Azure
cung cấp một trình duyệt có thể truy cập cổng. Một khách hàng cung cấp một Windows
Live ID, sau đó chọn hay không để tạo một tài khoản lưu trữ cho các ứng dụng đang
chạy, một tài khoản lưu trữ để lưu trữ dữ liệu, hoặc cả hai. Là một ứng dụng miễn phí để
tính phí khách hàng của mình trong bất kỳ cách nào nó thích: đăng ký, mỗi lần lệ phí sử
dụng, hoặc bất cứ điều gì khác.
Windows Azure là một nền tảng chung mà có thể được sử dụng trong các kịch bản khác
nhau. Dưới đây là một vài ví dụ, tất cả đều dựa trên những gì phiên bản CTP cho phép:
- Một khởi tạo một trang web mới của Facebook tiếp theo, nói-có thể xây dựng các ứng
dụng của nó trên Windows Azure. Bởi vì nền tảng này hỗ trợ cả các dịch vụ web phải đối
mặt với nền và các quy trình, ứng dụng có thể cung cấp một giao diện người dùng tương
tác cũng như thực hiện công việc cho người sử dụng không đồng bộ. Thay vì dành thời
gian và tiền bạc đáng lo ngại về cơ sở hạ tầng, bắt đầu lên thay vì chỉ duy nhất có thể tập
trung vào việc tạo mã cung cấp giá trị cho người dùng và các nhà đầu tư của mình. Công
ty cũng có thể bắt đầu nhỏ, incurring chi phí thấp trong khi ứng dụng của nó chỉ có một
vài người sử dụng. Nếu đơn xin của họ bắt ngày và tăng việc sử dụng, Windows Azure
có thể mở rộng các ứng dụng khi cần thiết.
- An ISV tạo ra một phần mềm như một dịch vụ (SaaS) phiên bản của một ngày hiện tại
cơ sở ứng dụng Windows có thể chọn để xây dựng nó trên Windows Azure. Bởi vì
Windows Azure chủ yếu là cung cấp một môi trường Windows tiêu chuẩn, di chuyển
logic kinh doanh của ứng dụng nền tảng đám mây này sẽ không thường gây nhiều vấn đề.
Và một lần nữa, xây dựng trên một nền tảng hiện có cho phép các ISV tập trung vào logic
kinh doanh của mình, điều đó làm cho họ tiền chứ không phải là thời gian chi tiêu vào cơ
sở hạ tầng.
6
- Một doanh nghiệp tạo ra một ứng dụng cho các khách hàng có thể chọn để xây dựng
nó trên Windows Azure. Bởi vì Windows Azure hỗ trợ NET, nhà phát triển những kỹ
năng phải. Không khó để tìm, hoặc chúng là tốn kém. Chạy các ứng dụng trong trung tâm
dữ liệu của Microsoft giải phóng các doanh nghiệp từ trách nhiệm và kinh phí quản lý
máy chủ của riêng mình, biến chi phí vốn vào chi phí điều hành. Và đặc biệt là nếu trong
Đơn có đột biến trong việc sử dụng, có thể nó là một on-line hoa cửa hàng mà phải xử lý
vội vàng Ngày của mẹ, cho phép Microsoft duy trì các cơ sở lớn được yêu cầu cho máy
chủ này có thể làm cho tinh thần kinh tế.
Chạy các ứng dụng trong đám mây là một trong những khía cạnh quan trọng nhất của
điện toán đám mây. Với Windows Azure, Microsoft cung cấp một nền tảng để thực hiện
điều này, cùng với một cách thức để lưu trữ dữ liệu của ứng dụng. Theo tính toán lãi suất
trong đám mây tiếp tục phát triển, mong đợi để xem chi tiết các ứng dụng Windows này
tạo ra cho thế giới mới.
SQL AZURE
Một trong những cách quan trọng nhất của việc sử dụng Internet có thể truy cập máy chủ
là để xử lý dữ liệu. Mục tiêu của SQL Azure là địa chỉ khu vực này, cung cấp một tập các
dịch vụ dựa trên đám mây để lưu trữ và làm việc với nhiều loại thông tin. Trong khi
Microsoft cho biết SQL Azure cuối cùng sẽ bao gồm một loạt các dữ liệu theo định
hướng khả năng, bao gồm báo cáo, phân tích dữ liệu, và những người khác, các thành
phần Azure SQL đầu tiên xuất hiện là cơ sở dữ liệu SQL Azure và "Huron" Data Sync.
Hình 3 minh họa này.
Hình 3: SQL Azure cung cấp dữ liệu theo định hướng các cơ sở trong đám mây.
Cơ sở dữ liệu SQL Azure (trước đây gọi là Dịch vụ dữ liệu SQL) cung cấp một hệ thống
quản lý cơ sở dữ liệu (DBMS) trong đám mây. Công nghệ này cho phép trên mặt bằng và
các ứng dụng đám mây lưu trữ các loại quan hệ và các dữ liệu trên máy chủ của
Microsoft trong Microsoft trung tâm dữ liệu. Cũng như với các công nghệ đám mây khác,
một tổ chức chỉ trả cho những gì nó sử dụng, tăng và giảm sử dụng (và chi phí) như thay
đổi các nhu cầu của tổ chức. Sử dụng một cơ sở dữ liệu mây cũng cho phép chuyển đổi
những gì sẽ là chi phí vốn, như đầu tư vào đĩa và phần mềm DBMS, vào chi phí điều
hành.
7
Không giống như các dịch vụ lưu trữ Windows Azure, Azure Cơ sở dữ liệu SQL được
xây dựng trên Microsoft SQL Server. Tuy nhiên, trong bản gốc phát hành CTP 2008 của
mình, Cơ sở dữ liệu SQL Azure không phơi bày một cái nhìn truyền thống quan hệ của
dữ liệu. Dựa trên thông tin phản hồi của khách hàng, Microsoft đã quyết định thay đổi
này. Đi về phía trước, cơ sở dữ liệu SQL Azure sẽ hỗ trợ các dữ liệu quan hệ, SQL Server
cung cấp một môi trường trong đám mây, hoàn chỉnh với các chỉ số, xem, lưu trữ các thủ
tục, gây nên, và nhiều hơn nữa. Dữ liệu này có thể được truy cập bằng cách sử dụng
ADO.NET và Windows truy cập các dữ liệu giao diện. Trong thực tế, ứng dụng mà ngày
hôm nay truy cập SQL Server tại địa phương hầu như không thay đổi sẽ làm việc với dữ
liệu trong cơ sở dữ liệu SQL Azure. Khách hàng cũng có thể sử dụng trên cơ sở các phần
mềm như SQL Server Reporting Services để làm việc với đám mây này dựa trên thông
tin.
Trong khi các ứng dụng có thể sử dụng cơ sở dữ liệu SQL Azure nhiều như họ làm một
DBMS địa phương, các yêu cầu quản lý đã giảm đáng kể. Thay vì lo lắng về cơ học, như
giám sát việc sử dụng đĩa và phục vụ các tập tin log, một cơ sở dữ liệu SQL Azure khách
hàng có thể tập trung vào những gì quan trọng là: các dữ liệu. Microsoft xử lý các chi tiết
hoạt động. Và cũng giống như các thành phần khác của nền tảng Windows Azure, sử
dụng cơ sở dữ liệu SQL Azure là đơn giản: Chỉ cần đi đến một cổng Web và cung cấp
các thông tin cần thiết.
SQL thứ hai Azure thành phần công bố cho đến nay là "Huron" Data Sync. Được xây
dựng trên Sync Framework và Microsoft SQL Azure Cơ sở dữ liệu, công nghệ này đồng
bộ hóa dữ liệu quan hệ trên cơ sở khác nhau trên DBMSs. Các chủ sở hữu dữ liệu đó có
thể xác định những gì cần được đồng bộ, làm thế nào xung đột nên được xử lý, và nhiều
hơn nữa.
Ứng dụng có thể dựa vào SQL Azure trong những cách khác nhau. Dưới đây là một số ví
dụ:
Một Windows Azure ứng dụng có thể lưu trữ dữ liệu của nó trong cơ sở dữ liệu SQL
Azure. Trong khi Windows Azure cung cấp lưu trữ riêng của mình, các bảng không phải
là quan hệ giữa các tùy chọn nó cung cấp. Vì nhiều ứng dụng hiện có sử dụng lưu trữ và
phát triển quan hệ nhiều người biết làm thế nào để làm việc với nó, một số lượng đáng kể
các ứng dụng Windows Azure có khả năng dựa vào cơ sở dữ liệu SQL Azure để làm việc
với dữ liệu trong cách này quen thuộc. Để cải thiện hiệu suất, khách hàng có thể chỉ định
rằng một ứng dụng Windows Azure cụ thể phải chạy trong trung tâm dữ liệu giống nhau,
trong đó cơ sở dữ liệu SQL Azure cửa hàng là ứng dụng của thông tin.
Một ứng dụng trong một doanh nghiệp nhỏ hoặc một bộ phận của một tổ chức lớn, có
thể dựa vào cơ sở dữ liệu SQL Azure. Thay vì lưu trữ dữ liệu của nó trong một cơ sở dữ
liệu SQL Server hoặc Access chạy trên một máy tính dưới bàn làm việc của ai đó, ứng
dụng thay vì có thể tận dụng được độ tin cậy và tính sẵn sàng của các lưu trữ mây.
Giả sử một nhà sản xuất muốn làm cho thông tin sản phẩm sẵn có cho cả hai mạng lưới
đại lý của mình và trực tiếp cho khách hàng. Đưa dữ liệu này trong SQL Azure Cơ sở dữ
liệu sẽ cho phép nó để được truy cập bởi các ứng dụng đang chạy ở các đại lý và khách
hàng phải đối mặt với một ứng dụng web do các nhà sản xuất riêng của mình.
Một tổ chức với một cơ sở dữ liệu khách hàng rộng khắp vùng địa lý khác nhau có thể
sử dụng "Huron" Data Sync để giữ các bản sao đồng bộ. Có lẽ khai từng nhu cầu riêng
của mình bản sao của các dữ liệu cho hiệu suất hoặc để đảm bảo tính sẵn sàng hoặc vì
một lý do khác. Tự động đồng bộ hóa có thể thực hiện phân phối này cần thiết một cách
đáng kể ít đau.
Cho dù đó là để hỗ trợ một ứng dụng Windows Azure, làm cho dữ liệu dễ tiếp cận hơn,
giữ dữ liệu đồng bộ, hoặc lý do khác, các dịch vụ dữ liệu trong đám mây có thể được hấp
dẫn. Theo công nghệ mới trở thành
8
theo ô SQL Azure, các tổ chức sẽ có tùy chọn để sử dụng các đám mây cho nhiều dữ liệu
hơn và nhiều hơn nữa nhiệm vụ định hướng.
NET DỊCH VỤ.
Chạy các ứng dụng và lưu trữ dữ liệu trong đám mây là cả hai khía cạnh quan trọng của
điện toán đám mây. Họ đang xa toàn bộ câu chuyện, tuy nhiên. Một lựa chọn khác là
cung cấp các dịch vụ dựa trên mây cơ sở hạ tầng có thể được sử dụng bởi hoặc là trên cơ
sở ứng dụng hoặc các ứng dụng đám mây. Điền khoảng cách này là mục tiêu. NET
Services.
Ban đầu được biết đến như là BizTalk Dịch vụ, chức năng cung cấp bởi NET Dịch vụ địa
chỉ cơ sở hạ tầng thách thức phổ biến trong việc tạo ra các ứng dụng phân phối.. Hình 4
cho thấy các thành phần của nó.
Hình 4:. NET cung cấp các dịch vụ dựa trên cơ sở hạ tầng mây có thể được sử dụng bởi
cả đám mây và trên cơ sở ứng dụng.
Các thành phần của. NET Dịch vụ này là:
Access Control: Một cách tiếp cận ngày càng phổ biến để nhận dạng là có mỗi người
dùng cung cấp một ứng dụng với một bộ mã thông báo một số có chứa các tuyên bố. Các
ứng dụng sau đó có thể quyết định những người sử dụng này được cho phép để làm dựa
trên đơn xin này. Làm điều này một cách hiệu quả các công ty trên toàn liên bang đòi hỏi
danh tính, cho phép tạo ra tuyên bố trong một phạm vi nhận dạng được chấp nhận trong
một. Nó cũng có thể yêu cầu tuyên bố chuyển đổi, sửa đổi tuyên bố khi họ được thông
qua giữa các phạm vi tính. Các Access Control cung cấp các dịch vụ dựa trên một đám
mây thực hiện cả hai.
Dịch vụ xe buýt: Exposing dịch vụ của một ứng dụng trên Internet là khó hơn so với
hầu hết mọi người nghĩ. Mục tiêu của dịch vụ xe buýt là để làm cho đơn giản bằng cách
cho phép một ứng dụng dịch vụ Web phơi thiết bị đầu cuối, có thể được truy cập bởi các
ứng dụng khác, cho dù trên mặt bằng hoặc trong mây. Mỗi điểm cuối là được giao tiếp
xúc với một URI, mà khách hàng có thể sử dụng để xác định vị trí và truy cập các dịch
vụ. Dịch vụ xe buýt cũng
9
xử lý các thách thức về đối phó với dịch địa chỉ mạng và vượt qua bức tường lửa mà
không cần mở port mới cho các ứng dụng tiếp xúc.
Đây là một số ví dụ về cách NET Dịch vụ. Có thể được sử dụng:
ISV An cung cấp một ứng dụng được sử dụng bởi khách hàng trong nhiều tổ chức khác
nhau có thể sử dụng dịch vụ Access Control để đơn giản hóa sự phát triển của ứng dụng
và hoạt động. Ví dụ, NET Dịch vụ này. Thành phần có thể dịch các yêu cầu đa dạng được
sử dụng trong các tổ chức khách hàng khác nhau, mỗi trong số đó có thể sử dụng một
công nghệ nhận dạng khác nhau trong nội bộ, thành một tập quán đó của ISV ứng dụng
có thể sử dụng. Làm điều này cũng cho phép giảm tải các cơ học của liên bang nhận dạng
vào đám mây trên cơ sở dịch vụ truy cập cửa, giải phóng các ISV chạy riêng của mình
trên phần mềm cơ sở liên bang.
Giả sử một doanh nghiệp muốn để cho phần mềm lúc truy cập các đối tác kinh doanh
của một trong các ứng dụng của nó. Nó có thể phơi bày các chức năng này của ứng dụng
thông qua SOAP hoặc Restful dịch vụ Web, sau đó đăng ký thiết bị đầu cuối của họ với
dịch vụ xe buýt. Các đối tác kinh doanh của nó thì có thể sử dụng dịch vụ xe buýt để tìm
các thiết bị đầu cuối và truy cập các dịch vụ. Từ khi làm điều này không yêu cầu mở cổng
mới trong tường lửa của tổ chức, nó làm giảm nguy cơ bị phơi bày các ứng dụng. Việc tổ
chức cũng có thể sử dụng Access Control dịch vụ, được thiết kế để làm việc với dịch vụ
xe buýt, để hợp lý hoá thông tin nhận dạng được gửi đến ứng dụng bởi các đối tác.
Như với Windows Azure, một trình duyệt cổng có thể truy cập được cung cấp cho khách
hàng đăng ký. NET sử dụng một dịch vụ Windows Live ID. Với mục tiêu của Microsoft.
NET Dịch vụ rất rõ ràng: cung cấp các đám mây hữu ích dựa trên cơ sở hạ tầng cho các
ứng dụng phân phối.
Một TECHNOLOGIES ĐẨY XEM CÁC
Có một sự hiểu biết rộng của nền tảng Windows Azure là một bước quan trọng đầu tiên.
Bắt một sự hiểu biết sâu sắc hơn về công nghệ môi cũng rất hữu dụng, tuy nhiên. Phần
này có một hơi sâu hơn xem mỗi thành viên trong gia đình.
Windows Azure
Windows Azure không chính hai điều: Nó chạy các ứng dụng và lưu trữ dữ liệu của họ.
Theo đó, phần này được chia thành hai phần, một cho mỗi của các khu vực này. Làm thế
nào hai điều này được quản lý cũng rất quan trọng, và như vậy mô tả này trông lúc này là
một phần của câu chuyện là tốt.
Các ứng dụng đang chạy
Trên Windows Azure, một ứng dụng thường có nhiều trường hợp, mỗi lần chạy một bản
sao của tất cả hay một phần của mã của ứng dụng. Mỗi trường hợp chạy trong máy ảo
riêng (VM). Những máy ảo chạy 64-bit Windows Server 2008, và họ đang được cung cấp
bởi một ảo đó là thiết kế đặc biệt để sử dụng trong đám mây.
Chưa một nhà phát triển không cung cấp hình ảnh VM riêng của mình cho Windows
Azure để chạy, ông cũng không cần phải lo lắng về việc duy trì một bản sao của hệ điều
hành Windows. Thay vào đó, phiên bản CTP cho phép một nhà phát triển tạo ứng dụng
web bằng cách sử dụng hợp vai trò và / hoặc trường hợp vai trò của công nhân. Hình 5
cho thấy cách nhìn này.
Hình 5: Trong phiên bản CTP, Windows Azure ứng dụng có thể bao gồm các trường hợp
vai trò Web và trường hợp vai trò công nhân, mỗi dụ đang chạy trong máy ảo riêng của
nó.
Như tên gọi của nó cho thấy, mỗi vai trò dụ web chấp nhận đến HTTP (hoặc HTTPS) yêu
cầu thông qua Internet Information Services (IIS) 7. Một vai trò web có thể được thực
hiện bằng cách sử dụng ASP.NET, WCF, hoặc công nghệ khác làm việc với IIS. Như
hình 5 cho thấy, Windows Azure cung cấp được xây dựng trong cân bằng tải để lây lan
các yêu cầu trên web trường hợp vai trò là một phần của ứng dụng tương tự.
Một ví dụ vai trò của công nhân, bằng cách tương phản, không thể chấp nhận yêu cầu
trực tiếp từ thế giới bên ngoài, nó không được phép có bất kỳ kết nối mạng đến, và IIS
không hoạt động trong máy ảo của nó. Thay vào đó, nó thường được đầu vào của mình
thông qua một hàng đợi trong lưu trữ Windows Azure. Các bài viết trong hàng đợi này có
thể đến từ một trường hợp vai trò web, một trên cơ sở ứng dụng, hay cái gì khác. Bất cứ
nơi nào nó xuất phát từ đầu vào, một trường hợp vai trò của công nhân có thể gửi ra hàng
đợi khác hoặc với thế giới bên ngoài, kết nối mạng gửi đi được. Và không giống như một
trường hợp vai trò web, được tạo ra để xử lý các yêu cầu HTTP gửi đến, một trường hợp
vai trò của công nhân là một việc làm theo đợt. Befitting này tổng quát, một vai trò công
nhân có thể được thực hiện bằng cách sử dụng bất kỳ công nghệ Windows với một
phương pháp () chính.
Cho dù nó chạy một trường hợp vai trò Web hoặc một trường hợp vai trò của công nhân,
mỗi máy ảo cũng có chứa một Windows Azure đại lý cho phép các ứng dụng để tương
tác với vải Windows Azure, như hình 5 cho thấy. Các đại lý exposes một Azure
Windows định nghĩa API cho phép các dụ viết thư cho một Azure Windows-duy trì đăng
nhập, gửi thông báo cho chủ sở hữu của nó qua vải Windows Azure, và nhiều hơn nữa.
Trong khi điều này có thể thay đổi theo thời gian, phát hành của Windows Azure CTP
ban đầu duy trì một one-to-một trong những mối quan hệ giữa một máy ảo và một bộ xử
lý lõi vật lý. Do đó, hiệu suất của mỗi ứng dụng có thể được bảo đảm cho mỗi trường hợp
vai trò Web và dụ công nhân có vai trò nòng cốt của riêng bộ vi xử lý chuyên dụng của
nó. Để tăng hiệu suất của một ứng dụng, chủ nhân của nó có thể tăng số lượng các trường
hợp quy định tại chạy tập tin cấu hình của ứng dụng. Windows Azure vải sau đó sẽ quay
lên mới
11
VM, gán cho chúng đến lõi, và bắt đầu chạy trường hợp nhiều ứng dụng này. Vải này
cũng phát hiện khi một vai trò Web hoặc dụ vai trò công nhân đã không thành công, sau
đó bắt đầu một hình mới.
Thông báo này ngụ ý gì: Để có thể mở rộng, Windows Azure web trường hợp vai trò phải
được quốc tịch. Bất kỳ khách hàng cụ thể nhà nước phải được ghi vào lưu trữ Windows
Azure, được gửi đến cơ sở dữ liệu SQL Azure, hoặc thông qua lại cho khách hàng trong
một cookie. Statelessness web vai trò cũng là tất cả, nhưng được uỷ thác bởi Windows
Azure's built-in cân bằng tải. Bởi vì nó không cho phép tạo ra một ái lực với vai trò là
một ví dụ cụ thể web, không có cách nào để đảm bảo rằng các yêu cầu nhiều từ cùng một
người dùng sẽ được gửi đến các trường hợp tương tự.
Cả hai vai trò Web và vai trò của công nhân được thực hiện bằng cách sử dụng Windows
chuẩn công nghệ. Chưa di chuyển các ứng dụng hiện tại cho Windows Azure có thể yêu
cầu một số thay đổi. Đối với một điều, người truy cập lưu trữ Windows Azure sử dụng
ADO.NET Data Services, một công nghệ tương đối mới mà chưa được phổ biến trong
các ứng dụng trên mặt bằng. (A Windows Azure ứng dụng cũng có thể sử dụng
ADO.NET tiêu chuẩn để truy cập vào kho quan hệ cung cấp bởi cơ sở dữ liệu SQL
Azure, tuy nhiên, điều này làm cho nó dễ dàng hơn để di chuyển một ứng dụng nền tảng
này hiện có để mây.) Ngoài ra, công nhân hợp vai trò thường dựa vào hàng đợi trong
Windows Azure lưu trữ cho đầu vào của họ, một trừu tượng đó là không có ở trên cơ sở
các môi trường Windows. Trong chính, tuy nhiên, thế giới thấy một ứng dụng chạy trên
Windows Azure là giống như những gì nó thấy trên bất kỳ các hệ thống Windows Server
2008.
Đối với các nhà phát triển, xây dựng một Windows Azure ứng dụng trong phiên bản CTP
trông giống như xây dựng một ứng dụng Windows truyền thống. Microsoft cung cấp
Visual Studio 2008 dự án mẫu cho việc tạo Windows Azure web vai trò, vai trò của công
nhân, và kết hợp của hai. Các nhà phát triển có thể tự do sử dụng bất kỳ ngôn ngữ lập
trình Windows (mặc dù đó là công bằng để nói rằng tập trung ban đầu của Microsoft cho
Windows Azure đã được về C #). Ngoài ra, Windows Azure kit phát triển phần mềm bao
gồm một phiên bản của môi trường Windows Azure chạy trên máy tính của nhà phát
triển. Được biết đến như là vải Windows Azure phát triển, nó bao gồm Windows Azure
lưu trữ, một đại diện Windows Azure, và mọi thứ khác nhìn thấy một ứng dụng đang
chạy trong đám mây. Một nhà phát triển có thể tạo và gỡ lỗi ứng dụng của mình bằng
cách sử dụng này simulacrum địa phương, sau đó triển khai các ứng dụng cho Windows
Azure trong đám mây khi nó sẵn sàng. Tuy nhiên, một số công việc thực sự là khác nhau
trong đám mây. Nó không thể đính kèm một debugger vào một đám mây trên cơ sở ứng
dụng, ví dụ, và để gỡ lỗi các ứng dụng đám mây dựa chủ yếu vào một văn bản cho
Windows Azure duy trì đăng nhập thông qua các đại lý Windows Azure.
Windows Azure cũng cung cấp các dịch vụ khác cho các nhà phát triển. Ví dụ, một ứng
dụng Windows Azure có thể gửi một chuỗi cảnh báo thông qua các đại lý Windows
Azure, và Windows Azure sẽ mong rằng cảnh báo qua email, nhắn tin, hoặc một số cơ
chế khác để nhận định của mình. Nếu muốn, Windows Azure vải tự nó có thể phát hiện
một sự thất bại đơn và gửi một cảnh báo. Windows Azure nền tảng cũng cung cấp thông
tin chi tiết về tiêu thụ tài nguyên của ứng dụng, bao gồm cả thời gian xử lý, vào và ra
băng thông, và lưu trữ.
Truy cập vào dữ liệu
Làm việc với các ứng dụng dữ liệu theo nhiều cách khác nhau. Đôi khi, tất cả đó là yêu
cầu được blobs đơn giản, trong khi tình huống khác gọi một cách chi tiết cấu trúc để lưu
trữ thông tin. Và trong một số trường hợp, tất cả đó là thực sự cần thiết là một cách để
trao đổi dữ liệu giữa các phần khác nhau của một ứng dụng. Windows Azure lưu trữ địa
chỉ cả ba của các yêu cầu này, như Hình 6 cho thấy.
Hình 6: Windows Azure cho phép lưu trữ dữ liệu trong blobs, bảng biểu, và hàng đợi, tất
cả các truy cập vào một phong cách yên tĩnh qua HTTP hoặc HTTPS.
Cách đơn giản nhất để lưu trữ dữ liệu trong lưu trữ Windows Azure là sử dụng blobs.
Như Hình 6 cho thấy, có một cấu trúc đơn giản: Một tài khoản lưu trữ có thể có một hoặc
nhiều container, mỗi trong số đó nắm giữ một hoặc nhiều blobs. Blobs có thể được lớn
lên tới 50 gigabyte mỗi-và để thực hiện chuyển giao blobs lớn hiệu quả hơn, một số có
thể được chia thành các khối. Nếu không xảy ra, retransmission có thể tiếp tục với khối
gần đây nhất thay vì gửi blob toàn bộ một lần nữa. Blobs cũng có thể có liên quan đến
siêu dữ liệu, như thông tin về nơi mà một bức ảnh JPEG hoặc những người đã được đưa
nhà soạn nhạc được cho một file MP3.
Blobs chỉ là đúng cho một số loại dữ liệu, nhưng chúng cũng có cấu trúc cho nhiều tình
huống. Để cho phép các ứng dụng để làm việc với dữ liệu trong một tốt đẹp hơn-grained
cách, Windows Azure lưu trữ cung cấp bảng. Không được lừa bởi tên: Đây không phải là
bảng quan hệ. Trong thực tế, mặc dù chúng được gọi là "bảng", dữ liệu họ có thực sự
được lưu giữ trong một tập hợp các thực thể bằng tài sản. Một bảng không có định nghĩa
giản đồ; thay vào đó, tài sản có thể có các loại khác nhau, như int, string, bơi, hoặc
DateTime. Và thay vì sử dụng SQL, một ứng dụng có thể truy cập của một bảng dữ liệu
sử dụng ADO.NET Data Services hoặc LINQ. Một bảng đơn có thể khá lớn, với tỷ thực
thể đang nắm giữ terabyte dữ liệu, lưu trữ và Windows Azure có thể phân vùng nó trên
nhiều máy chủ nếu cần thiết để cải thiện hiệu suất.
Blobs và bàn đều tập trung vào việc lưu trữ dữ liệu. Các tùy chọn thứ ba trong lưu trữ
Windows Azure, hàng đợi, có một mục đích khá khác nhau. Vai trò chính của hàng đợi là
cung cấp một cách để trường hợp vai trò Web để giao tiếp với các trường hợp vai trò của
công nhân. Ví dụ, người dùng có thể gửi một yêu cầu để thực hiện một số tác vụ tính
toán, chuyên sâu thông qua một trang web thực hiện bởi một vai trò Windows Azure
Web. Vai trò dụ web đó nhận được yêu cầu này có thể viết một tin nhắn vào một hàng
đợi mô tả công việc phải làm. Một vai trò công nhân dụ đó là xếp hàng chờ đợi ngày này
sau đó có thể đọc tin nhắn và thực hiện các công việc chỉ định. Bất cứ kết quả có thể
được trả lại qua hàng đợi khác hoặc xử lý bằng cách khác.
13
Bất kể như thế nào nó được lưu trữ trong blobs, bàn, hoặc hàng đợi-tổ chức tại tất cả các
dữ liệu lưu trữ Windows Azure là nhân rộng ba lần. Điều này cho phép nhân rộng khả
năng chịu lỗi, vì mất đi một bản sao không gây tử vong. Sự ổn định của hệ thống bảo
lãnh, tuy nhiên, do đó, một ứng dụng đọc dữ liệu nó cũng đã có văn bản sẽ có được
những gì nó mong muốn.
Windows Azure lưu trữ có thể được truy cập, hoặc bởi một ứng dụng Windows Azure,
hoặc bằng một ứng dụng đang chạy ở một nơi khác. Trong cả hai trường hợp, cả ba
Windows Azure phong cách lưu trữ sử dụng các công ước của Văn để xác định và phơi
bày dữ liệu. Tất cả mọi thứ được đặt tên là URIs bằng cách sử dụng và truy cập với tiêu
chuẩn hoạt động HTTP. Một. NET khách hàng cũng có thể sử dụng ADO.NET Data
Services và LINQ, nhưng truy cập để lưu trữ Windows Azure từ, nói rằng, một ứng dụng
Java có thể chỉ cần sử dụng REST tiêu chuẩn. Ví dụ, một blob có thể được đọc với một
HTTP GET chống lại một URI được định dạng như thế này:
http:// blob.core.windows.net /. /
Là một định danh được phân công khi một tài khoản lưu trữ mới được
tạo ra, và nó xác nhận blobs, bảng biểu, và hàng đợi được tạo ra bằng cách sử dụng tài
khoản này. Và chỉ là tên của các container và blob rằng yêu
cầu này được truy cập.
Tương tự, một truy vấn với một bảng cụ thể được thể hiện như là một HTTP GET chống
lại một URI được định dạng như thế này:
http:// . table.core.windows.net / ? $ lọc =
Ở đây, xác định trong bảng được truy vấn, trong khi chứa các
truy vấn được thực hiện để chống lại bảng này.
Ngay cả hàng đợi có thể được truy cập bằng cả hai Azure ứng dụng Windows và các ứng
dụng bên ngoài bằng việc phát hành một HTTP GET chống lại một URI được định dạng
như thế này:
http:// . queue.core.windows.net /
Windows Azure phí một cách độc lập nền tảng cho tính toán và tài nguyên lưu trữ. Điều
này có nghĩa là trên cơ sở ứng dụng có thể sử dụng chỉ cần Windows Azure lưu trữ, truy
cập vào dữ liệu của nó trong cách yên tĩnh được mô tả. Và bởi vì rằng dữ liệu có thể được
truy cập trực tiếp từ không ứng dụng Windows Azure, nó vẫn có sẵn ngay cả khi
Windows Azure ứng dụng sử dụng nó không chạy.
Mục tiêu của các nền tảng ứng dụng, cho dù trên mặt bằng hoặc trong đám mây, là hỗ trợ
các ứng dụng và dữ liệu. Windows Azure cung cấp một trang chủ cho cả hai của những
việc này. Trước mắt, sẽ thấy một phần của những gì đã có thể được trên cơ sở ứng dụng
Windows thay vì chạy trên nền tảng đám mây mới.
SQL Azure
SQL Azure là một tên ô dù cho một nhóm các đám mây trên nền công nghệ để làm việc
với các kiểu quan hệ và các dữ liệu. Các thành viên đầu tiên của gia đình này xuất hiện là
cơ sở dữ liệu SQL Azure và "Huron" Data Sync. Phần này sẽ xem xét kỹ hơn ở cả hai.
Cơ sở dữ liệu SQL Azure
Một DBMS trong đám mây là hấp dẫn đối với nhiều lý do. Đối với một số tổ chức, cho
phép một nhà cung cấp dịch vụ chuyên biệt đảm bảo độ tin cậy, xử lý back-up, và thực
hiện chức năng quản lý khác làm cho tinh thần. Dữ liệu
14
trong đám mây cũng có thể được truy cập bởi các ứng dụng chạy bất cứ nơi nào, thậm chí
trên các thiết bị di động. Và cho các nền kinh tế của quy mô mà một nhà cung cấp dịch
vụ thích, sử dụng một cơ sở dữ liệu mây cũng có thể làm nó rẻ hơn so với chính mình.
Mục tiêu của Cơ sở dữ liệu SQL Azure là cung cấp cho tất cả các quyền lợi này. Hình 7
cho thấy một cái nhìn đơn giản của công nghệ này.
Hình 7: Các ứng dụng truy cập dữ liệu trong SQL Azure Cơ sở dữ liệu thông qua giao
thức TDS của Microsoft, cho phép họ sử dụng dữ liệu ADO.NET và phổ biến các giao
diện khác.
Một ứng dụng bằng cách sử dụng cơ sở dữ liệu SQL Azure có thể chạy trên Windows
Azure, tại trung tâm dữ liệu của doanh nghiệp, trên một thiết bị di động, hoặc ở một nơi
khác. Bất cứ nơi nào nó chạy, ứng dụng truy cập dữ liệu qua giao thức gọi là Tabular
Data Stream (TDS). Đây là cùng một giao thức được sử dụng để truy cập vào một cơ sở
dữ liệu SQL Server địa phương, và do đó, một cơ sở dữ liệu SQL Azure ứng dụng có thể
sử dụng bất kỳ khách hàng hiện tại thư viện SQL Server. Điều quan trọng nhất trong số
này có lẽ là ADO.NET, nhưng ODBC và những người khác cũng có thể được sử dụng.
Đối với hầu hết các phần, một ứng dụng bằng cách sử dụng cơ sở dữ liệu SQL Azure
thấy một môi trường SQL Server quen thuộc. Một số điều được bỏ qua, tuy nhiên, như
thường SQL Language Runtime (CLR) và hỗ trợ cho dữ liệu không gian. Ngoài ra, bởi vì
chính quyền được xử lý bởi Microsoft, các dịch vụ không vạch trần chức năng vật lý
hành chính. (Một khách hàng không có thể tắt hệ thống, ví dụ) Và. Như bạn mong muốn
trong một môi trường chia sẻ, một truy vấn có thể chạy một thời gian chỉ có hạn chế
không có yêu cầu duy nhất có thể mất nhiều hơn trước một xác định số tiền của tài
nguyên.
Tuy vậy, trong khi môi trường sẽ tiêu chuẩn, các dịch vụ ứng dụng được là mạnh hơn so
với những gì một trường hợp duy nhất của SQL Server cung cấp. Như trong 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 là nhân
rộng ba lần. Cũng như Windows Azure lưu trữ, cung cấp dịch vụ mạnh mẽ
15
thống nhất: Khi viết thư trả về, tất cả các bản sao đã được viết. Mục đích là để cung cấp
đáng tin cậy lưu trữ dữ liệu ngay cả khi đối mặt với hệ thống mạng và thất bại.
Kích thước tối đa của một cơ sở dữ liệu duy nhất trong cơ sở dữ liệu SQL Azure là 10
gigabyte. Một ứng dụng có dữ liệu là trong giới hạn này có thể sử dụng chỉ là một cơ sở
dữ liệu, trong khi một ứng dụng với nhiều dữ liệu hơn sẽ cần phải tạo ra nhiều cơ sở dữ
liệu. Hình 8 minh hoạ ý tưởng này.
Hình 8: Một ứng dụng có thể sử dụng một cơ sở dữ liệu duy nhất hoặc nhiều cơ sở dữ
liệu.
Với một cơ sở dữ liệu duy nhất, một ứng dụng thấy một tập hợp dữ liệu, và vì vậy các
truy vấn SQL có thể được sử dụng như bình thường trên tất cả các dữ liệu này. Với cơ sở
dữ liệu nhiều, tuy nhiên, việc áp dụng phải phân chia dữ liệu của nó trong số đó. Thông
tin về khách hàng có tên bắt đầu bằng "A" có thể là tại một cơ sở dữ liệu, ví dụ, khách
hàng có tên bắt đầu với "B" ở khác, vv. Trong khi mỗi cơ sở dữ liệu cho thấy nhiều giao
diện bình thường quan hệ, ứng dụng không còn có thể phát hành một đĩa đơn truy vấn
SQL mà truy cập tất cả các dữ liệu trong tất cả các cơ sở dữ liệu. Thay vào đó, các ứng
dụng mà làm việc với nhiều cơ sở dữ liệu sẽ cần phải được nhận thức như thế nào dữ liệu
được chia.
Trong một số trường hợp, thậm chí cả các ứng dụng với số lượng nhỏ của dữ liệu có thể
chọn để sử dụng cơ sở dữ liệu khác nhau. Cách tiếp cận này cho phép truy vấn song song,
ví dụ, và do đó, nó có thể cung cấp hiệu năng tốt hơn trong một số trường hợp. Tương tự,
một ứng dụng đa người thuê nhà cung cấp dịch vụ cho các tổ chức khác nhau có thể chọn
để sử dụng cơ sở dữ liệu nhiều, có lẽ chỉ định một đến từng tổ chức.
Cho dù một ứng dụng cần nhiều cơ sở dữ liệu hoặc chỉ một, SQL Azure Cơ sở dữ liệu có
thể giúp các nhà phát triển ứng dụng địa chỉ một loạt các tình huống. Dù là vấn đề được
giải quyết, mục tiêu cơ bản của công nghệ vẫn như nhau: để cung cấp một cơ sở dữ liệu
chi phí đám mây quen thuộc, đáng tin cậy, và thấp cho tất cả các loại ứng dụng.
16
"Huron" Data Sync
Lý tưởng nhất, dữ liệu được lưu giữ trong chỉ một nơi. Thực ra, tuy nhiên, điều này
thường không có. Nhiều tổ chức có bản sao của cùng một dữ liệu lan rộng trên khắp cơ
sở dữ liệu khác nhau, thường là ở các địa điểm khác nhau về địa lý. Giữ rằng dữ liệu
đồng bộ là đầy thách thức, nhưng cần thiết.
"Huron" Đồng bộ hoá dữ liệu địa chỉ vấn đề này. Được xây dựng trên Sync Framework
và Microsoft SQL Azure Cơ sở dữ liệu, nó có thể đồng bộ hóa dữ liệu trong cơ sở dữ liệu
quan hệ nhiều. Hình 9 cho thấy những vấn đề cơ bản của công nghệ này.
Hình 9: "Huron" Đồng bộ hoá dữ liệu sử dụng Microsoft Framework Sync để đồng bộ
hóa dữ liệu trên SQL Azure Cơ sở dữ liệu và trên cơ sở dữ liệu cơ sở.
"Huron" Đồng bộ hoá dữ liệu ban đầu sẽ hỗ trợ SQL Server và SQL Server Compact
Edition. Công nghệ này cũng bao gồm một SDK, tuy nhiên, cho phép người khác để
thêm sự hỗ trợ cho DBMSs hơn. Dù công nghệ cơ sở dữ liệu được sử dụng, "Huron"
Đồng bộ hoá dữ liệu công trình theo cùng một cách: thay đổi dữ liệu được đồng bộ hóa
đầu tiên Azure Cơ sở dữ liệu SQL, sau đó đến DBMSs đang được đồng bộ. Công nghệ
này cung cấp một giao diện đồ họa cho phép người dùng xác định đó phải được đồng bộ
hóa dữ liệu trên mà cơ sở dữ liệu.
Đồng bộ hóa được nhiều thầy, có nghĩa là thay đổi có thể được thực hiện cho bất kỳ các
bản sao. Những người dùng thiết lập đồng bộ cũng có thể định nghĩa như thế nào xung
đột nên được xử lý. Tùy chọn bao gồm việc viết cuối cùng giành chiến thắng, đòi hỏi
rằng những thay đổi được thực hiện cho một cơ sở dữ liệu cụ thể giành chiến thắng, và
nhiều hơn nữa.
17
"Huron" Đồng bộ hoá dữ liệu, làm việc với cơ sở dữ liệu SQL Azure, địa chỉ là một vấn
đề quan trọng trong nhiều tổ chức. Khi SQL Azure gia đình mở rộng, mới thấy mây
nhiều giải pháp dựa trên dữ liệu theo định hướng các vấn đề phổ biến.
NET DỊCH VỤ.
Lưu trữ dữ liệu trong đám mây là hữu ích, nhưng như vậy là cung cấp các dịch vụ dựa
trên mây cơ sở hạ tầng. Những dịch vụ này có thể được sử dụng bởi hoặc là trên cơ sở
hoặc các ứng dụng dựa trên mây, và họ có thể giải quyết vấn đề mà không thể được giải
quyết cũng như trong bất kỳ cách nào khác. Phần này có một cái nhìn sâu hơn về các dịch
vụ của Microsoft trong lĩnh vực này: các NET cận. Control NET Dịch vụ và Dịch vụ.
Buýt, được gọi chung là. NET Services.
Access Control Service
Làm việc với nhận dạng là một phần cơ bản của hầu hết các ứng dụng phân phối. Dựa
trên thông tin về danh tính của người sử dụng, một ứng dụng ra quyết định về những gì
mà người dùng được phép làm. Để truyền tải thông tin này, ứng dụng có thể dựa vào thẻ
được xác định bằng cách sử dụng Security Assertion Markup Language (SAML). Một
SAML có chứa mã thông báo yêu cầu, mỗi có thể mang theo một số mẩu thông tin về
một người sử dụng. Một trong những yêu cầu bồi thường có thể chứa tên của cô, một có
thể chỉ ra vai trò của mình, chẳng hạn như quản lý, trong khi một phần ba có chứa địa chỉ
email của cô. Thẻ được tạo ra bởi phần mềm được biết đến như một dịch vụ bảo mật mã
thông (STS), mà mỗi một dấu hiệu kỹ thuật số để xác minh nguồn gốc của nó.
Khi một khách hàng (như là một trình duyệt Web) có một mã thông báo cho người sử
dụng của nó, nó có thể trình bày dâu hiệu cho một ứng dụng. Ứng dụng này sau đó yêu
cầu sử dụng của thẻ để quyết định những gì người dùng này được cho phép để làm. Có
một vài vấn đề có thể, tuy nhiên:
Nếu dâu hiệu không chứa các tuyên bố này cần áp dụng? Với tuyên bố dựa trên danh
tính, mỗi ứng dụng là miễn phí để xác định tập các tuyên bố rằng người dùng của nó phải
hiện nay. Tuy nhiên, STS đã tạo mã thông báo này có thể không có đưa vào nó một cách
chính xác những gì ứng dụng này đòi hỏi.
gì nếu các ứng dụng không tin tưởng rằng STS cấp thẻ này? Một ứng dụng không thể
chấp nhận thẻ phát hành bởi chỉ cần bất kỳ STS. Thay vào đó, ứng dụng thường có quyền
truy cập vào một danh sách các giấy chứng nhận cho STSs tin cậy, cho phép nó để xác
nhận chữ ký trên thẻ mà họ tạo ra. Chỉ có thẻ từ những STSs tin cậy sẽ được chấp nhận.
Chèn khác STS vào quá trình này có thể giải quyết cả hai vấn đề. Để chắc chắn rằng thẻ
chứa các tuyên bố quyền, điều này phụ STS thực hiện yêu cầu chuyển đổi. STS có thể
chứa các quy tắc xác định cách thức đầu vào và đầu ra phải được yêu cầu liên quan, sau
đó sử dụng những quy tắc để tạo ra một thẻ mới có chứa các tuyên bố chính xác một ứng
dụng đòi hỏi. Quyết những vấn đề thứ hai, thường được gọi là nhận dạng liên bang, đòi
hỏi sự tin tưởng ứng dụng STS mới. Nó cũng đòi hỏi phải thiết lập một mối quan hệ tin
cậy giữa này STS mới và một trong đó tạo ra các STS token nhận được.
Thêm một STS cho phép chuyển đổi và liên bang tuyên bố danh tính, cả những điều có
ích. Nhưng mà nên này STS chạy? Có thể sử dụng một STS chạy bên trong một tổ chức,
một lựa chọn đó là do nhà cung cấp một vài ngày hôm nay. Tuy vậy tại sao không chạy
một STS trong đám mây? Điều này sẽ làm cho nó dễ tiếp cận cho người dùng và các ứng
dụng trong tổ chức nào. Nó cũng có những nơi gánh nặng cho chạy và quản lý STS trên
một nhà cung cấp dịch vụ.
18
Điều này là chính xác những gì các Access Control Dịch vụ cung cấp: Đây là một STS
trong đám mây. Để xem cách này STS có thể được sử dụng, giả sử một ISV cung cấp
một ứng dụng có thể truy cập Internet mà có thể được sử dụng bởi những người trong
nhiều tổ chức khác nhau. Trong khi tất cả những tổ chức có thể có thể cung cấp thẻ
SAML cho người dùng của họ, những thẻ ít có khả năng để chứa các thiết lập chính xác
của tuyên bố này cần áp dụng. Hình 10 minh hoạ cách Access Control dịch vụ có thể giải
quyết những thách thức này.
Hình 10: The Access Control cung cấp các dịch vụ dựa trên luật lệ chuyển đổi và liên
bang tuyên bố danh tính.
Trước tiên, các ứng dụng của người dùng (mà trong ví dụ này là một trình duyệt web,
nhưng cũng có thể là một khách hàng WCF hay cái gì khác) sẽ gửi SAML của người sử
dụng thẻ để kiểm soát truy cập dịch vụ (bước 1). Dịch vụ này xác nhận chữ ký trên thẻ,
xác minh rằng nó đã được tạo ra bởi một STS các tín thác dịch vụ. Dịch vụ này và sau đó
tạo ra một dấu hiệu mới SAML có chứa mã thông báo chính xác các yêu cầu ứng dụng
này yêu cầu (bước 2).
Để làm điều này, các Access Control dịch vụ của STS dựa vào quy định của chủ sở hữu
của ứng dụng mà người dùng đang cố gắng truy cập. Ví dụ, giả sử ứng dụng cấp quyền
truy cập cụ thể đến bất kỳ một người sử dụng quản lý trong công ty của mình là ai. Trong
khi mỗi công ty có thể bao gồm một tuyên bố trong thẻ của nó cho thấy rằng một người
dùng là một người quản lý, họ sẽ có khả năng tất cả sẽ khác nhau. Một trong những công
ty có thể sử dụng chuỗi "Quản lý", một chuỗi các "Supervisor", và một mã một phần ba
số nguyên. Để giúp các ứng dụng đối phó với sự đa dạng này, chủ nhân của nó có thể
định nghĩa được quy định trong Access Control rằng chuyển đổi tất cả ba trong số các
tuyên bố đến chuỗi thường Maker Quyết định "". Các ứng dụng của cuộc sống bây giờ là
đơn giản, kể từ công tác tuyên bố chuyển đổi được thực hiện cho nó.
Một khi nó được tạo ra, STS trong kiểm soát truy cập dịch vụ trở về bước này (thẻ mới
cho khách hàng 3) những người sau đó vượt qua nó trên vào ứng dụng (Bước 4). Ứng
dụng này xác nhận chữ ký trên thẻ, đảm bảo rằng nó thực sự đã được phát hành bởi các
kiểm soát truy cập dịch vụ STS. Lưu ý rằng trong khi Access Control vụ STS phải duy trì
một mối quan hệ tin cậy với STS của mỗi tổ chức của khách hàng, ứng dụng
19
Bản thân sự tin tưởng chỉ cần truy cập cửa Dịch vụ STS. Khi nó đã được một số mã
thông báo của provenance này, ứng dụng có thể sử dụng các tuyên bố nó chứa để quyết
định những gì người dùng này được phép làm (bước 5).
Một cách khác để sử dụng Access Control Service là ngụ ý bằng tên của nó: Một ứng
dụng có thể có hiệu quả offload đến các quyết định về loại dịch vụ của mỗi người dùng
truy cập được cho phép. Ví dụ, giả truy cập vào một chức năng nhất định của một ứng
dụng đòi hỏi người sử dụng hiện nay là một yêu cầu cụ thể. Các quy tắc trong việc kiểm
soát truy cập dịch vụ cho các ứng dụng có thể được xác định để đưa ra tuyên bố này chỉ
cho người dùng rằng hiện nay yêu cầu khác theo yêu cầu, như là một trong những người
quản lý các yêu cầu được mô tả trước đó. Khi ứng dụng nhận được một người sử dụng
của thẻ, nó có thể cấp hoặc từ chối truy cập dựa trên sự hiện diện của yêu cầu này, quyết
định đã có hiệu quả làm cho nó bằng các kiểm soát truy cập Dịch vụ. Làm điều này cho
phép một quản trị viên xác định nguyên tắc kiểm soát truy cập tại địa điểm chung, và nó
cũng có thể giúp trong việc chia sẻ các quy tắc kiểm soát truy cập trên nhiều ứng dụng.
Mọi liên lạc với kiểm soát truy cập dịch vụ dựa trên giao thức chuẩn như WS-Trust và
WS-Liên bang. Điều này làm cho các dịch vụ truy cập từ bất kỳ loại ứng dụng trên nền
tảng nào. Và để xác định các quy tắc, dịch vụ cung cấp cho cả một trình duyệt dựa trên
giao diện và một API cho khách hàng truy cập vào chương trình.
Tuyên bố dựa trên danh tính là trên đường trở thành phương pháp tiêu chuẩn cho các môi
trường phân phối. Bằng cách cung cấp một STS trong đám mây, hoàn chỉnh với quy định
dựa trên yêu cầu chuyển đổi, các Access Control Dịch vụ này làm cho cách tiếp cận hiện
đại để nhận dạng hấp dẫn hơn.
Dịch vụ xe buýt:
Giả sử bạn có một ứng dụng chạy bên trong tổ chức của bạn mà bạn muốn trình bày cho
hệ thống trong các tổ chức khác thấy thông qua Internet. Thoạt nhìn, điều này có vẻ như
là một vấn đề đơn giản. Giả sử ứng dụng của bạn cung cấp chức năng của nó như là dịch
vụ Web (RESTful hoặc SOAP-based), bạn chỉ có thể làm cho người dùng thấy được các
dịch vụ web này. Khi bạn thực sự cố gắng để làm điều này, một số vấn đề xuất hiện.
Trước tiên, làm thế nào để ứng dụng trong các tổ chức khác (hoặc ngay cả trong các bộ
phận khác trong tổ chức của bạn) có thể tìm thấy thiết bị đầu cuối để có thể kết nối đến
các dịch vụ của bạn? Sẽ tốt hơn nếu có một số loại đăng ký (Registry), nơi mà những ứng
dụng khác có thể xác định vị trí ứng dụng của bạn. Và một khi các ứng dụng khác đã tìm
thấy, có thể yêu cầu bằng cách nào để phần mềm trong các tổ chức khác được kết nối vào
ứng dụng của bạn? Cơ chế dịch địa chỉ mạng (NAT - Network Address Translate) rất phổ
biến, do đó, một ứng dụng thường xuyên không có địa chỉ IP cố định để giao tiếp với bên
ngoài. Và thậm chí nếu NAT không được sử dụng, làm thế nào để nhận được yêu cầu
thông qua tường lửa của bạn? Điều này có thể được thực hiện bằng cách mở tường lửa để
cho phép truy cập vào các ứng dụng của bạn, nhưng hầu hết các nhà quản trị mạng không
khuyến khích điều này.
Service Bus sẽ phân tích những thách thức nêu trên.
Hình 11: Service Bus cho phép ứng dụng đăng ký thiết bị đầu cuối, sau đó các ứng dụng
khác truy xuất và sử dụng các thiết bị đầu cuối này để truy cập vào dịch vụ của ứng dụng
đó.
Để bắt đầu, ứng dụng của bạn đăng ký một hoặc nhiều thiết bị đầu cuối với Service Bus
(bước 1). Service Bus gán cho tổ chức của bạn một gốc URI, nơi mà bạn được miễn phí
tạo ra bất kỳ hệ thống cấp bậc được đặt tên theo ý bạn. Điều này cho phép thiết bị đầu
cuối của bạn được gán một cách rõ ràng – một URIs có thể được nhìn thấy. Ứng dụng
của bạn cũng phải mở một kết nối với Service Bus cho mỗi thiết bị đầu cuối nó giao tiếp.
Service Bus giữu cho kết nối này mở để giải quyết hai vấn đề. Một là, NAT không còn là
một vấn đề, bởi vì lưu lượng thông tin trên kết nối được mở bằng Service Bus luôn luôn
được chuyển đến ứng dụng của bạn. Hai là, bởi vì kết nối được tạo ra từ bên trong tường
lửa, nên không có lỗi thông tin được trả về lại cho ứng dụng thông qua kết nối này -
tường lửa không ngăn chặn kết nối này.
Khi một ứng dụng trong một tổ chức khác (hoặc là một phần khác của bạn) muốn truy
cập vào ứng dụng của bạn, nó chỉ cần kết nối tới khối Đăng ký(registy) của Service Bus
(bước 2). Kết nối này sử dụng giao thức Atom Publishing (Atom Publishing
Protocol), và nó trả về tài liệu của dịch vụ AtomPub liên quan đến thiết bị đầu cuối của
ứng dụng của bạn. Khi có được điều đó, nó có thể gọi dịch vụ cung cấp thông qua các
thiết bị đầu cuối này(bước 3). Mỗi kết nối được nhận bởi Service Bus, sau đó chuyển
sang cho ứng dụng của bạn, bằng con đường ngược lại. Mặc dù nó không được hiển thị
trong hình, Service Bus thiết lập một kết nối trực tiếp giữa một ứng dụng và ứng dụng
khách của nó bất cứ khi nào có thể, làm cho giao tiếp được hiệu quả hơn.
Service Bus cũng cho phép giao tiếp thông qua hàng đợi, cho phép một ứng dụng khách
gửi yêu cầu ngay cả khi ứng dụng nguồn không có sẵn; Service Bus có thể xếp các yêu
cầu chờ ứng dụng nguồn trả lời trong một tuần.
Cùng với việc giao tiếp dễ dàng hơn, Service Bus có thể cải thiện khả năng bảo mật. Bởi
vì máy khách bây giờ chỉ thấy địa chỉ IP được cung cấp bởi Service Bus, bạn không cần
cung cấp IP bên trong tổ chức của bạn. Điều này làm ứng dụng của bạn vô danh một cách
hiệu quả, vì bên ngoài không thể nhìn thấy địa chỉ IP tổ chức của bạn. Service Bus hoạt
động như một DMZ(De-Militarised Zone) bên ngoài, cung cấp một lớp vô hướng để ngăn
chặn kẻ tấn công. Và cuối cùng, Service Bus được thiết kế để được sử dụng bởi dịch vụ
điều khiển truy cập (Access Control Service), cho phép các quy tắc cơ bản yêu cầu
chuyển đổi. Trong thực tế, Service Bus chỉ chấp nhận các thẻ được phát hành bởi dịch vụ
điều khiển truy cập (Access Control Service) STS.
Một ứng dụng muốn thể hiện dịch vụ của mình thông qua Service Bus thường được thực
hiện bằng cách sử dụng WCF(Windows Communication
Foundation: một nền tảng (framework) để xây dựng và chạy các ứng dụng hướng dịch vụ).
Khách hàng có thể được xây dựng với WCF hoặc các công nghệ khác, chẳng hạn như
Java, và họ có thể thực hiện các yêu cầu thông qua SOAP hoặc HTTP. Ứng dụng và các
thành phần của nó cũng được tự do sử dụng cơ chế bảo mật riêng của chúng, chẳng hạn
như mã hóa, để bảo vệ chúng khỏi những kẻ tấn công và từ Service Bus.
Trưng bày ứng dụng ra thế giới bên ngoài không đơn giản. Mục đích của Service Bus là
làm cho việc này trở nên đơn giản nhất.
KẾT LUẬN
Sự thật hiển nhiên là: Cloud computing là ở đây. Đối với các nhà phát triển, lợi dụng đám
mây nghĩa là sử dụng nền tảng đám mây một cách nào đó. Với nền tảng Windows Azure,
Microsoft giới thiệu một loạt các phong cách nền tảng địa chỉ một loạt các nhu cầu:
Windows Azure cung cấp một tính toán dựa trên Windows và môi trường lưu trữ trong
đám mây.
SQL Azure DBMS cung cấp một đám mây với SQL Azure Cơ sở dữ liệu và đồng bộ
hóa dữ liệu thông qua "Huron" Data Sync, với đám mây hơn dựa trên dữ liệu các dịch vụ
kế hoạch.
. NET cung cấp dịch vụ đám mây trên cơ sở hạ tầng cho các đám mây và trên cơ sở ứng
dụng.
Những phương pháp tiếp cận địa chỉ một loạt các yêu cầu, và không phải tất cả các nhà
phát triển sẽ sử dụng tất cả chúng. Tuy vậy cho dù bạn làm việc cho một ISV hoặc một
doanh nghiệp, một số nền tảng dịch vụ đám mây có khả năng có ích cho các ứng dụng tổ
chức của bạn tạo ra. Một thế giới mới là unfolding; chuẩn bị được một phần của nó.
GIỚI THIỆU CỦA TÁC GIẢ
David Chappell là hiệu trưởng Chappell & Associates (www.davidchappell.com) tại San
Francisco, California. Thông qua nói của ông, viết, và tư vấn, ông đã giúp người dân trên
toàn thế giới hiểu, sử dụng, và đưa ra quyết định tốt hơn về công nghệ mới.
Các file đính kèm theo tài liệu này:
- Azure.pdf