CHƯƠNG 1: TỔNG QUAN VỀ LƯU TRỮ VÀ BẢO MẬT DỮ LIỆU ĐIỆN TOÁN ĐÁM MÂY Chương này tập trung làm rõ những lý thuyết cơ bản về điện toán đám mây, vấn đề lưu trữ dữ liệu trên đám mây, bao gồm khái niệm, vai trò, kiến trúc, mô hình dịch vụ, mô hình triển khai điện toán đám mây, những nhà cung cấp dịch vụ và những vấn đề lưu trữ dữ liệu đám mây: mã hóa dữ liệu, bảo mật truy cập. Khái quát về điện toán đám mây 1. Khái niệm Điện toán đám mây (Cloud Computing), còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet. Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó.
Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó. Mô hình điện toán đám mây 6 1. Đặc điểm của điện toán đám mây Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây" trở thành mô hình điện toán được áp dụng rộng rãi trên toàn thế giới: - Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giá thành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây). - Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lực của người sử dụng điện toán đám mây được giảm đến mức thấp nhất.
- Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập và sử dụng hệ thống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bị nào mà họ sử dụng (chẳng hạn là PC hoặc là điện thoại di động…). - Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớn, mang lại các lợi ích cho người dùng. - Với độ tin cậy cao, không chỉ dành cho người dùng phổ thông, điện toán đám mây còn phù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và các nghiên cứu khoa học. Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi khi rơi vào trạng thái quá tải, khiến hoạt động bị ngưng trệ.
Khi rơi vào trạng thái này, người dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyên gia từ “đám mây” tiến hành xử lý. - Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên “đám mây”. - Khả năng bảo mật được cải thiện do sự tập trung về dữ liệu. - Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa và cải thiện về tính năng bởi lẽ chúng không được cài đặt cố định trên một máy tính nào.
- Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống kê trên từng khách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng. Điều này đảm bảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp để người dùng có thể lựa chọn phù hợp. Kiến trúc của điện toán đám mây Hình 1. Mô tả kiến trúc của điện toán đám mây Điện toán đám mây bao gồm 6 thành phần cơ bản: - Cơ sở hạ tầng (Infrastructure) - Lưu trữ đám mây (Cloud Storage) - Nền tảng đám mây (Cloud Platform) - Ứng dụng (Application) - Dịch vụ (Services) - Khách hàng (Client) Các mô hình triển khai điện toán đám mây: 8 - Đám mây công cộng (Public cloud) - Đám mây riêng ( Private cloud) - Đám mây cộng đồng (Community cloud) - Đám mây lai (Hybird cloud) Hình 1.
Các mô hình triển khai điện toán đám mây 1. Các nhà cung cấp dịch vụ điện toán đám mây Các nhà cung cấp dịch vụ điện toán đám mây cung cấp các dịch vụ của họ theo ba mô hình cơ bản: Cơ sở hạ tầng như một dịch vụ (IaaS – Infrastructure as a Service), nền tảng như một dịch vụ (PaaS – Platform as a Service) và phần mềm như một dịch vụ (SaaS – Software as a Service) Hình 1. Các mô hình dịch vụ của điện toán đám mây - IaaS: Cho phép bạn truy cập đến phần cứng hệ thống mạng máy tính. Cung cấp nhiều nguồn tài nguyên như là firewalls, load balancers, các địa chỉ IP nhưng hệ điều hành và các ứng dụng sẽ do bạn cài đặt và cập nhật.
Điều này giúp 9 bạn linh hoạt hơn trong việc sử dụng tài nguyên vào mục đích gì. IaaS xuất hiện rộng rãi bởi các nhà cung cấp Amazon, Memset, Google, Windows…. Một cách giúp quản lý IaaS dễ dàng hơn là phát triển các templates cho các dịch vụ đám mây nhằm tạo ra 1 bản kế hoạch chi tiết để xây dựng hệ thống ready-to-use, và tránh tình trạng di chuyển giữa các đám mây khác nhau. Với loại mô hình này hiện nay có các nhà cung cấp dịch vụ lớn như là Amazon Web services và Microsoft Azure.
Amazon Web service hiện đang là nhà cung cấp dịch vụ cloud IaaS giàu tiềm năng nhất, tuy nhiện hiện nay họ đang phải cạnh tranh về thì phần với 2 ông lớn công nghệ là Microsoft và Google. Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập trình có khả năng truy cập tới hạ tầng kiến trúc tính toán kiểu sẵn sàng-để-sử dụng (ready-to-use) của Amazon. Các máy tính có nền tảng vững chắc đã được xây dựng và tinh chế qua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ ai cũng có quyền cập tới Internet. Amazon cung cấp một số dịch vụ Web nhưng trong loạt bài viết này chỉ tập trung vào các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đáp ứng được một số yêu cầu cốt lõi của hầu hết các hệ thống như: lưu trữ, tính toán, truyền thông điệp và tập dữ liệu.
Bạn có thể xây dựng các ứng dụng phức tạp và gồm nhiều phần khác nhau bằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu quả khối hợp nhất được cung cấp bởi Amazon. Các dịch vụ Web mà tồn tại bên trong đám mây phía bên ngoài môi trường của bạn và có khả năng thực hiện là rất cao. Bạn sẽ trả chỉ dựa trên những cái bạn sử dụng mà không cần phải trả trước các chi phí và vốn đầu tư ban đầu. Bạn không cần phải mất chi phí cho bảo trì bởi vì phần cứng được duy trì và phục vụ bởi Amazon.
Trong ngành dịch vụ IaaS này Microsoft Azure thật sự là một một đối thủ nặng kí của AWS. Với thế mạnh về phân tích, lưu trữ cá nhân và đặc biệt là giải quyết được các thảm họa như phục hồi dữ liệu, khắc phục lỗi ứng dụng với các gói dịch vụ mở rộng của họ. Microsoft Azure là nền tảng điện toán đám mây mở 10 và linh hoạt cho phép bạn nhanh chóng xây dựng, triển khai và quản lý các ứng dụng thông qua mạng lưới toàn cầu của trung tâm dữ liệu Microsoft. Microsoft Azure luôn đảm bảo tính sẵn sàng và có thiết kế tải cân bằng và có khả năng tự phục hồi khi phần cứng có sự cố.
Bạn có thể sử dụng bất kỳ ngôn ngữ, công cụ hay nền tảng nào để xây dựng các ứng dụng. Và bạn có thể tích hợp các ứng dụng trên đám mây công cộng của bạn với môi trường IT có sẵn. - SaaS: cho bạn truy cập đến các phần mềm trên nền tảng đám mây mà không cần quản lý cơ sở hạ tầng và nền tảng nó đang chạy phù hợp khi bạn muốn tập trung vào người dùng cuối. Điều này có nghĩa là nó dễ dàng truy cập và có khả năng mở rộng.
Có rất nhiều ví dụ về SaaS gồm email, phần mềm văn phòng và các công cụ kiểm toán từ Google, Microsoft, Freshbooks … Các “as a service” khác. Khi mô tả về điện toán đám mây, người ta hay thêm vào “as a service” phía sau để định nghĩa nó là 1 hệ thống mạng toàn cầu hơn là ngồi trên máy tính trong văn phòng. Từ “Storage as a service” (StaaS), “Data as a service” (DaaS) đến “Security as a service” (SECaaS), có rất nhiều biến thể từ 3 dạng gốc nói trên.com và insightly là hai nhà cung cấp dịch vụ điện toán đám đám mây SaaS lớn hiện nay. Salesforce một nhà cung cấp giải pháp SaaS CRM với các Gartner nêu rõ rằng công ty đang chiếm lĩnh thị trường này.
Insightly cung cấp SaaS CRM tích hợp với Gmail và Google Apps của Google, cũng như Outlook 2013 và Office 365. Với các ứng dụng dịch vụ của Insightly giúp khách hàng theo dõi và nghiên cứu được các khách hàng tiềm năng của họ. Tất cả các ứng dụng có thể truy cập từ iOS va Android. - PaaS: hỗ trợ người sử dụng điện toán đám mây bằng các hệ điều hành, cơ sở dữ liệu, máy chủ web và môi trường thực thi lập trình.
Hơn nữa, nó cho phép bạn tập trung vào các ứng dụng cụ thể, cho phép các nhà cung cấp đám mây quản lý và đo đạc tài nguyên 1 cách tự động. 11 Vậy PaaS có thể cho phép bạn tập trung hơn vào ứng dụng và dịch vụ đầu cuối hơn là phí thời gian cho hệ điều hành. Các nhà cung cấp IaaS cũng cung cấp PaaS, giúp bạn giảm tải công việc. Với loại hình công nghệ loại này có 2 nhà đầu tư phát triển nổi bật là Red Hat OpenShiftPhần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên “OpenShift Origin”.
Người phát triển phần mềm có thể sử dụng Git để triển khai ứng dụng bằng các ngôn ngữ khác nhau trên nền tảng. Đặc biệt, OpenShift cũng hỗ trợ các ứng dụng web dạng phần mềm mã nhị phân, miễn là nó có thể chạy trên RHEL Linux. Điều này làm tăng tính tùy biến của hệ thống, hỗ trợ nhiều ngôn ngữ và frameworks. OpenShift bảo trì dịch vụ bên dưới ứng dụng và thống kê ứng dụng nếu cần thiết.
Các dịch vụ đám mây phổ biến như: EC2 của Amazon, Azure của Microsoft, IBM cung cấp Smart Cloud Enterprise, Google cung cấp App Engine, Redhat cung cấp Redhat’s Openshift, Vmware có Cloud Foundry, Viện Công nghiệp Phần mềm và Nội dung số Việt Nam có iDragon Clouds.