Có vẻ là quá thường  nhưng để bắt đầu làm gì đó "to tát" thì hay bắt đầu những việc đơn giản trước. Tôi viết bài này để chia sẻ tới những người mới bắt đầu tìm hiểu và có đam mê.  Chắc hẳn đây cũng không phải là câu hỏi thừa hay thiếu đối với những người mới bắt đầu tìm hiểu về OpenStack nói riêng và Cloud Computing nói chung.

Và tôi cũng như mọi người, khi lần đầu tiên được nghe đến nó (tức OpenStack) thì câu hỏi đầu tiên của tôi là: OpenStack là gì và để làm gì nhỉ ? Mới đầu tôi cũng như gà mắc tóc ... tìm tài liệu, đọc, dịch, tra cứu .... Do vậy mục tiêu tôi  tốc ký lại bài này là để chia sẻ và thử sức xem mình đã tìm hiểu được đến đâu về OpenStack, bài viết sẽ không đi quá sâu vào kỹ thuật  và cũng không quảng cáo cho OpenStack mà chỉ giới thiệu sơ lược để cho anh em mới bắt đầu tìm hiểu có thể tiếp cận được. Tôi mong các anh em đã có kinh nghiệm rồi có thể góp ý và đính chính để bài viết hoàn thiện dần dần.

Với đa số dẫn kỹ thuật (CNTT, IT, Computer Science - Khoa học máy tính ...) mà đã đi làm vài năm thì có thể tước khi nghe đến OpenStack thì sẽ nghe qua đến cụm từ  Ảo Hóa (Virtualization) và Điện toán đám mây (Cloud Computing) rồi mới đến OpenStack. Các cụm từ Ảo hóa và Cloud Computing thì có những định nghĩa và bài báo cụ thể nhưng ở đây tôi chỉ lướt qua và tổng hợp theo ý hiểu cá nhân (tôi không làm khoa học nên không viết theo kiểu hàn lâm):

Ảo hóa- tiếng anh là Virtualization:

Từ này tra từ điển Anh - Việt  thì tôi không thấy, nhưng wiki và từ điển Anh - Anh thì có. Và đa số khi nói đến Virtualization thì mọi người đều hiểu là Ảo Hóa. Nôm na mà nói thì Ả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 ( và ở góc độ nào đó có thể hiểu là "giả lập" và "mô phỏng" lại các thành phần này). Tức 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 có gần như đầy đủ các thành phần như máy thật (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 ) và 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à các bạn học về Microsoft, Cisco, Juniper ..., 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.

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

Các kỹ thuật (loại) ảo hóa: Với phạm vi bài viết này thì tôi chưa có cái nhìn tổng quan hết về các loại ảo hóa, xin phép trao đổi trong các bài viết sâu hơn. Nhưng nếu muốn tiếp tục nghiên cứu về OpenStack thì cần phải tìm hiểu, tôi sẽ gợi ý vào keyword để các bạn cùng tìm hiểu về các loại ảo hóa khác nhau: Full-Virtualization, Para-Virtualization, Operating system-level virtualization, Hypervisor.

Cloud Computing

Khái niệm nữa cần phải tìm hiểu đó là Cloud Computing, tại Việt Nam thì đa số hiểu 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ệ. Nó cũng có nguyên một định nghĩa của Viện tiêu chuẩn  và công nghệ quốc gia  của Mỹ (NIST) , thường được trích ra trong các bài thuyết trình của các chuyên gia (ngoài ra, có nhiều định nghĩa của các hãng tên tuổi khác nhưng tôi không đưa vào đây). Bạn có thể xem nó tại đây:  Định nghĩa về Cloud Computing của NIST

 Nôm na mà nói 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 đó.

Định nghĩa lược dịch từ NIST

Cloud Computing  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”

Cần nắm dượ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.

5 đặc điểm: (giải thích chi tiết sẽ có bài viết cụ thể hơn)

4 mô hình dịch vụ (mô hình sản phẩm): cũng sẽ giải thích chi tiết hơn trong bài viết cụ thể

3 mô hình triển khai: tức là triển khai Cloud Computing để cung cấp:

OPENSTACK là gì và để làm gì !

Cuối cùng là đến OpenStack, vấn đề các bạn có thể quan tâm là ở đây.

Rất ngắn gọn , vì nếu các bạn đã đọc các thông tin ở trên rồi thì rất đơn giản. 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 (nhiều tài liệu giới thiệu là Cloud Operating System). Đúng như với thông tin từ trang chủ http://openstack.org, xin được trích lại như sau:  Open source software for building private and public clouds

Giới thiệu bằng tiếng Anh tại trang chủ:

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 nó rất rõ vị trí của OpenStack trong tực tế, nôm na như sau:

openstack-software-diagram

Cần hiểu thoáng và nhanh gọn hình này, ở đây OpenStack đã bao trùm cả lên phần ảo hóa, nó chính là trong khối Compute. Do vậy bạn đừng hiểu nhầm sang khía cạnh Ảo hóa.

Một vài thông tin vắn tắt về OpenStack để các bạn nắm được

Tới đây mình xin tạm dừng bài viết, hi 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. Mong nhận được phản hồi và góp ý để hoàn thiện bài viết.

[email protected]