Hình 2. 1. Kiến trúc khái niệm của OpenStack Heat:
Thuật ngữ “ Orchestration”
Dùng để triển khai các ứng dụng dựa vào các template được dựng sẵn
Tự động tính toán và sử dụng các tài nguyên: Compute, Network…
Ví dụ về ứng dụng: wordpress. Là tab “stack” ở trong Horizon Horizon:
Cung cấp giao diện cho người dùng – tương tác cơ bản với OpenStack
Tương tác với APIs của các dịch vụ
Không đầy đủ các chức năng để điều khiển OpenStack Keystone:
Dịch vụ xác thực và ủy quyền trong OpenStack
Quản lý, tạo, sửa, xóa tài khoản, nhóm người dùng, vai trò… Hỗ trợ và có thể kết hợp với LDAP, PAM, SQL…
Nova:
Lập lịch cho các máy ảo (Instance). Tạo, sửa, xóa, thay đổi các máy ảo
Quản lý vòng đời của các máy ảo từ lúc tạo ra, đến lúc xóa đi. Nova tương đương với dịch vụ EC2 (Dịch vụ cung cấp máy ảo
của AWS)
Hỗ trợ nhiều Hypervisor: KVM, VMWare, Hyper-V, XEN, Docker…
Hỗ trợ nhiều Backend storage: iSCSI, SAN, NetAPP… Glance:
Lưu trữ và truy vấn các disk image (Các máy mẫu được tạo sẵn)
Hỗ trợ nhiều định dạng của Hypervisor: vmdk, vhd, qcow, ami…
Làm việc với các storage backend: File system, Swift, Amazon S3.
Swift:
Đọc và ghi các đối tượng (chính là các file) thông qua HTTP Tương tự dịch vụ S3 (Simple Storage Service) của AWS (Dịch
vụ lưu trữ file)
Dữ liệu lưu trữ trong Swift có khả năng tạo bản sao (replication)
Lưu trữ theo kiểu phân tán, có khả năng chống chịu lỗi và nhất quán.
Có thể triển khai thành dịch vụ độc lập về lưu trữ (swiftstack. com)
Neutron:
Trước đó tên mã dự án là Quantum, đổi sang Neutron trong bản Grizzly
Mục tiêu: Cung cấp dịch vụ về mạng trong OpenStack. Có nhiều dịch vụ cao cấp: FWaaS, LBaaS, VPNaaS. Thay thế cho Nova network.
Có cơ chế Plugin để làm việc với các hãng và giải pháp về network khác.
Cinder:
Thay thế Nova Volume, cung cấp các “Block Storage” gắn vào máy ảo
Cung cấp các Volume (Ổ đĩa-partion) gắn vào các máy ảo Có thể khởi tạo các máy từ Volume
Có các plugin để kết nối với Storage của các hãng khác. Có thể sao lưu, mở rộng các Volume.
Ceilometer:
Đáp ứng tính năng “Pay as you go” của Cloudcomputing Dùng để thống kê các tài nguyên mà người dùng sử dụng
Có mục tiêu lớn: Đo lường để tính phí Tích hợp trong Horizon với quyền Admin.
Hình 2. 2. Các thành phần trong OpenStack