OpenStack là gì? Ảo hóa OpenStack được hiểu thế nào?

OpenStack để làm gì?

Trong bài viết này PINET sẽ giới thiệu sơ lược những vấn đề cơ bản về OpenStack, nhằm giúp những bạn mới bắt đầu tìm hiểu có thể tiếp cận được OpenStack là gì? Ảo hóa OpenStack được hiểu thế nào?

Nếu bạn là dân IT chuyên nghiệp chắc các bạn cũng đã nghe qua các cum từ Ảo Hóa (Virtualization) và Điện toán đám mây (Cloud Computing), vậy thì cụ thể hiểu như thế nào?

Ảo hóa (Virtualization)

Đa số khi nói đến Virtualization thì mọi người đều hiểu là Ảo hóa. Ảo hóa là kỹ thuật tạo ra phần cứng, thiết bị  mạng, thiết bị lưu trữ,… ảo – không có thật (cũng có thể là giả lập hoặc mô phỏng). Hiểu đơn giản thì là nhìn thấy nhưng không sờ được, cầm được.

Đi kèm với Ảo hóa thường có các cụm từ Hardware Virtualization, Platform Virtualization: các cụm từ này ám chỉ việc tạo ra các thành phần phần cứng (ảo) để tạo ra các máy ảo (Virtual Machine), chúng gần như có đầy đủ các thành phần như máy vật lý (physical machine ) và có thể cài đặt hệ điều hành (Linux, Windows,….) trong network thì có thể có các Router ảo và Switch ảo. Tất nhiên người dùng có thể sử dụng và khai thác được các máy ảo, thiết bị ảo này. Thường gặp nhất trong hiện tại có thể là khi các bạn học về Microsoft, Cisco, Juniper,… cần sử dụng các chương trình giả lập, hay phần mềm để tạo ra các thiết bị ảo này.

Nếu đứng trên góc độ của người dùng thì có vài điểm lợi sau:

  • Tiết kiệm: Kỹ thuật ảo hóa giúp tiết kiệm tiền bạc và tận dụng được tài nguyên phần cứng. Ví dụ khi cần có một máy tính chạy hệ điều hành, thay vì mua thì ta có thể cài đặt và tạo ra các máy ảo trên máy vật lý của chúng ta.
  • Linh hoạt trong khi sử dụng: Với các phần mềm để tạo ra các máy ảo, bạn có thể tạo, xóa, hủy các máy ảo này một cách nhanh chóng và tiện lợi (tùy các nền tảng khác nhau và kỹ năng sử dụng của người dùng khác nhau).
  • Nhanh chóng và thuận tiện: Đối với các môi trường thử nghiệm và phòng thí nghiệm thì kỹ thuật ảo hóa giúp sao lưu và khôi phục hệ thống, khôi phục máy ảo nhanh chóng và thuận tiện.

Cloud Computing

Tại Việt Nam thì đa số hiểu Cloud Computing là Điện toán đám mây, một trong các công nghệ “hot” trong vài năm trở lại đây. Đây cũng là một cụm từ được nhắc đến nhiều trong các bài báo, bài viết của các hãng công nghệ. Viện tiêu chuẩn và công nghệ quốc gia của Mỹ (NIST) đã định nghĩa: Điện toán đám mây là mô hình điện toán cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên 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).

Hiểu một cách đơn giản thì Điện toán đám mây là bước kế tiếp của Ảo hóa. Ảo hóa phần cứng, ảo hóa ứng dụng là thành phần quản lý và tổ chức, vận hành các hệ thống ảo hóa trước đó.

Để hiểu rõ thì chúng ta cần nắm được 5 – 4 – 3 trong Cloud Computing: đó là 5 đặc tính, 4 mô hình dịch vụ và 3 mô hình triển khai. Tìm hiểu tại đây: https://pinet.com.vn/giai-phap-cloud-computing.html

 Vậy OpenStack là gì?

OpenStack là một phần mềm mã nguồn mở, dùng để triển khai Cloud Computing, bao gồm private cloud và public cloud (Open source software for building private and public clouds)

OpenStack được giới thiệu trên trang chủ http://openstack.org như sau:

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

Hình minh họa về vị trí của OpenStack trong thực tế như sau:

  • Phía dưới là phần cứng máy chủ đã được ảo hóa để chia sẻ cho ứng dụng, người dùng
  • Trên cùng là các ứng dụng của bạn, tức là các phần mềm mà bạn sử dụng
  • Và OpenStack là phần ở giữa 2 phần trên, trong OpenStack có các thành phần, module khác nhau nhưng trong hình có minh họa các thành phần cơ bản như Dashboard, Compute, Networking, API, Storage …

Sau đây, chúng tôi sẽ nêu một số thông tin vắn tắt về OpenStack:

  • OpenStack là một dự án mã nguồn mở dùng để triển khai private cloud và public cloud, nó bao gồm nhiều thành phần (tài liệu tiếng anh gọi là Project) do các công ty, tổ chức, lập trình viên tự nguyện xây dựng và phát triển.
  • Có 3 nhóm chính tham gia: Nhóm điều hành, nhóm phát triển và nhóm người dùng.
  • OpenStack hoạt động theo hướng mở: Công khai lộ trình phát triển, công khai mã nguồn …
  • Tháng 10/2010 Rackspace và NASA công bố phiên bản đầu tiên của OpenStack, có tên là OpenStack Austin, với 2 thành phần chính (Project) : Compute (tên mã là Nova) và Object Storage (tên mã là Swift)
  • Các phiên bản OpenStack có chu kỳ 6 tháng. Tức là 6 tháng một lần sẽ công bố phiên bản mới với các tính năng bổ sung.
  • Tính đến nay có 13 phiên bản của OpenStack bao gồm: Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty, Mitaka.
  • Tên các phiên bản được bắt đầu theo thứ tự A, B, C, D …trong bảng chữ cái.
  • Các thành phần (Project) có tên và có mã dự án đi kèm, với Havana gồm 9 thành phần sau:
    • Compute (code-name Nova)
    • Networking (code-name Neutron)
    • Object Storage (code-name Swift)
    • Block Storage (code-name Cinder)
    • Identity (code-name Keystone)
    • Image Service (code-name Glance)
    • Dashboard (code-name Horizon)
    • Telemetry (code-name Ceilometer)
    • Orchestration (code-name Heat)

Hy vọng các thông tin trên đã phần nào giúp các bạn có thể giải quyết các thắc mắc ban đầu. Cảm ơn các bạn đã quan tâm theo dõi.