Bài viết này sẽ giới thiệu về Openstack là gì? Tại sao các nhà cung cấp IDC hàng đầu như VNPT, VIETTEL, FPT… lại sử dụng Openstack trong các máy chủ ảo. Và bây giờ chúng ta hãy cùng tìm hiểu về Openstack là gì nha.
OpenStack là một bộ công cụ phần mềm, để xây dựng và quản lý nền tảng điện toán đám mây cho các đám mây công cộng và riêng tư. Được hỗ trợ bởi một số công ty lớn nhất về phát triển phần mềm và lưu trữ. Cũng như hàng nghìn thành viên cộng đồng cá nhân, nhiều người nghĩ rằng OpenStack là tương lai của điện toán đám mây.
OpenStack được quản lý bởi OpenStack Foundation , một tổ chức phi lợi nhuận giám sát cả quá trình phát triển và xây dựng cộng đồng xung quanh dự án.
Giới thiệu về OpenStack
OpenStack cho phép người dùng triển khai các máy ảo và các phiên bản khác xử lý các tác vụ khác nhau. Để quản lý môi trường đám mây một cách nhanh chóng. Nó làm cho việc mở rộng quy mô theo chiều ngang trở nên dễ dàng. Có nghĩa là các tác vụ được hưởng lợi từ việc chạy đồng thời, có thể dễ dàng phục vụ nhanh hơn. Hoặc ít người dùng hơn chỉ bằng cách xoay vòng nhiều phiên bản hơn.
Ví dụ: Một ứng dụng di động cần giao tiếp với máy chủ từ xa, có thể phân chia công việc giao tiếp với từng người dùng trên nhiều trường hợp khác nhau. Tất cả đều giao tiếp với nhau nhưng mở rộng quy mô nhanh chóng và dễ dàng khi ứng dụng thu hút được nhiều người dùng hơn.
Và quan trọng nhất, OpenStack là phần mềm mã nguồn mở, có nghĩa là bất kỳ ai chọn sử dụng đều có thể truy cập mã nguồn. Thực hiện bất kỳ thay đổi hoặc sửa đổi nào họ cần và tự do chia sẻ những thay đổi này với cộng đồng nói chung.
Điều đó cũng có nghĩa là OpenStack mang lại lợi ích cho hàng nghìn nhà phát triển trên toàn thế giới. Làm việc song song để phát triển sản phẩm mạnh nhất, mạnh mẽ nhất và an toàn nhất mà họ có thể.
OpenStack được sử dụng như thế nào trong môi trường đám mây?
Đám mây là tất cả về việc cung cấp điện toán cho người dùng cuối trong một môi trường từ xa. Nơi phần mềm thực sự chạy như một dịch vụ trên các máy chủ đáng tin cậy và có thể mở rộng hơn là trên mỗi máy tính của người dùng cuối.
Điện toán đám mây có thể đề cập đến nhiều thứ khác nhau. Nhưng thông thường ngành nói về việc chạy các hạng mục khác nhau “như một dịch vụ” — phần mềm, nền tảng và cơ sở hạ tầng.
OpenStack thuộc loại thứ hai và được coi là Cơ sở hạ tầng như một Dịch vụ (IaaS). Cung cấp cơ sở hạ tầng có nghĩa là OpenStack giúp người dùng dễ dàng nhanh chóng thêm phiên bản mới để các thành phần đám mây khác có thể chạy trên đó.
Thông thường, cơ sở hạ tầng sau đó chạy một “nền tảng” mà trên đó nhà phát triển có thể tạo ra các ứng dụng phần mềm được phân phối đến người dùng cuối.
Các thành phần của OpenStack
Nền tảng đám mây OpenStack không phải là một thứ đơn lẻ, mà là một tổ hợp các mô-đun phần mềm phục vụ các mục đích khác nhau. Các thành phần OpenStack được định hình bởi sự đóng góp nguồn mở.
Từ cộng đồng nhà phát triển và những người chấp nhận có thể triển khai một số hoặc tất cả các thành phần này. Các thành phần chính của OpenStack, theo danh mục, bao gồm:
Tính toán
- Glance – một dịch vụ phát hiện, đăng ký và truy xuất hình ảnh máy ảo ( VM );
- Trớ trêu – một dịch vụ cung cấp kim loại trần;
- Magnum – một công cụ điều phối và cung cấp container;
- Nova – một dịch vụ cung cấp quyền truy cập có thể mở rộng, theo yêu cầu và tự phục vụ để tính toán các tài nguyên, chẳng hạn như máy ảo và vùng chứa;
- Storlets – một dịch vụ lưu trữ đối tượng có thể tính toán được;
- Zun – một dịch vụ cung cấp API để khởi chạy và quản lý các vùng chứa.
Kho
- Cinder – một dịch vụ lưu trữ khối;
- Swift – một dịch vụ lưu trữ đối tượng;
- Freezer – một dịch vụ sao lưu, khôi phục và phục hồi sau thảm họa;
- Karbor – một ứng dụng và dịch vụ bảo vệ dữ liệu;
- Manila – một hệ thống tệp được chia sẻ.
Kết nối mạng và phân phối nội dung
- Chỉ định – một dịch vụ DNS cho mạng;
- Neutron – một dịch vụ mạng ( SDN ) do phần mềm xác định cho môi trường máy tính ảo;
- Dragonflow – một triển khai mặt phẳng điều khiển phân tán của Neutron;
- Kuryr – dịch vụ kết nối container và kho chứa;
- Octavia – một máy cân bằng tải;
- Tacker – một dịch vụ điều phối cho ảo hóa các chức năng mạng ( NFV );
- Tricircle – một dịch vụ tự động hóa mạng để triển khai đám mây đa vùng.
Dữ liệu và phân tích
- Sahara – dịch vụ cung cấp cho các dự án dữ liệu lớn;
- Searchlight – một dịch vụ tìm kiếm và lập chỉ mục dữ liệu;
- Trove – một cơ sở dữ liệu như một dịch vụ (DBaaS).
Bảo mật và tuân thủ
- Barbican – một dịch vụ quản lý mật khẩu, khóa mã hóa và Chứng chỉ X.509;
- Quốc hội – một dịch vụ quản trị CNTT;
- Keystone – một dịch vụ xác thực và ủy quyền cho nhiều người thuê;
- Mistral – một dịch vụ quản lý và thực thi quy trình làm việc.
Triển khai
- Ansible OpenStack – một dịch vụ cung cấp sách chơi Ansible cho OpenStack;
- Chef OpenStack – dịch vụ cung cấp sách dạy nấu ăn Chef cho OpenStack;
- Kolla – một dịch vụ triển khai container;
- Charms – một dịch vụ cung cấp bùa Juju cho OpenStack;
- Puppet OpenStack – một dịch vụ cung cấp các mô-đun Puppet cho OpenStack;
- TripleO – một dịch vụ để triển khai OpenStack trong sản xuất.
Ban quản lý
- Horizon – một bảng điều khiển quản lý và giao diện người dùng dựa trên web cho các dịch vụ OpenStack;
- OpenStack Client – giao diện dòng lệnh OpenStack (CLI);
- Rally – một dịch vụ điểm chuẩn OpenStack;
- Senlin – một dịch vụ phân cụm ;
- Vitrage – một dịch vụ phân tích nguyên nhân gốc rễ (RCA) để khắc phục sự cố;
- Watcher – một dịch vụ tối ưu hóa hiệu suất.
Các ứng dụng
- Nhiệt – dịch vụ điều phối và tự động định mức;
- Murano – một danh mục ứng dụng;
- Solum – một công cụ phát triển phần mềm;
- Zaqar – một dịch vụ nhắn tin.
Giám sát
- Aodh – một dịch vụ báo động thực hiện các hành động dựa trên các quy tắc;
- Ceilometer – một dịch vụ đo lường và thu thập dữ liệu;
- CloudKitty – dịch vụ thanh toán và bồi hoàn ;
- Monasca – dịch vụ giám sát và cảnh báo số liệu tốc độ cao;
- Panko – một dịch vụ lập chỉ mục siêu dữ liệu và lưu trữ sự kiện để hỗ trợ kiểm tra và khắc phục sự cố.
Có thể hiểu rõ hơn như sau:
- Nova là công cụ tính toán chính đằng sau OpenStack. Nó được sử dụng để triển khai và quản lý số lượng lớn máy ảo và các phiên bản khác để xử lý các tác vụ tính toán.
- Swift là một hệ thống lưu trữ cho các đối tượng và tệp. Thay vì ý tưởng truyền thống về việc đề cập đến các tệp theo vị trí của chúng trên ổ đĩa. Thay vào đó, các nhà phát triển có thể tham chiếu đến một số nhận dạng duy nhất. Đề cập đến tệp hoặc phần thông tin và để OpenStack quyết định nơi lưu trữ thông tin này. Điều này làm cho việc mở rộng quy mô trở nên dễ dàng. Vì các nhà phát triển không phải lo lắng về dung lượng trên một hệ thống duy nhất đằng sau phần mềm. Nó cũng cho phép hệ thống, thay vì nhà phát triển lo lắng về cách tốt nhất để đảm bảo rằng dữ liệu được sao lưu trong trường hợp máy hoặc kết nối mạng bị lỗi.
- Cinder là một thành phần lưu trữ khối, tương tự như khái niệm truyền thống về việc một máy tính có thể truy cập các vị trí cụ thể trên ổ đĩa. Cách truy cập tệp truyền thống hơn này, có thể quan trọng trong các tình huống mà tốc độ truy cập dữ liệu là yếu tố quan trọng nhất cần xem xét.
- Neutron cung cấp khả năng kết nối mạng cho OpenStack. Nó giúp đảm bảo rằng mỗi thành phần của một triển khai OpenStack có thể giao tiếp với nhau một cách nhanh chóng và hiệu quả.
- Horizon là bảng điều khiển đằng sau OpenStack. Đây là giao diện đồ họa duy nhất của OpenStack, vì vậy đối với những người dùng muốn dùng thử OpenStack, đây có thể là thành phần đầu tiên họ thực sự “nhìn thấy”. Các nhà phát triển có thể truy cập tất cả các thành phần của OpenStack riêng lẻ thông qua giao diện lập trình ứng dụng (API), nhưng bảng điều khiển cung cấp cho quản trị viên hệ thống cái nhìn về những gì đang diễn ra trên đám mây và quản lý nó khi cần thiết.
- Keystone cung cấp dịch vụ nhận dạng cho OpenStack. Về cơ bản, nó là một danh sách tập trung của tất cả những người dùng của đám mây OpenStack, được ánh xạ với tất cả các dịch vụ được cung cấp bởi đám mây mà họ có quyền sử dụng. Nó cung cấp nhiều phương tiện truy cập, có nghĩa là các nhà phát triển có thể dễ dàng ánh xạ các phương pháp truy cập người dùng hiện có của họ chống lại Keystone.
- Glance cung cấp dịch vụ hình ảnh cho OpenStack. Trong trường hợp này, “hình ảnh” dùng để chỉ hình ảnh (hoặc bản sao ảo) của đĩa cứng. Glance cho phép những hình ảnh này được sử dụng làm mẫu khi triển khai các phiên bản máy ảo mới.
- Ceilometer cung cấp dịch vụ đo từ xa, cho phép đám mây cung cấp dịch vụ thanh toán cho từng người dùng đám mây. Nó cũng lưu giữ một số lượng có thể xác minh được việc sử dụng hệ thống của mỗi người dùng đối với từng thành phần khác nhau của đám mây OpenStack. Hãy nghĩ đến việc đo sáng và báo cáo sử dụng.
- Heat là thành phần điều phối của OpenStack, cho phép các nhà phát triển lưu trữ các yêu cầu của ứng dụng đám mây trong một tệp xác định những tài nguyên nào là cần thiết cho ứng dụng đó. Bằng cách này, nó sẽ giúp quản lý cơ sở hạ tầng cần thiết để dịch vụ đám mây chạy.
Ưu và nhược điểm của OpenStack
OpenStack được cung cấp miễn phí dưới dạng phần mềm mã nguồn mở được phát hành theo giấy phép Apache 2.0. Điều này có nghĩa là không có chi phí trả trước để mua và sử dụng OpenStack.
Xem xét tất cả các thành phần mô-đun của nó, OpenStack cung cấp một nền tảng toàn diện và sẵn sàng cho sản xuất. Mà trên đó doanh nghiệp có thể xây dựng và vận hành một đám mây riêng hoặc công cộng. Do bản chất nguồn mở của nó, một số tổ chức cũng coi OpenStack là một cách để tránh bị nhà cung cấp khóa/
Nhược điểm của OpenStack
Nhưng những người chấp nhận doanh nghiệp tiềm năng cũng phải xem xét một số nhược điểm. Có lẽ nhược điểm lớn nhất của OpenStack là quy mô và phạm vi rất lớn – sự phức tạp như vậy đòi hỏi nhân viên CNTT phải có kiến thức đáng kể để triển khai nền tảng và làm cho nó hoạt động.
Trong một số trường hợp, một tổ chức có thể yêu cầu thêm nhân viên hoặc một công ty tư vấn để triển khai OpenStack, điều này làm tăng thêm thời gian và chi phí.
Là phần mềm mã nguồn mở, OpenStack không được sở hữu hoặc chỉ đạo bởi bất kỳ nhà cung cấp hoặc nhóm nào. Điều này có thể gây khó khăn cho việc nhận hỗ trợ cho công nghệ – ngoài hỗ trợ từ cộng đồng nguồn mở.
Để giảm bớt sự phức tạp của việc triển khai OpenStack và có thêm quyền truy cập trực tiếp vào hỗ trợ kỹ thuật. Một tổ chức có thể chọn áp dụng bản phân phối OpenStack từ một nhà cung cấp.
Bản phân phối OpenStack là một phiên bản của nền tảng mã nguồn mở được đóng gói với các thành phần khác. Chẳng hạn như chương trình cài đặt và công cụ quản lý, và thường đi kèm với các tùy chọn hỗ trợ kỹ thuật.
Các bản phân phối OpenStack phổ biến bao gồm nền tảng Red Hat OpenStack, Nền tảng đám mây Mirantis và đám mây riêng Rackspace OpenStack.
Kết luận.
Chắc hẳn các thông tin trên đã giúp bạn hiểu hơn về hệ thống mã nguồn mở Openstack. Hiện tại VNPT đang sử dụng cho hệ thống VNPT Smartcloud, Viettel là Star Cloud.
Bạn có thể tìm hiểu thêm: