Home / Thiết Bị Điện Tử / Windows Azure là gì? khái niệm, lợi ích, ứng dụng dịch vụ

Windows Azure là gì? khái niệm, lợi ích, ứng dụng dịch vụ

/

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

Windows Azure là gì

1. Windows Azure là gì?

Windows Azure là một nền tảng để chạy các ứng dụng Windows và lưu trữ dữ liệu của các ứng dụng này trên đám mây. Windows Azure chạy trên rất nhiều máy, tất cả đều được đặt trong trung tâm dữ liệu của Microsoft và có thể truy cập nhờ mạng Internet. Kết cấu Windows Azure liên kết các trạng thái xử lý thành một khối thống nhất. Các dịch vụ lưu trữ và chạy ứng dụng của Windows Azure được xây dựng phía trên các kết cấu này.

Trong phiên bản Windows Azure được đưa ra tại buổi hội thảo của các chuyên gia tổ chức vào mùa thu năm 2008, lập trình viên có thể tạo ra các phần mềm dựa trên công nghệ .NET như các ứng dụng ASP.NET và các dịch vụ Windows Communication Foundation (WCF). Để làm được điều này, họ có thể sử dụng C# và những ngôn ngữ .NET khác, cùng với các công cụ phát triển truyền thống như Visual Studio 2008. Họ cũng có thể sử dụng phiên bản này của Windows Azure để tạo ra các ứng dụng Web.

2. Lợi ích Windows Azure

– Azure giúp giảm thiểu nhu cầu mua công nghệ, cho phép lập trình viên nhanh chóng và dễ dàng tạo ra các ứng dụng chạy trên đám mây bằng cách sử dụng các kỹ thuật có sẵn với môi trường phát triển là Visual Studio và Microsoft.NET framework, hỗ trợ nhiều ngôn ngữ lập trình và môi trường phát triển. 

– Azure đơn giản hóa việc duy trì và vận hành ứng dụng bằng cách cung cấp việc chạy ứng dụng hoặc lưu trữ khi có nhu cầu. Việc quản lý cơ sở hạ tầng được tiến hành tự động. Azure cung cấp một môi trường mở, chuẩn, hỗ trợ nhiều giao thức mạng gồm HTTP, REST, SOAP, XML. Nếu như Windows Live, Microsoft Dynamics và những dịch vụ Microsoft trực tuyến cho thương mại khác như Microsoft Exchange Online, SharePoint Online cung cấp các ứng dụng đám mây có sẵn cho người sử dụng thì Azure cho phép lập trình viên cung cấp cho khách hàng những thành phần tính toán, lưu trữ, xây dựng các khối dịch vụ và tạo các ứng dụng đám mây.

3. Ứng dụng Windows Azure

Cả ứng dụng Windows Azure và các ứng dụng chạy trên máy cá nhân có thể truy cập các dịch vụ lưu trữ của Windows Azure theo cùng một cách: sử dụng phương thức REST. Tuy nhiên, thành phần lưu trữ dữ liệu không phải là Microsoft SQL Server, cũng không phải là một hệ thống quan hệ và ngôn ngữ truy vấn của nó không phải là SQL.

Thành phần này được thiết kế để hỗ trợ chạy các ứng dụng của Windows Azure, nó cung cấp các kiểu lưu trữ đơn giản hơn, linh động hơn. Nó cũng cho phép lưu các đối tượng dữ liệu lớn (blobs), cung cấp hàng đợi để giao tiếp giữa các thành phần của ứng dụng Windows Azure và thậm chí cung cấp các bảng với ngôn ngữ truy vấn dễ hiểu.

Chạy ứng dụng và lưu dữ liệu trên đám mây rất có ý nghĩa. Thay vì phải mua sắm, cài đặt và xử lý chính hệ thống của mình, một tổ chức có thể chỉ phụ thuộc vào nhà cung cấp đám mây. Khách hàng cũng chỉ phải trả cho việc chạy ứng dụng và lưu trữ mà họ sử dụng thay vì phải duy trì rất nhiều máy chủ chỉ để phục vụ một số nhu cầu nào đó. Và nếu được viết chính xác, các ứng dụng có thể được thay đổi dễ dàng, tận dụng được những tính năng của trung tâm dữ liệu mà đám mây cung cấp.

Trong Windows Azure, mỗi ứng dụng có một file cấu hình. Bằng việc thay đổi thông tin lưu trong file này, chủ sở hữu của ứng dụng có thể thay đổi số lượng các thể hiện mà Windows Azure sẽ chạy. Kết cấu Windows Azure giám sát ứng dụng để duy trì trạng thái mong muốn của ứng dụng đó.

Để cho phép khách hàng tạo ra, cấu hình và giám sát các ứng dụng, Windows Azure cung cấp một cổng có thể truy cập được qua trình duyệt. Mỗi khách hàng được cung cấp một tài khoản Windows Azure ID, một tài khoản để chạy ứng dụng, một tài khoản để lưu trữ dữ liệu.

Windows Azure có thể được ứng dụng theo nhiều cách khác nhau. Một số ứng dụng tiêu biểu:

Tạo ra một trang web mới: Windows Azure hỗ trợ cả các dịch vụ web và các tiến trình bên dưới, ứng dụng có thể cung cấp giao diện người dùng tương tác cũng như xử lý công việc để đồng bộ người dùng. Một nhà bán lẻ phần mềm độc lập (ISV) tạo ra phiên bản phần mềm hoạt động như là dịch vụ (SaaS) của một ứng dụng đã có. Ứng dụng .NET có thể được xây dựng trên Windows Azure. Vì Windows Azure cung cấp một môi trường .NET chuẩn nên việc chuyển các ứng dụng .NET lên đám mây không gây ra nhiều vấn đề. Xây dựng ứng dụng trên một nền tảng đã tồn tại cho phép ISV hướng đến việc kinh doanh của họ thay vì mất thời gian cho cơ sở hạ tầng.

Một ứng dụng doanh nghiệp: Chọn các ứng dụng trong trung tâm dữ liệu của Microsoft giúp các doanh nghiệp không phải trả tiền cho việc quản lý máy chủ mà tập trung toàn bộ chi phí vào việc xử lý. Chạy ứng dụng trên đám mây là một trong những xu hướng 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 để làm việc này, cùng với cách thức lưu trữ dữ liệu. Windows Azure làm hai việc chính: chạy ứng dụng và lưu trữ dữ liệu.

Chạy ứng dụng: Trong Windows Azure, một ứng dụng có nhiều thể hiện, mỗi thể hiện chạy một phần của mã ứng dụng.

Mỗi thể hiện chạy trên máy ảo của nó. Những máy ảo này chạy Windows Server 2008 64 bit, chúng được thiết kế đặc biệt để sử dụng trên đám mây. Một ứng dụng Windows Azure không thể thấy được máy ảo mà nó đang chạy trong đó. Lập trình viên không được phép cung cấp hình ảnh máy ảo của mình cho Windows Azure, cũng không cần quan tâm về cách duy trì bản sao của hệ điều hành Windows. Thay vào đó, phiên bản đầu tiên cho phép lập trình viên tạo ra ứng dụng .NET 3.5 với Web role và/hoặc Worker role.

Mỗi web role chấp nhận các yêu cầu HTTP hay HTTPS đến qua IIS7. Một web role có thể thực thi sử dụng ASP.NET, WCF hay các công nghệ .NET framework khác làm việc với IIS. Windows Azure cung cấp cân bằng tải có gắn sẵn để mở rộng các yêu cầu qua web role như một phần của ứng dụng.

4. Windows Azure cung cấp các dịch vụ lưu trữ và tính toán cho đám mây

Một worker role, ngược lại, không thể chấp nhận các yêu cầu trực tiếp từ bên ngoài, nó không cho phép các kết nối đến và IIS không chạy trên máy ảo của nó. Thay vào đó, nó nhận dữ liệu vào từ web role, qua hàng đợi trong Windows Azure Storage.

Kết quả của việc này có thể được ghi vào Windows Azure Storage hoặc được gửi ra ngoài. Không giống như web role được tạo ra để xử lý một yêu cầu HTTP đến và kết thúc khi yêu cầu đã được xử lý, một worker role có thể chạy mãi mãi. Một worker role được thực thi sử dụng bất kỳ công nghệ .NET nào.

Bất kể là chạy web role hay worker role, mỗi máy ảo chứa một tác nhân Windows Azure (Windows Azure Agent) cho phép ứng dụng tương tác với kết cấu Windows Azure.

Phiên bản đầu tiên của Windows Azure duy trì một mối quan hệ một – một giữa máy ảo và nhân xử lý vật lý của nó. Vì vậy, hiệu suất của ứng dụng có thể được đảm bảo. Để tăng hiệu suất của ứng dụng, có thể tăng số lượng thể hiện trong file cấu hình. Kết cấu Windows Azure sẽ chuyển sang máy ảo mới, gán chúng với nhân và bắt đầu chạy nhiều thể hiện của ứng dụng hơn. Kết cấu cũng phát hiện xem khi nào web role hoặc worker role bị lỗi, để bắt đầu một cái mới.

Các trạng thái của web role sẽ được ghi vào Windows Azure Storage hoặc được chuyển về cho khách qua cookie.

Cả web role và worker role đều được thực thi sử dụng công nghệ .NET chuẩn. Ứng dụng truy cập dữ liệu theo các cách khác nhau. Truy cập vào dữ liệu Windows Azure sử dụng dịch vụ web ADO.NET. Worker role phụ thuộc vào hàng đợi trong Windows Azure Storage để lấy thông tin đầu vào, một hạn chế khác là ứng dụng Windows Azure không chạy trên môi trường tin cậy, chúng bị hạn chế bởi cái mà Microsoft gọi là Windows Azure Trust.

Với lập trình viên, xây dựng một ứng dụng Windows Azure trong phiên bản PDC giống như xây dựng một ứng dụng .NET truyền thống. Microsoft cung cấp khuôn mẫu (template) project Visual Studio 2008 để tạo ra web role, worker role hoặc cả hai. Lập trình viên tự do sử dụng bất kỳ ngôn ngữ .NET nào. Gói phát triển phần mềm Windows Azure gồm phiên bản của môi trường Windows Azure chạy trên máy của lập trình viên. Gói này bao gồm Windows Azure Storage, một Windows Azure Agent và bất kỳ ứng dụng gì có thể thấy trên đám mây. Lập trình viên có thể tạo ra và sửa ứng dụng bằng hệ thống này, sau đó triển khai trên đám mây khi đã sẵn sàng. Tuy nhiên không thể đưa bộ gỡ lỗi lên đám mây, vì vậy sửa lỗi trên đám mây phụ thuộc vào việc viết ra bản ghi (log) thông tin Windows Azure qua Windows Azure Agent.

Windows Azure cũng cung cấp những dịch vụ khác cho lập trình viên. Ví dụ: một ứng dụng Windows Azure có thể gửi một chuỗi thông báo qua Windows Azure Agent và Windows Azure sẽ chuyển tiếp thông báo đó qua thư, thông điệp tức thời hay một cơ chế nào đó tới người nhận cụ thể. Nếu muốn, Windows Azure có thể phát hiện xem ứng dụng nào lỗi và gửi thông báo. Windows Azure Platform cũng cung cấp thông tin chi tiết về tài nguyên ứng dụng, gồm thời gian xử lý, băng thông đi và đến, lưu trữ.

Truy cập dữ liệu: Cách đơn giản nhất để lưu dữ liệu là sử dụng blob.

Một tài khoản lưu trữ có thể có một hoặc nhiều container, mỗi container có một hoặc nhiều blob. Blob có thể lớn (50 gigabytes) và để sử dụng blob hiệu quả, mỗi blob có thể được chia thành các khối (block). Nếu có lỗi xảy ra, việc chuyển dữ liệu có thể được khôi phục lại với khối gần nhất thay vì phải gửi lại toàn bộ blob.

Blob được lưu trong phạm vi Blob Container. Trong cùng một container, mỗi blob có tên riêng. Dữ liệu trong một blob là các cặp <tên, giá trị>, có kích thước khoảng 8 KB.

Blob chỉ thích hợp cho một số kiểu dữ liệu. Để ứng dụng làm việc với dữ liệu hiệu quả hơn, Windows Azure Storage cung cấp bảng (table). Dữ liệu chứa trong bảng gồm các thực thể với các thuộc tính. Các khái niệm liên quan đến bảng:

Thực thể (hàng): là những đối tượng dữ liệu cơ bản được lưu trong bảng. Một thực thể chứa tập hợp các thuộc tính. Mỗi bảng có hai thuộc tính tạo thành khóa riêng cho thực thể. Mỗi thực thể có nhiều nhất 255 thuộc tính gồm cả các thuộc tính hệ thống như khóa phân vùng (PartitionKey), khóa hàng (RowKey), thời gian lưu lại thay đổi (Timestamp).

