Thông tin chi tiết về việc chọn khung giao diện người dùng tự phục vụ cho Ansible Automation

Giới thiệu

Ansible là một công cụ DevOps cực kỳ hữu ích và tiện lợi giúp hợp lý hóa quy trình quản lý máy chủ từ xa. Tuy nhiên, nó cần phải học hỏi và cần ít nhất một số kiến ​​thức kỹ thuật để sử dụng hiệu quả vì đây là công cụ CLI (Giao diện dòng lệnh). May mắn thay, có một số tùy chọn Giao diện người dùng hiện đại, đầy đủ tính năng để quản lý và chạy phiên bản Ansible trên máy chủ từ xa có thể được điều khiển trực tiếp từ trình duyệt web. Điều này, cùng với tính chất nguồn mở của chúng, làm cho quá trình sử dụng Ansible và chạy playbook trở nên trực quan và thuận tiện hơn nhiều; ngay cả đối với các thành viên nhóm có kinh nghiệm đã quen với việc sử dụng Ansible từ dòng lệnh. Blog này mô tả đánh giá của chúng tôi về các khía cạnh phù hợp nhất của từng giao diện người dùng, bao gồm các tính năng và khả năng truy cập của chúng.

AWX: Giao diện người dùng nguồn mở đầu tiên

Hình 1: Bảng điều khiển AWX

AWX là giao diện người dùng đầy đủ tính năng và nổi tiếng nhất dành cho Ansible. Nó cung cấp một giao diện đẹp mắt và trực quan, sắp xếp gọn gàng các tùy chọn cấu hình theo danh mục và cho phép sử dụng Kiểm soát truy cập dựa trên vai trò. Điều này cung cấp cho người dùng tùy chọn để quy định ai có thể xem hoặc sửa đổi các cài đặt và tệp nhất định. Điều quan trọng trong số này là các mẫu công việc, đóng vai trò như một tập hợp các tham số và định nghĩa cho phép thực hiện cùng một công việc nhiều lần. Ngoài ra, bảng điều khiển tích hợp cung cấp cái nhìn tổng quan nhưng đầy đủ về mặt trực quan về các công việc trước đây cũng như kết quả của chúng, cùng với các thông tin liên quan khác về cấu hình AWX. Cuối cùng nhưng không kém phần quan trọng, AWX cho phép lưu trữ thông tin xác thực và mật khẩu vault một cách an toàn và được mã hóa, cho phép chúng được chia sẻ giữa các thành viên trong nhóm một cách an toàn và dễ dàng.

Ansible Semaphore: Dễ khởi động, dễ sử dụng

Giao diện người dùng đồ họa, bảng Mô tả được tạo tự động

Hình 2: Giao diện người dùng Semaphore Ansible

So với AWX,  Ansible Semaphore  đơn giản hơn về mọi mặt, với quy trình cài đặt đơn giản và giao diện người dùng được sắp xếp hợp lý nhưng phải trả giá bằng các tính năng mà các tùy chọn giao diện người dùng khác mà chúng tôi đã đánh giá có . Ví dụ: Ansible Semaphore không hỗ trợ tính sẵn sàng cao, nghĩa là nó không thể tự động phục hồi sau lỗi thành phần và có thể dẫn đến thời gian ngừng hoạt động lâu hơn. Tuy nhiên, công cụ này có thể dễ dàng được thiết lập để lấy các playbook có thể sử dụng được từ GitHub, lưu trữ thông tin xác thực cho GitHub/máy của bạn và chạy playbook thông qua một mẫu tác vụ đơn giản. Bên trong mẫu, bạn có thể chỉ định máy chủ sẽ chạy trên (khoảng không quảng cáo), biến (môi trường) và các đối số dòng lệnh bổ sung. Nói như vậy, tính năng tốt nhất của Sempahore có thể là bảng điều khiển của nó. Được thiết kế trên Material UI của Google, bảng điều khiển của Ansible Semaphore rất dễ điều hướng và có giao diện đơn giản để hiển thị thông tin quan trọng cho mỗi lần chạy.

Phiên bản cộng đồng Rundeck: Không chỉ là Ansible

Hình 3: Giao diện người dùng Rundeck

