Xây dựng và Mở rộng Nền tảng với Mô hình Project-as-a-Service
Bài viết phân tích hành trình chuyển đổi từ tự chủ hoàn toàn sang hỗ trợ tích cực trong phát triển nền tảng. Thông qua mô hình Project-as-a-Service và các chiến lược giảm tải nhận thức, các đội ngũ phát triển hiện nay có thể làm việc hiệu quả hơn mà không bị sa lầy vào cấu hình hạ tầng.

Khi một nền tảng bắt đầu với sự tự chủ hoàn toàn của các nhà phát triển, các đội ngũ thường cảm thấy quá tải và kết quả là họ giải quyết cùng một vấn đề theo những cách hoàn toàn khác nhau. Tại hội nghị KubeCon & CloudNativeCon Europe, Jerry van Hulst và Marcel Kerker đã chia sẻ cách họ chuyển dịch trọng tâm từ hỗ trợ sang trao quyền (enablement), giúp các đội ngũ cảm thấy tự tin và có năng lực hơn, biến "cách làm đúng" thành "cách làm dễ dàng nhất".
Từ "Miền Viễn Tây" đến sự Chuẩn hóa
Vào năm 2017, họ bắt đầu với một đội ngũ nhỏ xây dựng khái niệm chứng minh (proof of concept) trên OpenShift. Triết lý ban đầu là trao quyền tự chủ hoàn toàn cho nhà phát triển: họ cung cấp nền tảng và nhà phát triển chịu trách nhiệm cho toàn bộ vòng đời ứng dụng.
Tuy nhiên, đến năm 2019, khi mở rộng quy mô, họ gặp phải những khó khăn lớn. Một trong số đó là tải nhận thức (cognitive load) quá cao. Nếu những người dùng đầu tiên là những người đam mê công nghệ, thì các đội ngũ mới lại thấy đường cong học tập quá dốc. Họ bị choáng ngợp bởi "thuế Kubernetes", dành nhiều thời gian quản lý nền tảng hơn là viết mã.
Một vấn đề khác là sự phân mảnh kiến thức. Do thiếu sự chuẩn hóa, các đội ngũ giải quyết các vấn đề giống nhau như ghi log (logging) hay quản lý ingress theo những cách hoàn toàn khác nhau. Van Hulst mô tả tình trạng này giống như "Miền Viễn Tây" ngay trong cùng một cụm cluster, gây khó khăn cho việc hỗ trợ và vận hành.
Họ nhận ra rằng trao tự do tuyệt đối cho mọi người thực chất lại làm chậm tiến độ, và họ cần chuyển sang một cách tiếp cận "con đường trải nhựa" (paved road) hơn.
Project-as-a-Service: Tự động hóa Quy trình
Nền tảng hiện tại của họ tuân theo triết lý "tự động hóa lên hàng đầu", bao gồm cả quá trình onboarding. Operator Project-as-a-Service của họ cung cấp cho các đội ngũ phương tiện tạo môi trường chỉ với một tệp YAML đơn giản. Nó bao gồm hầu hết những gì đội ngũ cần để bắt đầu, từ namespace, RBAC đến hạn ngạch tài nguyên (resource quota).
Để trao quyền cho nhà phát triển, triết lý cốt lõi là ưu tiên "trao quyền" (enablement) hơn là chỉ hỗ trợ đơn thuần. Thay vì chỉ đóng vai trò như một bộ phận helpdesk giải quyết vé hỗ trợ, mục tiêu tối thượng của họ là xây dựng sự tự chủ thực sự trong các đội ngũ kỹ thuật.
"Chúng tôi muốn họ cảm thấy tự tin và có năng lực," Kerker khẳng định.
Chiến lược Mở rộng Kiến thức và Tương lai
Với hơn 99 đội ngũ DevOps, việc mở rộng kiến thức là một thách thức. Họ giải quyết vấn đề này bằng cách thúc đẩy các Cộng đồng Thực hành (Communities of Practice), nơi các đội ngũ học hỏi lẫn nhau. Họ cũng tổ chức Nhóm người dùng Container (CUG) thường xuyên để giới thiệu các tính năng mới và các ngày Container hóa lớn với các diễn giả bên ngoài.
Để nâng cao kỹ năng thực hành, họ cung cấp các hội thảo tự định tốc (self-paced) về các công cụ thiết yếu như Tekton, ArgoCD, Quản lý truy cập danh tính (IAM), RightSizing và Kustomize.
Kerker nhấn mạnh sáng kiến có tác động lớn nhất của họ là Accelerator Hackathon:
"Thay vì chỉ giao tài liệu, các chuyên gia nền tảng của chúng tôi sẽ ngồi cạnh một đội ngũ phát triển trong cả ngày. Chúng tôi cùng nhau làm việc để đưa ứng dụng đầu tiên của họ lên nền tảng một cách nhanh chóng. Đây là cách thực hành, hợp tác cao và là cách tốt nhất để biến việc trao quyền thành kết quả ngay lập tức."
Về tương lai, họ tập trung vào việc giảm tải nhận thức và làm cho nền tảng thông minh hơn. Họ sẽ đẩy mạnh "Con đường vàng" (Golden Path), biến cách làm đúng thành cách dễ nhất để xây dựng phần mềm. Các kế hoạch bao gồm tích hợp sâu vào Backstage và mở rộng các bộ khởi tạo CI/CD.
Ngoài ra, họ đang tích hợp AI để tối ưu hóa vận hành thông qua các câu trả lời tự động cho ChatOps và vé hỗ trợ. Bằng cách tự động hóa việc giải quyết các câu hỏi lặp lại, họ giúp nhà phát triển nhận được sự hỗ trợ tức thì, đồng thời giải phóng các kỹ sư nền tảng để tập trung vào các hoạt động trao quyền giá trị cao thay vì hỗ trợ cơ bản.
Bài học Kinh nghiệm
InfoQ đã phỏng vấn Jerry van Hulst và Marcel Kerker về những bài học rút ra:
- Về sự thay đổi tư duy: Van Hulst chia sẻ rằng tư duy cũ của ông là "nếu tôi cấp quyền truy cập máy chủ, công việc của tôi đã xong". Nhưng ông học được rằng trong thế giới cloud-native, quyền truy cập là chưa đủ. Nếu nhà phát triển mất ba ngày để cấu hình ingress và CI/CD, ông thực sự chưa giúp gì được. Bài học là công việc không chỉ là cung cấp hạ tầng, mà là loại bỏ ma sát ngăn cản mã nguồn đi vào sản xuất.
- Về sự thành công của nền tảng: Kerker nhận thấy rằng để nền tảng thành công, phải tập trung không ngừng vào nhu cầu của nhà phát triển và lắng nghe phản hồi của họ. Song song với đó, chuẩn hóa là chìa khóa tuyệt đối để áp dụng. Nếu mỗi đội ngũ phải tự tìm hiểu cách xử lý các vấn đề hệ thống, việc áp dụng sẽ bị đình trệ. Chuẩn hóa giúp loại bỏ ma sát và ngăn các đội ngũ phải "phát minh lại bánh xe".