Thuộc tính (cột): thể hiện một giá trị đơn trong một thực thể. Tên thuộc tính có phân biệt chữ hoa, chữ thường.

Khóa phân vùng (partitionkey): thuộc tính khóa đầu tiên của mọi bảng. Hệ thống sử dụng khóa phân vùng để tự động phân bố các thực thể của bảng trên nhiều nút lưu trữ khác nhau. Khóa phân vùng có kiểu string.

Khóa hàng (rowkey): thuộc tính khóa thứ hai của mọi bảng. Đây là định danh riêng của mọi thực thể trong phân vùng chứa thực thể đó. Khóa phân vùng và khóa hàng xác định cụ thể một thực thể trong bảng. Khóa hàng có kiểu string.

Thời gian lưu lại thay đổi: thời gian hệ thống lưu lại phiên bản của thực thể.

Phân vùng: tập hợp các thực thể trong bảng có cùng khóa phân vùng.

Thứ tự sắp xếp: mỗi thực thể trong bảng được sắp xếp theo khóa phân vùng và khóa hàng để truy vấn dựa theo những khóa này hiệu quả hơn, kết quả trả về được sắp xếp theo những khóa này.

Một bảng không có giản đồ định nghĩa sẵn (defined schema), thuộc tính có nhiều loại khác nhau: int, string, bool, DateTime. Thay vì sử dụng SQL, ứng dụng truy cập dữ liệu bảng sử dụng lệnh truy vấn với cú pháp LINQ. Một bảng có thể lớn, với hàng tỉ thực thể lưu hàng triệu byte dữ liệu, nếu cần thiết, Windows Azure có thể phân chia các bảng trên nhiều máy chủ để cải thiện hiệu suất.

Blob và bảng đều được dùng để lưu dữ liệu. Lựa chọn thứ ba là hàng đợi (queue). Hàng đợi cung cấp cách để web role giao tiếp với worker role. Một hàng đợi có thể chứa nhiều thông điệp. Tên của hàng đợi có phạm vi trong tên tài khoản. Số lượng các thông điệp lưu trong hàng đợi không bị giới hạn. Mỗi thông điệp được lưu nhiều nhất là một tuần, sau đó hệ thống sẽ tự thu dọn những thông điệp lâu hơn một tuần. Dữ liệu trong hàng đợi cũng có dạng <tên, giá trị> và mỗi hàng đợi chứa tối đa 8 KB dữ liệu.

Thông điệp được lưu trong hàng đợi. Khi được đưa vào hàng đợi, thông điệp có thể có dạng nhị phân nhưng khi lấy thông điệp ra khỏi hàng đợi, đáp ứng trả về có dạng XML còn thông điệp được mã hóa base64. Thông điệp được trả về từ hàng đợi không theo thứ tự, mỗi thông điệp có thể được trả về nhiều hơn một lần. Một số tham số được sử dụng trong hàng đợi của Azure là:

MessageID: giá trị định danh thông điệp trong hàng đợi.

VisibilityTimeout: số thực xác định thời gian chờ tính bằng giây có thể thấy được thông điệp. Giá trị cực đại là 2 giờ. Thời gian mặc định là 30 giây.

PopReceipt: chuỗi được trả về khi truy vấn thông điệp. Chuỗi này cùng với MessageID là những giá trị bắt buộc khi muốn xóa một thông điệp khỏi hàng đợi.

MessageTTL: xác định thời gian sống tính bằng giây của thông điệp. Thời gian sống cực đại là 7 ngày, giá trị mặc định là 7 ngày. Nếu trong thời gian sống mà thông điệp không bị chủ tài khoản xóa khỏi hàng đợi, hệ thống lưu trữ sẽ tự động xóa thông điệp.

Windows Azure cho phép lưu dữ liệu trong blob, table và queue theo kiểu REST qua giao thức HTTP. Windows Azure Storage có thể truy cập ứng dụng Windows Azure hoặc một ứng dụng chạy ở một nơi nào đó. Trong cả hai trường hợp, các kiểu lưu trữ của Windows Azure sử dụng tiêu chuẩn REST để xác định và lấy dữ liệu. Mọi thứ được đặt tên sử dụng URIs và được truy cập với chuẩn HTTP. Một máy khách .NET có thể sử dụng dịch vụ dữ liệu ADO.NET và LINQ.

This div height required for enabling the sticky sidebar
error: Content is protected !!
Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views :