Nền tảng Windows Azure là một nhóm các công nghệ đám mây, mỗi công nghệ cung cấp một tập các dịch vụ đặc trưng hỗ trợ phát triển ứng dụng. Hình 1, nền tảng Windows Azure có thể được sử dụng bởi ứng dụng chạy trên đám mây, và cả ứng dụng chạy On-Premise.
Hình 1: Nền tảng Windows Azure hỗ trợ ứng dụng, dữ liệu và cơ sở hạ tầng trên đám mây.
Các thành phần của nền tảng Windows Azure :
- Windows Azure: Cung cấp môi trường nền tảng Windows để chạy ứng dụng và lưu trữ dữ liệu trên máy chủ trong trung tâm dữ liệu của Microsoft.
- SQL Azure: Cung cấp dịch vụ dữ liệu trên đám mây dựa trên SQL Server.
- Windows Azure Platform AppFabric: Cung cấp các dịch vụ đám mây để kết nối các ứng dụng chạy trên đám mây hoặc On-Premise.
Windows Azure
Ở cấp độ cao nhất, Windows Azure được hiểu đơn giản là một nền tảng để chạy ứng dụng Windows và lưu trữ dữ liệu trên đám mây.
Hình 2: Windows Azure cung cấp dịch vụ tính toán và lưu trữ cho ứng dụng đám mây.
Windows Azure chạy trên nhiều máy tính đặt trong trung tâm dữ liệu của Microsoft và truy xuất qua Internet. Một Windows Azure Fabric liên kết chặc chẽ nhiều sức mạnh xử lí này thành một thể thống nhất.
Dịch vụ tính toán dựa trên Windows. Lập trình viên có thể xây dựng ứng dụng sử dụng .NET Framework, Native-Code,… Các ứng dụng này được viết bằng các ngôn ngữ thông thường như : C#, Visual Basic, C++, và Java, sử dụng Visual Studio hoặc công cụ phát triển khác. Lập trình viên có thể tạo ứng dụng Web, sử dụng công nghệ như ASP.Net, WCF và PHP; ứng dụng cũng có thể chạy như một xử lí nền độc lập, hoặc kết hợp cả Web và xử lí nền.
Cả ứng dụng Windows Azure và ứng dụng On-Premise có thể truy xuất dịch vụ lưu trữ Windows Azure, và cả hai cùng truy xuất bằng REST API. Dịch vụ lưu trữ cho lưu trữ các đối tượng dữ liệu lớn (blob), cung cấp các hàng đợi để liên lạc giữa các thành phần trong ứng dụng Windows Azure, và cung cấp dạng Table với ngôn ngữ truy vấn đơn giản. Đối với các ứng dụng có nhu cầu lưu trữ dữ liệu quan hệ truyền thống, nền tảng Windows Azure cung cấp cơ sở dữ liệu SQL Azure.
Tuy nhiên để đạt được những thuận lợi trên đòi hỏi phải quản lí hiệu quả. Trong Windows Azure, mỗi ứng dụng có một tập tin cấu hình. Bằng cách cấu hình tập tin này bằng tay hoặc lập trình, người chủ ứng dụng có thể cấu hình nhiều thành phần như thiết lập số thể hiện mà Windows Azure nên chạy. Sau đó Windows Azure Fabric giám sát ứng dụng để duy trì trạng thái mong muốn.
Để cho phép khách hàng tạo, cấu hình và giám sát ứng dụng. Windows Azure cung cấp Windows Azure Portal. Khách hàng cung cấp một Windows Live ID, sau đó tạo một tài khoản Hosting để chạy ứng dụng, và một tài khoản lưu trữ để lưu trữ ứng dụng.
SQL Azure
Một trong những cách hấp dẫn nhất của việc sử dụng máy chủ truy xuất Internet là xử lí dữ liệu. Mục tiêu của SQL Azure là đánh địa chỉ vùng này, cung cấp các dịch vụ dựa trên đám mây để lưu trữ và làm việc với thông tin. Trong khi Microsoft nói rằng SQL Azure sẽ bao gồm một loạt các tính năng định hướng dữ liệu, đồng bộ hóa dữ liệu, báo cáo, phân tích dữ liệu và những chức năng khác.
Hình 3: SQL Azure cung cấp các dịch vụ định hướng dữ liệu trong đám mây.
Cơ sở dữ liệu SQL Azure cung cấp một hệ thống quản lí cơ sở dữ liệu dựa trên đám mây (DBMS). Công nghệ này cho phép ứng dụng On-Premise và đám mây lưu trữ dữ liệu quan hệ và những kiểu dữ liệu khác trên các máy chủ trong trung tâm dữ liệu Microsoft. Cũng như các công nghệ đám mây khác, tổ chức chỉ trả cho những gì họ sử dụng. Sử dụng dữ liệu đám mây cho phép chuyển đổi những chi phí vốn như: phần cứng, phần mềm hệ thống quản lí lưu trữ, vào chi phí điều hành.
Cơ sở dữ liệu SQL Azure được xây dựng trên Microsoft SQL Server. Cho qui mô lớn, công nghệ này cung cấp môi trường SQL Server trong đám mây, bổ sung với Index, View, Store Procedure, Trigger,…và còn nữa. Dữ liệu này có thể được truy xuất bằng ADO.Net và các giao tiếp truy xuất dữ liệu Windows khác. Khách hàng cũng có thể sử dụng phần mềm On-Premise như SQL Server Reporting Service để làm việc với dữ liệu dựa trên đám mây.
Khi ứng dụng sử dụng Cơ sở dữ liệu SQL Azure thì yêu cầu về quản lí sẽ được giảm đáng kể. Thay vì lo lắng về cơ chế, như giám sát việc sử dụng đĩa và theo dõi tập tin nhật ký (log file), khách hàng sử dụng Cơ sở dữ liệu SQL Azure có thể tập trung vào dữ liệu. Microsoft sẽ xử lí các chi tiết hoạt động. Và 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 chỉ cần đến Windows Azure Web Portal và cung cấp các thông tin cần thiết.
Ứng dụng có thể dựa vào SQL Azure với nhiều cách khác nhau.
Một ứng dụng Windows Azure có thể lưu trữ dữ liệu trong Cơ sở dữ liệu SQL Azure. Trong khi bộ lưu trữ Windows Azure không hỗ trợ các bảng dữ liệu quan hệ, mà nhiều ứng dụng đang tồn tại sử dụng cơ sở dữ liệu quan hệ. Vì vậy lập trình viên có thể chuyển ứng dụng đang chạy sang ứng dụng Windows Azure với lưu trữ dữ liệu trong Cơ sở dữ liệu SQL Azure.
Xây dựng một ứng dụng Windows Azure lưu trữ dữ liệu trong Cơ sở dữ liệu SQL Azure.
Giả sử một nhà sản xuất muốn thông tin sản phẩm có sẵn trên cả mạng lưới đại lý và khách hàng. Đưa dữ liệu này vào Cơ sở dữ liệu SQL Azure để cho nó được truy cập bởi các ứng dụng đang chạy tại các đại lý và ứng dụng Web của khách hàng.
Windows Azure Platform AppFabric
Windows Azure Platform AppFabric cung cấp dịch vụ cơ sở hạ tầng dựa trên đám mây.
Hình 4: Windows Azure Platform AppFabric cung cấp cơ sở hạ tầng dựa trên đám mây
được sử dụng bởi ứng dụng đám mây và ứng dụng On-Premise.
Các thành phần của Windows Azure Platform AppFabric :
Service Bus: Mục tiêu của Service Bus là cho phép ứng dụng Expose các Endpoint có thể được truy xuất bởi các ứng dụng khác. Mỗi Exposed Endpoint được gán một URI. Client sử dụng URI này để xác định vị trí và truy xuất dịch vụ. Service Bus cũng xử lí việc chuyển đổi địa chỉ mạng và vượt qua tường lửa mà không cần mở Port mới để Expose ứng dụng.
Access Control : Dịch vụ này cho phép ứng dụng Client chứng thực chính nó và cung cấp một ứng dụng Server với thông tin xác thực. Máy chủ sau đó có thể sử dụng thông tin này để quyết định những gì ứng dụng này được phép làm.
Các dịch vụ này có thể được sử dụng trong nhiều cách khác nhau như sau :
Giả sử một doanh nghiệp muốn cho phần mềm được truy cập bởi các đối tác thương mại đến một trong các ứng dụng của nó. Nó có thể Expose các chức năng của ứng dụng qua dịch vụ Web : SOAP hoặc REST, sau đó đăng ký các Endpoint của họ với Service Bus. Các đối tác thương mại có thể sử dụng Service Bus để tìm các Endpoint này và truy xuất các dịch vụ.
Một ứng dụng chạy Windows Azure có thể truy xuất dữ liệu lưu trữ trong cơ sở dữ liệu On-Premise. Để làm được điều này có thể giải quyết bằng cách tạo một Service truy xuất dữ liệu, sau đó Expose Service này qua Service Bus.
Hãy tưởng tượng một doanh nghiệp Expose nhiều dịch vụ ứng dụng cho các đối tác kinh doanh của mình. Nếu những dịch vụ đó được Expose bằng cách sử dụng REST, ứng dụng có thể dựa vào các Access Control để xác thực và cung cấp thông tin nhận dạng cho mỗi ứng dụng khách hàng. Thay vì duy trì thông tin nội bộ về từng ứng dụng đối tác thương mại, thông tin này có thể được lưu trữ trong dịch vụ Access Control.
Theo Microsoft.com