Cơ sở hạ tầng dưới dạng mã (IaC) đề cập đến việc quản lý và cung cấp cơ sở hạ tầng máy tính thông qua các tệp định nghĩa có thể đọc được bằng máy, thay vì các quy trình thủ công hoặc công cụ cấu hình tương tác. Cách tiếp cận này coi các thành phần cơ sở hạ tầng như máy chủ, mạng, cơ sở dữ liệu và bộ cân bằng tải là phần mềm, cho phép các nhóm phát triển và vận hành định nghĩa, triển khai và quản lý chúng bằng cách sử dụng kiểm soát phiên bản, kiểm thử tự động và các đường ống tích hợp/triển khai liên tục (CI/CD). IaC đảm bảo tính nhất quán, khả năng lặp lại và khả năng mở rộng trên các môi trường phát triển, thử nghiệm và sản xuất, giảm đáng kể lỗi của con người và tăng tốc chu kỳ triển khai, biến nó thành nền tảng của các thực hành DevOps hiện đại trong các công cụ dành cho nhà phát triển.
Tính năng cốt lõi
- Cấu hình khai báo: Định nghĩa trạng thái mong muốn của cơ sở hạ tầng, cho phép các công cụ tự động đạt được và duy trì trạng thái đó, đơn giản hóa các thiết lập phức tạp.
- Tích hợp kiểm soát phiên bản: Quản lý các định nghĩa cơ sở hạ tầng trong các hệ thống kiểm soát mã nguồn (ví dụ: Git), theo dõi các thay đổi, cho phép khôi phục và tạo điều kiện cộng tác nhóm.
- Tự động hóa & điều phối: Tự động hóa việc cung cấp, cấu hình và triển khai các tài nguyên cơ sở hạ tầng trên nhiều nhà cung cấp đám mây hoặc hệ thống tại chỗ.
- Tính bất biến: Đảm bảo rằng việc áp dụng cùng một cấu hình nhiều lần sẽ cho ra kết quả chính xác như nhau, ngăn chặn các tác dụng phụ không mong muốn và đảm bảo kết quả có thể dự đoán được.
- Tính mô-đun & khả năng tái sử dụng: Cho phép các thành phần cơ sở hạ tầng được định nghĩa dưới dạng các mô-đun hoặc mẫu có thể tái sử dụng, thúc đẩy hiệu quả, tiêu chuẩn hóa và triển khai nhanh hơn các môi trường mới.
Các kịch bản áp dụng
IaC là không thể thiếu trong phát triển đám mây gốc để tự động hóa việc thiết lập máy ảo, vùng chứa, chức năng phi máy chủ và cấu hình mạng. Nó rất quan trọng để tạo và duy trì các môi trường phát triển, dàn dựng và sản xuất nhất quán, loại bỏ hiệu quả sự trôi dạt cấu hình và lỗi thủ công. Các tổ chức tận dụng IaC để phục hồi thảm họa nhanh chóng bằng cách nhanh chóng xây dựng lại toàn bộ ngăn xếp cơ sở hạ tầng từ mã được kiểm soát phiên bản, và để triển khai các chính sách bảo mật và tuân thủ mạnh mẽ được tự động thực thi trên tất cả các môi trường.
Cách chọn
Khi chọn một công cụ IaC, hãy xem xét khả năng tương thích của nó với các nhà cung cấp đám mây hiện có của bạn (ví dụ: AWS CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager hoặc các công cụ đa đám mây như Terraform). Đánh giá đường cong học tập của nó, sức mạnh của sự hỗ trợ cộng đồng và liệu nó có phù hợp với sở thích của nhóm bạn đối với các cách tiếp cận khai báo hay mệnh lệnh hay không. Đánh giá khả năng của công cụ để tích hợp liền mạch với các đường ống CI/CD hiện có của bạn, tính mô-đun của nó để quản lý cơ sở hạ tầng phức tạp và mô hình chi phí tổng thể của nó, bao gồm mọi khoản phí dịch vụ đám mây hoặc cấp phép liên quan.