Chương 1: Điện toán đám mây và Azure Services Platform 1.1 Điện toán đám mây 1.1 Khái niệm Điện toán đám mây là các phát triển dựa vào mạng Internet sử dụng các công nghệ máy tính. Đây là một kiểu điện toán trong đó những tài nguyên tính toán và lưu trữ được cung cấp như những dịch vụ trên mạng. Người dùng không cần biết hay có kinh nghiệm điều khiển và vận hành những công nghệ này. [1][2] Điện toán đám mây bao gồm: Phần mềm hoạt động như dịch vụ (SaaS: Software as a service), nền tảng như một dịch vụ (Paas: Platform as a Service), Dịch vụ Web và những xu hướng công nghệ mới.
Chúng đều dựa vào mạng Internet để đáp ứng nhu cầu sử dụng của người dùng. Những ví dụ tiêu biểu về điện toán đám mây là Salesforce.com và Google Apps. Chúng cung cấp những ứng dụng thương mại trực tuyến, được truy cập thông qua trình duyệt web, trong khi dữ liệu và phần mềm được lưu trên đám mây. [2] Đám mây là hình ảnh ẩn dụ cho mạng Internet và là sự trừu tượng cho những cơ sở hạ tầng phức tạp mà nó che giấu.
Điện toán đám mây thường bị nhầm lẫn với điện toán lưới (grid computing) (một loại hình điện toán phân tán được tạo bởi các mạng máy tính nhỏ hoặc các cặp máy tính, hoạt động phối hợp với nhau để thực hiện các chức năng rất lớn), điện toán theo nhu cầu (utility computing) (khối những tài nguyên máy tính, như các bộ xử lý và bộ nhớ, trong vai trò một dịch vụ trắc lượng tương tự với các công trình hạ tầng kỹ thuật truyền thống) và điện toán tự trị (autonomic computing) (các hệ thống máy tính có khả năng tự quản lý). [2] Trên thực tế, việc triển khai các cơ sở hạ tầng cho điện toán đám mây dựa trên các đặc điểm của điện toán lưới, điện toán theo nhu cầu và điện toán tự trị. Điện toán đám mây có thể được xem như là giai đoạn tự nhiên tiếp theo từ mô hình điện toán lưới.2 Kiến trúc Điểm chủ yếu trong cơ sở hạ tầng của điện toán đám mây hiện nay bao gồm các dịch vụ tin cậy được phân phối qua trung tâm dữ liệu và được xây dựng trên các máy chủ với các công nghệ ảo hóa khác nhau. Các dịch vụ này có thể truy cập được từ bất kỳ nơi nào trên thế giới, và “đám mây” là điểm truy cập duy nhất đáp ứng tất cả nhu cầu của người dùng máy tính.
Việc cung cấp đám mây phải phù hợp với yêu cầu của khách hàng về chất lượng dịch vụ và mức độ chấp nhận của dịch vụ. Các tiêu chuẩn mở và phần mềm nguồn mở cũng quyết định đến sự lớn mạnh của điện toán đám mây. Kiến trúc đám mây gồm: nền tảng đám mây (Cloud Platform), các dịch vụ đám mây (Cloud Service), cơ sở hạ tầng đám mây (Cloud Infrastructure), lưu trữ đám mây (Cloud Storage). Hình 1: Kiến trúc của điện toán đám mây 1.3 Đặc tính Nói chung khách hàng không cần sở hữu cơ sở hạ tầng, họ sẽ chỉ phải trả cho những gì họ sử dụng.
Việc chia sẻ giữa nhiều người thuê giúp tận dụng nguồn tài nguyên máy tính và giảm phí tổn. Một số nhà cung cấp bao gồm Amazon, Google và Yahoo. Gần đây, Microsoft cũng giới thiệu dịch vụ điện toán đám mây mới là Windows Azure. Những dịch vụ này có thể được truy cập nhờ Microsoft Visual Studio bằng cách cài đặt Windows Azure SDK và Windows Azure Tools cho Visual Studio.4 Các chính sách bảo mật Phân quyền truy cập người dùng: xác định xem ai có quyền truy cập đặc biệt tới dữ liệu và quyền của người quản trị.
Điều chỉnh sự chấp thuận: đảm bảo rằng một nhà bán lẻ trải qua những kiểm tra bên ngoài và những chứng nhận bảo mật. Định vị dữ liệu: xem nhà cung cấp có cho phép điều khiển qua các vùng dữ liệu không. Chia tách dữ liệu: đảm bảo rằng tất cả các giai đoạn đều được mã hóa và tất cả các giai đoạn mã hóa đều được thiết kế và kiểm thử bởi các chuyên gia giàu kinh nghiệm. Khôi phục: xem điều gì sẽ xảy ra với dữ liệu nếu có rủi ro xảy ra, các nhà cung cấp có cung cấp việc khôi phục hoàn toàn dữ liệu không, nếu có thì sẽ mất khoảng bao lâu.
Hỗ trợ điều tra: tìm hiểu xem nhà bán lẻ nào có khả năng điều tra phát hiện những hoạt động không phù hợp hay những hoạt động bất hợp pháp. Tồn tại lâu dài: xem điều gì sẽ xảy ra với dữ liệu khi công ty không còn tồn tại nữa, dữ liệu sẽ được trả về như thế nào, với định dạng nào.5 Những đặc điểm chính của điện toán đám mây Điện toán đám mây có những đặc điểm chính sau đây: Tránh phí tổn cho khách hàng. Độc lập thiết bị và vị trí: cho phép khách hàng truy cập hệ thống từ bất kỳ nơi nào hoặc bằng bất kỳ thiết bị gì. Nhiều người sử dụng: giúp chia sẻ tài nguyên và giá thành, cho phép tập trung hóa cơ sở hạ tầng, tận dụng hiệu quả các hệ thống.
Phân phối theo nhu cầu sử dụng Quản lý được hiệu suất Tin cậy Khả năng mở rộng. Cải thiện tài nguyên. Khả năng duy trì.6 Thành phần Hình 2: Thành phần của điện toán đám mây Ứng dụng (application): không cần phải cài đặt và chạy ứng dụng trên chính máy tính của khách hàng, do đó giảm bớt gánh nặng của việc duy trì, điều hành và hỗ trợ. Ví dụ: máy tính đồng đẳng, ứng dụng web, phần mềm hoạt động như dịch vụ.
[2] Máy khách (clients): máy khách đám mây bao gồm phần cứng máy tính. và/hoặc phần mềm máy tính, phụ thuộc vào ứng dụng đám mây để phân phối ứng dụng, hoặc được thiết kế riêng để phân phối các dịch vụ đám mây. Ví dụ: thiết bị di động. [2] Cơ sở hạ tầng (infrastructure): cơ sở hạ tầng đám mây (cơ sở hạ tầng như là dịch vụ) là sự phân phối các cơ sở hạ tầng máy tính như là dịch vụ, điển hình như môi trường ảo.
Ví dụ: điện toán lưới. [2] Nền tảng (platform): nền tảng đám mây (nền tảng như là dịch vụ) là sự phân phối các nền tảng điện toán, và/hoặc các giải pháp như là dịch vụ, triển khai các ứng dụng không tốn tiền hoặc không gặp rắc rối do mua phần cứng, phần mềm. Ví dụ: khung ứng dụng web. [2] Dịch vụ (services): một dịch vụ đám mây bao gồm “sản phẩm, dịch vụ, giải pháp”, là hệ thống phần mềm được thiết kế để hỗ trợ tương tác giữa các máy trong mạng, dịch vụ này có thể được truy cập bởi các thành phần của điện toán đám mây khác, các phần mềm, hoặc bởi người dùng cuối.
[2] Lưu trữ (storage): lưu trữ đám mây gồm việc phân phối các dịch vụ lưu trữ dữ liệu: các dịch vụ cơ sở dữ liệu: cơ sở dữ liệu, dịch vụ web.7 Những người dùng liên quan Nhà cung cấp: trực tiếp sở hữu và điều hành các hệ thống điện toán đám mây. Người dùng: là khách hàng của điện toán đám mây. Nhà bán lẻ: bán sản phẩm và dịch vụ. Chương 2: Nền tảng dịch vụ Microsoft Azure 1.1 Azure Services Platform là gì? Azure là một nền tảng đám mây được đặt trong trung tâm dữ liệu của Microsoft, cung cấp hệ điều hành và tập các dịch vụ phát triển, có thể sử dụng độc lập hoặc kết hợp với nhau, để xây dựng các ứng dụng mới, chạy các ứng dụng trên đám mây hoặc phát triển các ứng dụng đã có lấy đám mây làm cơ sở.
Azure có cấu trúc mở, cho phép lập trình viên chọn lựa xây dựng các ứng dụng web, chạy các ứng dụng trên các thiết bị, máy tính, máy chủ nối mạng. 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. Các dịch vụ của Azure gồm Windows Azure, .NET Services, SQL Services, Live Services. Hình 3: Các dịch vụ của Azure Services Platform .2 Windows Azure 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. 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.