Windows Azure cho phép tạo ra các máy chủ ảo theo yêu cầu, bất kể nó được tạo ra theo một nguyên mẫu có sẵn bởi Windows Azure hoặc do người dùng cung cấp. Và người dùng có thể thuê các máy chủ ảo này theo giờ. Các tiếp cận này thường được biết đến với cái tên “Hạ tầng như một dịch vụ” IaaS.
Để tạo một VM, bạn cần phải chỉ ra kích cỡ của VM và nó sẽ sử dụng VHD (Virtal Hard Disk – Ổ đĩa ảo) nào. Như trong hình, Windows Azure Virtual Machines cung cấp một danh sách các VHD tiêu chuẩn, được cung cấp bởi Microsoft, bao gồm Windows Server 2008 R2, Windows Server 2012, và Windows Server 2008 R2 kèm với SQL Server, ngoài ra còn có cả Linux được cung cấp bởi các đối tác của Microsoft. Bạn cũng có thể tải lên và tạo mới các VM từ các VHD của mình.
Mọi sự thay đổi đối với VHD trong quá trình VM chạy sẽ được lưu trữ một các liên tục. Do đó đảm bảo khi tạo mới một VM từ VHD đó, nó sẽ cập nhật trạng thái mới nhất của VHD. Đồng thời nó cũng cho phép bạn sao chép VHD đó ra khỏi Windows Azure và thực thi cục bộ.
Windows Azure VMs có thể được sử dụng theo rất nhiều cách khác nhau. Bạn có thể sử dụng chúng để tạo ra các môi trường phát triển và kiểm thử không quá đắt, khi mà bạn có thể tắt đi khi không sử dụng đến. Bạn có thể tạo và chạy các ứng dụng mà sử dụng
bất kỳ ngôn ngữ hay thư viện nào mà bạn muốn. Những ứng dụng này có thể sử dụng bất kỳ lựa chọn quản lý dữ liệu nào được cung cấp bởi Windows Azure, trong đó bạn có thể chọn SQL Server hoặc DBMS (Database Management System) khác chạy trên một hoặc nhiều VMs. Một lựa chọn khác là sử dụng Windows Azure VMs như một sự mở rộng cho trung tâm dữ liệu nội bộ của bạn (on-premises datacenter), thực thi SharePoint hoặc các ứng dụng khác. Để hỗ trợ việc này, nó cho phép bạn tạo ra Windows Domains trên cloud bằng việc chạy Active Directory trong Windows Azure VMs.
Web Sites
Một trong những thứ phổ biến nhất mà mọi người hay thực hiện trên cloud đó là chạy các web site và các ứng dụng web. Windows Azure VMs cho phép điều này, nhưng bạn vẫn phải có trách nhiệm quản lý một hoặc nhiều VMs. Điều mà bạn chỉ muốn đó là một web site mà không quan tâm tới việc ai quản trị các VMs đó.
Đó chính là thứ mà Windows Azure Web Sites cung cấp. Mô hình thực thi này cung cấp một môi trường web sử dụng IIS (Internet Information Service). Bạn có thể di chuyển một IIS web site hiện có lên Windows Azure Web Sites hoặc tạo một cái mới tính trên cloud. Trong khi web site đang chạy, bạn có thể thêm hoặc bớt một instance web site dựa trên các tham số về cân bằng tải giữa các web site đó. Như trong hình bạn có thể thấy, Windows Azure Web Sites cho phép nhiều web site thực thi trên cùng một IIS (hay một VM) hoặc mỗi web site một IIS riêng biệt.
Windows Azure Web Sites hỗ trợ .NET, PHP và Node.js đi cùng với SQL Database (từ ClearDB một đối tác của Microsoft) và MySQL cho việc lưu trữ dữ liệu quan hệ. Nó cũng hỗ trợ các ứng dụng phổ biến như WordPress, Joomla và Drupal. Mục tiêu là để cung cấp một nền tảng hữu dụng với chi phí thấp, khả năng mở rộng, trong việc tạo các web sites và các ứng dụng web trên môi trường public cloud.
Cloud Services (Các dịch vụ đám mây)
Giả sử bạn muốn xây dựng một ứng dụng trên cloud cho phép rất nhiều người sử dụng đồng thời, mà không đòi hỏi quá nhiều việc quản trị, và không được phép ngừng hoạt động. Hoặc bạn là một nhà cung cấp phần mềm đóng gói thương mại, ví dụ như cung cấp SaaS (Software as a service) bằng việc xây dựng một phiên bản ứng dụng của mình trên cloud. Hoặc bạn là một công ty mới khởi nghiệp tạo một ứng dụng cho người dùng mà mong muốn rằng nó sẽ luôn tăng trưởng…Nếu bạn xây dựng trên Windows Azure, mô hình thực thi này sẽ được sử dụng.
Windows Azure Web Sites cho phép tạo các loại ứng dụng này, những có một số ràng buộc. Bạn không có quyền quản trị truy cập, lấy ví dụ, bạn không thể cài đặt một phần mềm bất kỳ. Windows Azure VMs cho phép rất nhiều thứ mềm dẽo, bao gồm cả quyền truy cập quản trị, và bạn có thể sử dụng để xây dựng một ứng dụng có khả năng mở rộng rất tốt, nhưng đồng với nó là bạn phải nắm bắt rất nhiều thứ liên quan đến tính tin cậy cũng như là quản trị của ứng dụng. Những gì mà bạn muốn đó là một lựa chọn cho phép bạn kiểm soát những gì cần thiết, mà không quan tâm tới các khía cạnh về tính tin cậy cũng như quản trị đi kèm.
Đó chính là thứ mà Windows Azure Cloud Services cung cấp. Công nghệ này được thiết kế nhằm hỗ trợ các ứng dụng với khả năng mở rộng, độ tin cậy, và ít phải quản trị. Và nó là một ví dụ của cái gọi là “Nền tảng như một dịch vụ” PaaS (Platform as a service). Để sử dụng, bạn tạo ra một ứng dụng dựa trên công nghệ mà bạn đã chọn, giống như C#, Java, PHP, Python, Node.js, hoặc bất thứ cái gì khác. Các đoạn code sẽ được thực thi trên VMs (được biết đến như các instances) chạy trên một phiên bản của
Windows Server. Nhưng những VMs này hoàn toàn tách biệt với các VMs mà bạn tạo từ Windows Azure Virtual Machine.Tóm lại, mỗi một mô hình thực thi của Windows Azure ở trên có một vai trò nhất định. Windows Azure Virtual Machine cung cấp một môi trường điện toán cho mục đích chung, Windows Azure Web Sites cung cấp giải pháp web hosting chi phí thấp, và Windows Azure Cloud Services là lựa chọn tốt nhất cho việc tạo các ứng dụng có khả năng mở rộng và độ tin cậy trong khi chi phí quản trị thấp nhất. Và như đã đề cập ở trên, bạn có thể sử dụng các công nghệ này độc lập hoặc kết hợp với nhau nếu cần để tạo ra một nền tảng thích hợp cho ứng dụng của mình. Cách tiếp cận mà bạn chọn phụ thuộc vào vấn đề mà bạn đang giải quyết.
CHƯƠNG IV. VỀ VẤN ĐỀ AN NINH TRÊN ĐIỆN TOÁN ĐÁM MÂY1. Nghiên cứu có liên quan về an toàn trên điện toán đám mây 1. Nghiên cứu có liên quan về an toàn trên điện toán đám mây
Hình 1 cho một số vấn đề chính trên điện toán đám mây. Đây là những chủ đề luôn được quan tâm. Vấn đề thì khó nhưng lý do có vẻ thật đơn giản, bởi vì người ta đặt dữ liệu của mình (loại tài sản (rất) có giá trị) trên một máy tính ở trên mây”, dùng một phần mềm của ai đó (một nhà cung cấp) ở một nơi nào đó không biết rõ và chạy trên một máy ảo mà máy thật (tức là CPU vật lý) nằm ở đâu cũng không rõ nốt. Có rất nhiều nỗi lo lắng trong hoàn cảnh như vậy: mất dữ liệu, thông tin bị rò rỉ, bị theo dõi, bị lấy cắp, lừa đảo,nghẽn mạng,…
Nhiều nghiên cứu về vấn an toàn trên điện toán đám mây đã được thực hiện. Nhóm “Cloud Computing Use Cases” thảo luận nhiều vấn đề liên quan tới mô hình điện toán đám mây trên các quan điểm của người dùng, nhà phát triển và kỹ sư bảo mật. Văn phòng an toàn thông tin và mạng Châu Âu (ENISA) đưa ra các rủi ro, các ảnh hưởng, các điểm yếu của điện toán đám mây.Một số vấn đề chuyên biệt về an toàn trên điện toán
đám mây như toàn vẹn dữ liệu, tính riêng tư và thông tin nhạy cảm được thảo luận trong [7]. Vấn đề kỹ thuật tấn công, chẳng hạn kiểu tấn công XML (XML-attack) có thể tìm thấy trong [8], lỗ hỏng bảo mật đám mây có thể tìm thấy trong [9]. Các thách thức an toàn và bảo mật liên quan đến các mô hình dịch vụ của điện toán đám mây, đặc biệt là mô hình SaaS có thể tham khảo trong [10]. Vấn đề an toàn trên điện toán đám mây là rất phức tạp vì nó liên quan đến nhiều khía cạnh và chủ thể: kiến trúc, dịch vụ điện toán đám mây, đặc trưng của đám mây, thuê bao, chủ sở hữu, chính sách bảo mật dữ liệu,… Hình 1 cho một hình ảnh rộng, khái quát về sự phức tạp của vấn đề này. Phần tiếp theo của bài viết sẽ đi vào tổng hợp về vấn đề an ninh trên điện toán đám mây từ góc độ kiến trúc, dịch vụ và một số đặc điểm chính của điện toán đám mây.
Hình 2: Sự phức tạp của vấn đề an toàn trên điện toán đám mây