Giới thiệu công cụ quản lý cấu hình Ansible

ToiVietBlog - Trong bài viết hôm nay, mình sẽ giới thiệu với các bạn về công cụ quản lý cấu hình Ansible. Xu hướng tự động hóa hệ thống CNTT hiện nay (automation) thì sử dụng các công cụ là cần thiết. Các kỹ sư Sysadmin hay DevOps đều ít nhiều phải biết sử dụng các công cụ này.

Ansible là gì?

Điều khẳng định:

Ansible mà một công cụ mã nguồn mở (IaC – Infrastructure as Code) sử dụng để quản lý cấu hình (configuration management), tự động hóa triển khai hạ tầng máy chủ (server provisioning).

Nhưng mình sẽ nói sơ qua một chút về lịch sử của công cụ Ansible.

Yêu cầu từ thị trường

Nếu bạn đang mới bắt đầu vào con đường trở thành một kỹ sư Sysadmin/DevOps thì các bạn hẳn tìm hiểu về ngành này. Trước đây, các sản phẩm phần mềm chủ yếu được chính các lập trình viên (Developer hay viết tắt Dev) cài đặt, vận hành.

Nhưng qua thời gian phát triển, lượng người dùng tăng dần, quy mô hệ thống ngày càng lớn ra. Các Dev dần không thể cùng lúc vừa phát triển phần mềm, vừa vận hành hệ thống. Vậy là kết quả sinh ra ông Sysadmin/DevOps – người chuyên làm công việc cài đặt, vận hành hệ thống.

Nhưng rồi qua thời gian, sản phẩm tiếp tục phát triển nhanh chóng, quy mô hệ thống ngày càng lớn nhanh. Một người Sysadmin không thể quản lý tất cả bởi vì nó quá nhiều và dễ sai sót vận hành.

Giải pháp một thời trước đây đó là tăng quy mô team Sysadmin lên. Nhưng rồi cũng không bao lâu thì tốc độ mở rộng hệ thống đã lên hàng chục, hàng trăm ngàn server. Một team Sysadmin với cách làm thủ công, không thể giải quyết vấn đề.

Và vậy là Ansible ra đời. Tự động hóa việc cài đặt, vận hành 100 ngàn server chỉ giống như 1 server mà thôi.

Lịch sử ra đời

Điểm qua một số mốc thời gian của Ansible:

  • Năm 2012, Michael Dehaan cho ra đời Ansible đầu tiên.
  • Năm 2013, Michael Dehaan, Tim Gerla và Saïd Ziouani thành lập công ty Ansible, Inc.
  • Và năm 2015, Red Hat mua lại công ty Ansible, Inc và tiếp tục phát triển nó. Red Hat biến Ansible trở thành một trong những công cụ quản lý cấu hình (configuration management) phổ biến nhất hiện nay.

Bối cảnh sử dụng Ansible

gioi-thieu-cong-cu-quan-ly-cau-hinh-ansible Giới thiệu công cụ quản lý cấu hình Ansible
Giới thiệu công cụ quản lý cấu hình Ansible.

Qua phần lịch sử Ansible, bạn cũng có thể đoán được rằng Ansible sử dụng để làm gì phải không. Để biết Ansible dùng làm gì, bạn hãy thử trả lời 3 câu hỏi sau:

  1. Nếu bạn cần cài web server Apache cho 1000 máy chủ, bạn sẽ làm thế nào?
  2. Nếu bạn làm việc cùng một nhóm 10 người, làm sao để đảm bảo cả team sẽ sử dụng chung cấu hình cho tất cả máy chủ?
  3. Và nếu người quản lý hoặc team sysadmin nghỉ việc, làm sao để kế thừa các cấu hình trước đây?

Với 3 câu hỏi trên, bạn sẽ hiểu Ansible có thể giải quyết được gì.

  1. Với Ansible, 1000 máy chủ được gom thành 1 nhóm. Và bạn chỉ cần viết code để cài đặt Apache cho nhóm này. 1000 máy chủ sẽ được cài đặt giống hệt nhau không có cấu hình nà khác biệt.
  2. Với Ansible, mọi cấu hình đều được quản lý chung và triển khai tự động xuống các máy chủ. Vậy nên cả team Sysadmin có thể sử dụng chung cấu hình. Thay vì mỗi máy chủ trong số 1000 máy chủ có thể được cấu hình khác nhau bởi các Sysadmin trong team.
  3. Một khi mọi cấu hình đều được lưu giữ và quản lý tập trung, triển khai tự động, đảm bảo độ chính xác. Việc phụ thuộc vào người quản trị sẽ giảm dần.

Ưu điểm của Ansible

Mình sẽ nêu một số ưu điểm của Ansible:

  • Ngôn ngữ rõ ràng, dễ sử dụng: Ansible sử dụng cấu trúc ngôn ngữ YAML, đây là một cấu trúc ngôn ngữ đơn giản, dễ học và dễ dàng sử dụng.
  • Nhanh: Ansible sử dụng cơ chế agentless thông qua SSH mặc định của máy chủ. Nó không cần thêm bất kì phần mềm nào khác nên việc cài đặt, sử dụng cũng nhanh chóng.
  • Hiệu quả: vì Ansible không sử dụng thêm phần mềm nào, điều đó giúp tiết kiệm tài nguyên máy chủ.
  • Cơ chế module: Ansible hoạt động theo cơ chế module. Bạn có thể mở rộng nó thông qua JSON hoặc viết một module riêng bằng Python.
  • Bảo mật: vì Ansible sử dụng SSH, không thêm bất kì phần mềm nào. Vì vậy, nó sẽ không tạo thêm ra bất kì lỗ hổng bảo mật nào.

Kết luận

Trên đây là một bài viết mình giới thiệu với các bạn Ansible là gì, công cụ này sử dụng để làm gì. Nó có tác dụng gì đối với các Sysadmin/DevOps chúng ta. Trong các bài viết sắp tới, mình sẽ đi chi tiết vào việc sử dụng Ansible.

0 0 votes
Article Rating
Nhấn vào đây để đánh giá bài này!
[Tổng: 0 - Trung bình: 0]

If you appreciate what we share in this blog, you can support us by:
  1. Stay connected to: Facebook | Twitter | Google Plus | YouTube
  2. Subscribe email to recieve new posts from us: Sign up now.
  3. Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
  4. Become a Supporter - Make a contribution via PayPal.
  5. Support us by purchasing Ribbon Lite Child theme being using on this website.

We are thankful for your support.

«« »»
Theo dõi
Thông báo về
guest
0 Comments
Inline Feedbacks
View all comments