Điện toán đám mây với Openstack

Sử dụng tài nguyên, dịch vụ trên nền tảng điện toán đám mây (Cloud Computing) mang lại nhiều lợi ích, là nhu cầu cấp thiết của nhiều doanh nghiệp hiện nay. Ngoài giải pháp từ các hãng công nghệ lớn như Amazon, Google, Microsoft,… ta còn có thể tự cài đặt Openstack – một dự án mã nguồn mở triển khai điện toán đám mây khá nổi tiếng.

Điện toán đám mây

Theo Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST), Cloud Computing – Điện toán đám mây là mô hình cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên có thể được tính toán (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng. Đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các giao tiếp với nhà cung cấp.

Người dùng có thể sử dụng các dịch vụ trên nền tảng điện toán đám mây mà không cần phải có kiến thức, kinh nghiệm về công nghệ và các hạ tầng đứng sau đó.

Điện toán đám mây.

Phân loại điện toán đám mây

Theo các mô hình dịch vụ

Phân loại theo mô hình dịch vụ.

  • Infrastructure as a service (IaaS) – Cơ sở hạ tầng như một dịch vụ:

IaaS cung cấp cho người dùng hạ tầng thô (thường dưới hình thức các máy ảo) như một dịch vụ. Người dùng có thể triển khai và chạy phần mềm trên các máy ảo như trên một máy chủ thực hay có thể đưa dữ liệu cá nhân lên “đám mây” và lưu trữ.

Người dùng không có quyền kiểm soát hạ tầng thực bên trong “đám mây” tuy nhiên họ có toàn quyền quản lý và sử dụng tài nguyên mà họ được cung cấp, cũng như yêu cầu mở rộng lượng tài nguyên họ được phép sử dụng.

  • Platform as a service (PaaS) – Nền tảng như một dịch vụ:

PaaS cung cấp một môi trường cho các nhà phát triển ứng dụng mà họ có thể xây dựng và sử dụng để tạo ra các ứng dụng có thể điều chỉnh và tiếp tục phát triển.

Người dùng không cần quan tâm đến hệ thống hạ tầng như hệ điều hành, mạng, lưu trữ,… đang vận hành bên dưới.

  • Software as a Service (SaaS) – Phần mềm như một dịch vụ:

Cung cấp cho người dùng việc sử dụng các ứng dụng của nhà cung cấp chạy trên cơ sở hạ tầng đám mây. Các ứng dụng có thể truy cập từ các thiết bị khách khác nhau thông qua trình duyệt web hoặc giao diện chương trình.

Người dùng có quyền truy cập vào phần mềm ứng dụng và cơ sở dữ liệu. Các nhà cung cấp đám mây quản lý cơ sở hạ tầng và nền tảng chạy các ứng dụng.

Theo các mô hình triển khai

Phân loại theo mô hình triển khai.

  • Public Cloud: là các dịch vụ trên nền tảng Cloud Computing để cho các cá nhân và tổ chức thuê, họ dùng chung tài nguyên. Đây là mô hình triển khai được sử dụng phổ biến nhất hiện nay của Cloud Computing.
  • Private Cloud: dùng trong một doanh nghiệp và không chia sẻ với người dùng ngoài doanh nghiệp đó.
  • Community Cloud: là các dịch vụ trên nền tảng Cloud Computing do các công ty cùng hợp tác xây dựng và cung cấp các dịch vụ cho cộng đồng.
  • Hybrid Cloud: là thành phần của 2 hoặc nhiều các cloud khác (Private, Community hay Public Cloud) mà vẫn là các thực thể riêng biệt nhưng được liên kết với nhau, mang lại lợi ích của nhiều mô hình triển khai.

Openstack

OpenStack là một phần mềm (hoặc như mô tả trong trang chủ openstack.org: cloud operating system) mã nguồn mở, dùng để triển khai Cloud Computing, bao gồm private cloud và public cloud. OpenStack bắt đầu vào năm 2010 như là một dự án chung của Rackspace Hosting và của NASA.

Openstack logo.

Công nghệ này bao gồm một nhóm các dự án liên quan đến nhau mà kiểm soát xử lý,lưu trữ và tài nguyên mạng thông qua một trung tâm dữ liệu – trong đó người sử dụng quản lý thông qua một bảng điều khiển dựa trên nền web, các công cụ dòng lệnh,…

Tính đến nay có 21 phiên bản của OpenStack bao gồm: Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty, Mitaka, Newton, Ocata, Pike, Queens, Rocky, Stein, Train và mới nhất là bản Ussuri (05/2020).

Các thành phần chính của Openstack:

Các thành phần chính của Openstack

  • Compute (Nova): quản lý và tự động hóa các nhóm tài nguyên và có thể làm việc với các công nghệ ảo hóa.
  • Networking (Neutron): quản lý mạng và địa chỉ IP, đem đến cho người dùng khả năng tự phục vụ.
  • Block storage (Cinder): dùng để lưu trữ cơ sở dữ liệu, hệ thống tệp,…
  • Identity (Keystone): phân quyền, xác thực.
  • Image (Glance): quản lý các image (file cài đặt hệ điều hành).
  • Dashboard (Horizon): cung cấp giao diện quản lý đồ họa.