Nền tảng công cụ vận hành nội bộ
Đội vận hành tự xử lý dữ liệu. Đội phát triển tập trung vào sản phẩm.
Admin as a Service kết nối trực tiếp với cơ sở dữ liệu của doanh nghiệp. Đội kỹ thuật định nghĩa thao tác một lần, các bộ phận nghiệp vụ sử dụng qua biểu mẫu hoặc màn hình dựng sẵn. Mỗi lần thực thi đều được kiểm tra quyền, tách theo môi trường và ghi nhật ký.
- Không còn chạy SQL thủ công trên production
- Công cụ mới đưa vào sử dụng ngay khi publish
- Triển khai riêng cho từng khách hàng
Tương thích với
- PostgreSQL
- MySQL 8
- SQL
- JavaScript
- React + TSX
- Cron
- RUN tra-cuu-don-hang · env=production · ✓
- PUBLISH cap-nhat-trang-thai · v3 · SQL guard ✓
- DENY xoa-don-hang · role=viewer · ghi nhật ký
- JOB bao-cao-ngay · cron 0 1 * * * UTC
- BULK cap-nhat-gia · tối đa 10.000 bộ/lần
Thực trạng
Một yêu cầu "tra giúp đơn hàng" có thể chiếm cả buổi làm việc của lập trình viên
Cách làm hiện tại
- CSKH gửi yêu cầu tra cứu cho đội phát triển và chờ phản hồi hàng giờ.
- Nhân sự vận hành giữ câu lệnh SQL riêng và chạy thủ công trên production.
- Mỗi màn hình quản trị mới cần một sprint phát triển và một lần deploy.
- Mật khẩu cơ sở dữ liệu được chia sẻ rộng, không có dấu vết ai đã thay đổi dữ liệu.
Với Admin as a Service
- Đội kỹ thuật định nghĩa action một lần, người dùng nghiệp vụ tự thực thi qua biểu mẫu.
- SQL được kiểm tra khi publish; tham số luôn được bind, không ghép chuỗi.
- Màn hình mới đưa vào sử dụng bằng một thao tác publish, không cần deploy.
- Thông tin kết nối được mã hoá và không gửi về trình duyệt. Mọi lần thực thi đều được ghi nhật ký.
Quy trình
Ba bước từ cơ sở dữ liệu đến công cụ vận hành
Biểu mẫu tự sinh đáp ứng phần lớn nhu cầu vận hành hằng ngày. Với quy trình phức tạp, đội kỹ thuật dựng màn hình riêng bằng React.
- STEP_01
Kết nối data source
Khai báo PostgreSQL hoặc MySQL với cấu hình riêng cho dev, staging và production. Kiểm tra kết nối, xem cấu trúc bảng và sơ đồ quan hệ trực tiếp trên trình duyệt.
- STEP_02
Định nghĩa action
Viết câu SQL có tham số như {{status}}, hoặc dùng JavaScript để điều phối nhiều action. Action được lưu nháp, kiểm tra khi publish và quản lý theo version.
- STEP_03
Đưa vào sử dụng
Người dùng được cấp quyền chạy action qua biểu mẫu sinh từ tham số, chạy ngay hoặc theo lịch. Thao tác ghi khối lượng lớn có thể chạy nền hoặc chạy hàng loạt.
Tính năng
Kết nối, thực thi và kiểm soát trên cùng một nền tảng
Các năng lực cần thiết để vận hành dữ liệu nội bộ, được thiết kế đồng bộ từ đầu.
-
Data source và sơ đồ quan hệ
PostgreSQL và MySQL, cấu hình theo môi trường, hỗ trợ TLS với CA và client certificate. Cấu trúc bảng, cột, khoá ngoại hiển thị dưới dạng sơ đồ.
-
Action SQL và JavaScript
Tham số có kiểu dữ liệu, danh sách lựa chọn lấy từ action khác, transformer hiển thị liên kết và hình ảnh. JavaScript chạy trong sandbox cô lập.
-
Sinh action CRUD từ bảng
Chọn bảng và các thao tác cần dùng: danh sách có tìm kiếm, sắp xếp, phân trang; xem; thêm; sửa; xoá. Hệ thống tạo bộ action nháp để đội kỹ thuật duyệt.
-
Biểu mẫu chạy tự sinh
Biểu mẫu sinh từ tham số, action ghi luôn yêu cầu xác nhận. Action ghi chạy hàng loạt tối đa 10.000 bộ tham số. Kết quả xuất được ra CSV.
-
View bằng React/TSX
Trình soạn thảo gợi ý kiểu dữ liệu theo từng action, xem trước tức thì, dựng bố cục bằng kéo-thả để sinh mã khởi tạo. Publish có kiểm tra kiểu.
-
Bản nháp, version, rollback
Chỉnh sửa trên bản nháp không ảnh hưởng bản đang dùng. Mỗi lần publish tạo một version cố định, có thể so sánh và khôi phục.
-
Job nền và lịch chạy
Theo dõi tiến độ tác vụ dài và huỷ khi cần. Lịch cron áp dụng đồng thời cho nhiều môi trường.
-
Tách môi trường dev, production
Mỗi project có sẵn dev và prod. Action mới chưa áp dụng cho production cho tới khi được bật. Thanh điều hướng chuyển màu đỏ khi đang ở production.
-
Biến và secret
Giá trị cấu hình theo môi trường, dùng trực tiếp trong action. Secret chỉ ghi, không hiển thị lại sau khi lưu.
-
Phân quyền chi tiết
Vai trò admin, editor, viewer; group người dùng; quyền chạy theo từng action; quyền truy cập theo môi trường kèm giới hạn vai trò.
-
Nhật ký kiểm toán
Ghi nhận mọi thay đổi cấu hình và mọi lần thực thi, kể cả lần bị từ chối. Lọc theo người dùng, sự kiện, môi trường, kết quả, thời gian và xuất file.
-
Giao diện song ngữ
Tiếng Việt và tiếng Anh, chế độ sáng/tối và nhiều bảng màu theo lựa chọn của từng người dùng.
Xây dựng
Có bộ thao tác hoàn chỉnh cho một bảng dữ liệu sau vài lần chọn
Trang Bảng & sơ đồ hiển thị cấu trúc dữ liệu thực tế. Từ một bảng, hệ thống sinh bộ action CRUD ở dạng nháp; đội kỹ thuật rà soát SQL trước khi publish.
- Sơ đồ quan hệ tự sắp xếp theo khoá ngoại
- Danh sách có tìm kiếm, sắp xếp, phân trang
- SQL được kiểm tra khi publish, trước khi tới người dùng
Vận hành tự phục vụ
Nhân viên nghiệp vụ tự tra cứu và cập nhật, không cần viết lệnh
Mỗi action đã publish có một trang thực thi riêng: biểu mẫu sinh từ tham số, kết quả hiển thị dạng bảng, xuất CSV. Thao tác ghi khối lượng lớn chạy nền hoặc chạy hàng loạt.
- Action ghi luôn có bước xác nhận
- Chạy hàng loạt tối đa 10.000 bộ tham số
- Lưu lịch sử thực thi cho từng action
Màn hình tuỳ biến
Màn hình nghiệp vụ riêng, đưa vào sử dụng không cần deploy
View được viết bằng TSX, có gợi ý kiểu dữ liệu cho từng action và xem trước tức thì. Có thể bắt đầu từ trình dựng bố cục kéo-thả. Sau khi publish, người dùng tải lại trang là nhận bản mới.
- Kiểm tra kiểu khi publish
- View chạy trong khung cách ly, dùng quyền của chính người xem
- Quản lý version và rollback như action
Kiểm soát
Biết rõ ai đã chạy gì, ở môi trường nào, vào lúc nào
Quyền chạy được cấp theo từng action và từng môi trường. Production được đánh dấu rõ ràng. Mọi lần thực thi, kể cả bị từ chối, đều có trong nhật ký kiểm toán.
- Quyền chạy open hoặc restricted cho từng action
- IP allowlist và giới hạn vai trò theo môi trường
- Nhật ký ghi số dòng, không lưu nội dung dữ liệu
Vai trò
Phân định trách nhiệm theo vai trò
Bốn vai trò, từ quản trị tổ chức tới người dùng nghiệp vụ.
-
Owner
Quản trị tổ chức: tạo project, tạo và quản lý tài khoản người dùng.
-
Admin
Quản trị project: thành viên, group, môi trường, data source, xoá action, xem nhật ký kiểm toán.
-
Editor
Xây dựng: viết action, quản lý biến và secret, dựng View, tạo lịch chạy.
-
Viewer
Sử dụng: chạy action được cấp quyền, mở màn hình, theo dõi job. Không xem được SQL hay data source.
Bảo mật
Bảo mật được đặt ở tầng kiến trúc
Công cụ có quyền truy cập dữ liệu production cần được kiểm soát chặt hơn mọi hệ thống nội bộ khác.
-
Thông tin kết nối được mã hoá
Mật khẩu và chứng chỉ được mã hoá theo phương pháp envelope (AES-256-GCM) và chỉ được giải mã tại máy chủ thực thi. Trình duyệt không bao giờ nhận lại giá trị đã lưu.
-
SQL được kiểm tra khi publish
Tham số luôn được bind, không ghép chuỗi vào câu lệnh. Câu nhiều lệnh, lệnh DDL hoặc lệnh ghi trong action chỉ đọc bị chặn trước khi tới người dùng.
-
Mã tuỳ biến chạy trong sandbox
JavaScript chạy trong sandbox WebAssembly, không truy cập được file hay mạng. View chạy trong iframe cách ly trên origin riêng, không đọc được phiên đăng nhập.
-
Không cấp quyền ngầm
Publish một View không cấp thêm quyền cho người xem. Người dùng chỉ chạy được action mà chính họ được phép. Quyền được kiểm tra tại một điểm duy nhất.
-
Ghi nhật ký mọi lần thực thi
Mỗi lần thực thi, kể cả bị từ chối, đều ghi lại người thực hiện, thời điểm, môi trường và kết quả. Nội dung dữ liệu trả về không được lưu.
-
Tách biệt theo khách hàng
Mỗi khách hàng có môi trường riêng về dữ liệu cấu hình, khoá mã hoá, tên miền và địa chỉ IP ra cố định để đưa vào allowlist của cơ sở dữ liệu.
Ứng dụng
Một nền tảng cho nhiều bộ phận
-
Chăm sóc khách hàng
Trả lời khách hàng ngay trong cuộc gọi
Nhân viên tự tra cứu đơn hàng theo mã, số điện thoại hoặc trạng thái. Phạm vi dữ liệu được giới hạn theo quyền được cấp.
-
Vận hành
Cập nhật hàng loạt có kiểm soát
Cập nhật trạng thái hàng nghìn đơn hàng trong một lần chạy hàng loạt, có bước xác nhận trước khi ghi và nhật ký sau khi thực thi.
-
Tài chính và dữ liệu
Báo cáo định kỳ chạy theo lịch
Đặt lịch cho các action tổng hợp doanh thu, đối soát. Kết quả xuất CSV để tiếp tục xử lý trên bảng tính.
-
Kỹ thuật nội bộ
Màn hình riêng cho từng phòng ban
Dựng dashboard, công cụ phê duyệt, quy trình nhiều bước bằng React và đưa vào sử dụng bằng một thao tác publish.
Triển khai
Hạ tầng riêng cho từng doanh nghiệp
Mỗi khách hàng sử dụng một bản cài đặt độc lập. Dữ liệu cấu hình, khoá mã hoá, tên miền và địa chỉ IP ra không dùng chung với khách hàng khác.
-
Cô lập theo khách hàng
Cơ sở dữ liệu cấu hình và khoá mã hoá riêng cho từng khách hàng.
-
IP ra cố định
Chỉ cần mở allowlist cho một địa chỉ IP để nền tảng kết nối tới cơ sở dữ liệu của doanh nghiệp.
-
Hỗ trợ triển khai
Đội ngũ triển khai cùng doanh nghiệp kết nối data source đầu tiên và xây dựng các công cụ ưu tiên.
Lộ trình phát triển
- Action gọi HTTP/REST API
- Đăng nhập một lần (SSO/SAML)
- Gateway đặt trong VPC của doanh nghiệp
- Phê duyệt trước khi chạy action nhạy cảm
- Đẩy nhật ký kiểm toán sang hệ thống SIEM
Hỏi đáp
Câu hỏi thường gặp
Người dùng nghiệp vụ có cần biết lập trình không?
Không. Người dùng chỉ cần điền biểu mẫu và bấm chạy, hoặc mở màn hình đã dựng sẵn. Việc định nghĩa action cần kiến thức SQL (hoặc dùng tính năng sinh CRUD từ bảng). Dựng View tuỳ biến cần kiến thức React.
Nền tảng hỗ trợ những nguồn dữ liệu nào?
PostgreSQL và MySQL (từ phiên bản 8.0), mỗi data source có cấu hình riêng cho từng môi trường và hỗ trợ TLS với CA, client certificate. Data source HTTP API hiện đã lưu được cấu hình và kiểm tra kết nối; action gọi HTTP nằm trong lộ trình phát triển.
Dữ liệu của doanh nghiệp có được lưu trên nền tảng không?
Không. Lịch sử thực thi và nhật ký chỉ ghi người thực hiện, action, thời điểm, môi trường, tham số (đã che giá trị nhạy cảm), kết quả và số dòng. Nội dung dữ liệu trả về không được lưu. Thông tin kết nối được mã hoá và không gửi về trình duyệt.
Làm sao ngăn thao tác ghi nhầm trên production?
Action mới mặc định không áp dụng cho production, và việc bật production cần xác nhận. Action ghi luôn yêu cầu xác nhận trước khi chạy. Môi trường production hiển thị màu đỏ. Quyền chạy có thể giới hạn cho từng người dùng hoặc group.
Chỉnh sửa action đang được sử dụng có ảnh hưởng người dùng không?
Không. Mọi chỉnh sửa diễn ra trên bản nháp, người dùng vẫn chạy version đã publish. Mỗi lần publish tạo version mới và có thể khôi phục về version trước bất kỳ lúc nào.
So với tự phát triển trang quản trị, nền tảng tiết kiệm được gì?
Đội phát triển không phải xây lại đăng nhập, phân quyền, nhật ký, quản lý môi trường, chạy nền và xuất dữ liệu cho từng công cụ. Nguồn lực tập trung vào câu truy vấn và màn hình nghiệp vụ; việc publish không cần build hay deploy.
Nền tảng có hỗ trợ đăng nhập một lần (SSO) không?
SSO/SAML nằm trong lộ trình phát triển. Hiện tại, tài khoản do owner của tổ chức tạo và quản lý; phiên đăng nhập có thể thu hồi trên mọi thiết bị.
Quy trình bắt đầu sử dụng như thế nào?
Đặt lịch demo để đội ngũ của chúng tôi cùng doanh nghiệp kết nối một data source thử nghiệm và xây dựng công cụ đầu tiên. Phần Tài liệu mô tả đầy đủ quy trình làm việc trên nền tảng.
Trao công cụ cho đội vận hành, trả thời gian cho đội phát triển
Buổi demo 30 phút trên chính kịch bản nghiệp vụ của doanh nghiệp bạn.