Phiên bản cộng đồng Rundeckcung cấp cho người dùng chức năng cơ bản cần thiết để thực thi playbook bên trong giao diện người dùng và giống như Ansible Semaphore, nó rất dễ cài đặt, thiết lập và chạy. Rundeck là một công cụ tự động hóa chung để bạn có thể làm được nhiều việc hơn là chỉ thực thi các playbook ansible, nhưng bảng điều khiển không dễ sử dụng như Ansible Semaphore và nó không hấp dẫn về mặt trực quan. Một số tính năng của Rundeck CE bao gồm tạo các công việc gồm nhiều bước, chạy các lệnh shell và thực thi các lệnh cục bộ. Mặc dù phiên bản cộng đồng tự hào có nhiều tính năng ngoài việc chỉ chạy Playbook Ansible, nhưng các tính năng được mong muốn nhất như tính sẵn sàng cao và plugin doanh nghiệp được chứng nhận đều được dành riêng cho phiên bản doanh nghiệp hoặc đám mây.

Mã hóa tùy chỉnh giao diện người dùng: Kiểm soát hoàn toàn

Hai nhà thiết kế thảo luận sáng tạo

Nếu không có giải pháp nào nêu trên có vẻ lý tưởng đối với bạn hoặc chúng không giải quyết phù hợp các yêu cầu của bạn, bạn luôn có tùy chọn thiết kế và tạo giải pháp giao diện người dùng của riêng mình. Làm như vậy sẽ mang lại cho bạn một giải pháp có quy mô phù hợp, đáp ứng tất cả các nhu cầu và yêu cầu của bạn, đồng thời cho phép bạn thể hiện sự sáng tạo và độc đáo của mình. Ví dụ: nếu bạn muốn cung cấp một số tính năng thích hợp cho giao diện người dùng như “thao tác hoàn nguyên” sẽ hoàn tác sổ tay đã chạy trước đó hoặc hiển thị phần trăm hoàn thành của công việc đang được thực hiện thì giao diện người dùng tùy chỉnh có thể là lựa chọn tốt nhất của bạn. Tuy nhiên, cách tiếp cận này đòi hỏi rất nhiều nỗ lực so với các lựa chọn khác mà chúng ta đã thảo luận để phát triển và duy trì hợp lý một giải pháp an toàn. Một cách tiếp cận mà chúng tôi đã nghiên cứu là xây dựng API REST mạnh mẽ chạy trên máy chủ từ xa có khả năng hoạt động cho các dịch vụ phụ trợ và giao diện người dùng web chạy trên cùng một máy chủ. Sau đó, hai thành phần của ứng dụng có thể sử dụng các yêu cầu HTTP để liên lạc, chạy và/hoặc sửa đổi các tệp thích hợp cục bộ trên máy chủ.

Phần kết luận

Hình 4: Tóm tắt so sánh giao diện người dùng

Tận dụng giao diện người dùng Ansible là một cách tuyệt vời để dễ dàng mở rộng các chức năng và khả năng của Ansible cho những chuyên gia không thuộc CLI bằng cách giúp việc quản lý và tự động hóa máy chủ trở nên dễ tiếp cận hơn. Cụ thể, nó cung cấp khả năng thực thi ít xảy ra lỗi hơn và một cách dễ sử dụng hơn để xem tiến độ và kết quả công việc cho tất cả người dùng. Mọi tùy chọn được mô tả ở trên đều có ưu và nhược điểm và điều quan trọng là phải tính đến quá trình thiết lập/cài đặt của từng tùy chọn. Ngẫu nhiên, mặc dù AWX là lựa chọn hàng đầu của chúng tôi do tính hoàn thiện và bộ tính năng của nó, quá trình cài đặt của nó nổi tiếng là khó khăn. Vì lý do này, nhóm của chúng tôi đã quyết định thực hiện hướng dẫn riêng mô tả những gì khiến quá trình cài đặt hoạt động hiệu quả đối với chúng tôi. Nếu bạn muốn tìm hiểu thêm về quy trình thiết lập của AWX, vui lòng xem blog hướng dẫn cài đặt do nhóm của chúng tôi tạo bằng cách nhấp vào liên kết ngay  tại đây !