Những vấn đề về khả năng tự động hoá của các công cụ IaC?
Sometimes code is not enough
Tự động hóa hạ tầng CNTT có một lịch sử đầy sóng gió.
Các quy trình triển khai và vận hành hệ thống IT ban đầu được diễn ra hoàn toàn thủ công, nhưng theo thời gian, các kỹ sư đã phát triển các công cụ quản lý cấu hình để tự động hóa các tác vụ riêng lẻ trong mỗi step.
Ảo hóa và sau đó là điện toán đám mây đã mang lại những khái niệm trừu tượng mạnh mẽ. Ví dụ, việc cung cấp một Instance trên đám mây chỉ đơn giản là nhập một vài tham số cấu hình và nhấp vào một vài click – khác xa so với quy trình cung cấp kéo dài hàng tuần trước đây.
Gần đây, tính đơn giản cloud-based đã cho phép cho các kỹ sư nâng cấp khả năng tự động hóa của họ với Infrastructure as Code (IaC). Các công cụ IaC như Terraform của HashiCorp cho phép các kỹ sư tạo ra các kịch bản tự động hóa hạ tầng CNTT phức tạp – không chỉ dành cho operations mà còn trong toàn bộ vòng đời phát triển phần mềm.
Tuy nhiên, IaC không phải là thuốc chữa bách bệnh, vì môi trường CNTT bao gồm đủ các thứ hybrid, cloud native, chúng quá “dynamic” và đa dạng để IaC có thể cung cấp khả năng tự động hóa một cách đầy đủ.
Hơn nữa, các tổ chức đang triển khai các môi trường dynamic và đa dạng như vậy cũng phải vật lộn với việc bố trí nhân sự. Do đó, các nhóm vận hành nền tảng ngày nay với nguồn lực hạn chế cần được hỗ trợ tốt hơn về nhiều phương diện trên nhiều công cụ và đám mây để hỗ trợ cho quy mô cả doanh nghiệp.
Một Blueprint cho IaC và tự động hoá toàn diện
IaC và quản lý cấu hình nói chung là những yếu tố hỗ trợ quan trọng của DevOps, vì chúng mang lại khả năng tự động hóa cho các chuỗi công cụ DevOps, cho phép triển khai liên tục trong các quy trình CI/CD.
Tuy nhiên, trên thực tế, các tập lệnh càng trở nên phức tạp thì chúng ta càng phải vật lộn với các vấn đề tương tự mà các dòng code gặp phải: lập phiên bản, thử nghiệm và độ phức tạp gia tăng làm hạn chế khả năng mở rộng. Những hạn chế này đặc biệt rõ rệt trong môi trường cloud-native và multi-cloud.
Ở quy mô lớn, các giải pháp tự động hoá dựa trên tập lệnh thuần túy như Red Hat Ansible của IBM hoặc Terraform có thể trở nên “mong manh” hơn. Giải pháp ở đây là thêm một lớp trừu tượng cho phép sử dụng đúng công cụ cho đúng phần việc mà không làm thêm bất kỳ độ phức tạp nào.
Sơ đồ sau đây từ Morpheus Data minh họa cách hoạt động của các lớp trừu tượng này.
Trong sơ đồ trên, nhóm vận hành nền tảng hỗ trợ khả năng cung cấp Instance máy chủ web Apache trên các môi trường cloud và hệ điều hành khác nhau dựa vào các yêu cầu cụ thể của dự án.
Với Morpheus, sơ đồ trên cho thấy được một blueprint chi tiết. Cung cấp máy chủ web chỉ là một trong nhiều ví dụ về sức mạnh của blueprint và layouts để mang tới trải nghiệm self-service liền mạch. Trải nghiệm tương tự có thể áp dụng cho Database, OS, Container Images, Cụm Kubernetes,…
Morpheus chia nhỏ các blueprint như vậy thành nhiều layouts (lớp thứ 2), trong trường hợp này, mỗi layout tương ứng với một Apache version trên một đám mây cụ thể, cùng với các workflow cần thiết để thiết lập chúng.
Lần lượt, mỗi layout này lại chạy trên một node. Ta có thể chèn các tập lệnh phù hợp để cung cấp đúng từng phiên bản của một node từ template và image thích hợp. Blueprint cũng có thể bao gồm các tập lệnh được ánh xạ tới các giai đoạn vòng đời tự nhiên của dịch vụ – start, stop, reconfigure, teardown,…
Bởi vậy, khi các developers cần tài nguyên cho các app của họ, việc đơn giản chỉ là click vào ô button ‘provision Apache’ cũng như một bộ API hoặc Terraform provider nếu họ muốn duy trì mọi thứ theo các task trước đó.
Mở rộng khả năng self-serivce cho mọi yêu cầu cấp phát tài nguyên linh hoạt
Platform operations là một cách tiếp cận hiện đại nhằm tìm cách cân bằng hai ưu tiên nhưng mâu thuẫn nhau: khả năng cung cấp self-service cho developers một cách nhanh nhẹn và linh hoạt trong vẫn khi hỗ trợ các hoạt động tự động hoá và sự chặt chẽ cần thiết để đáp ứng nhu cầu quản lý đám mây của tổ chức.
Lấy ví dụ, các tình huống phổ biến như quản lý tài khoản dịch vụ trong đám mây, cung cấp landing zones mới, vá các hệ thống phân tán hoặc đơn giản là “làm sạch” tài nguyên hạ tầng.
Các kỹ sư tự động hóa thường thực hiện các tác vụ thông thường này bằng cách sử dụng các tập lệnh tự phát triển độc đáo của trên các công cụ họ chọn. Công việc thủ công như vậy dẫn đến việc phân mảnh tự động hóa, hạn chế khả năng scale.
Morpheus được sử dụng để đơn giản hóa cuộc công việc cho các nhóm bằng cách đưa các tasks và workflows vào một nền tảng tự động hóa self-service tập trung, người vận hành có thể hưởng lợi từ automation mà không cần phải là chuyên gia về sản phẩm. Điều này có thể đặc biệt quan trọng trong các môi trường thường sử dụng kết hợp Terraform, Ansible, Puppet, Bash, PowerShell,…
Việc hiển thị các tác vụ tự động hóa trong danh mục self-service có thể tận dụng lợi thế của các phương pháp phát triển ứng dụng như version control và phát triển cộng tác mà không rơi vào bẫy của các phản hồi tùy chỉnh đối với các sự cố riêng lẻ.
pin up azerbaycan https://azerbaijancuisine.com/# pin up azerbaycan
pin up