Có một điều mình nghĩ sai khá lâu.
Mình từng cho rằng nếu policy được viết đúng thì kết quả cũng sẽ đúng.
Đọc @NewtonProtocol mới thấy điều đó chưa đủ.
Cùng một policy.
Chỉ cần thay vài tham số như giới hạn giao dịch, danh sách được phép hay thời gian hiệu lực, kết quả thực thi có thể hoàn toàn khác.
Điều thú vị là logic không hề thay đổi.
Thứ thay đổi là bối cảnh mà logic đó được áp dụng.
Lúc đó mình nhận ra một điều.
Trong nhiều hệ thống, thứ quyết định mức độ tin cậy không phải code.
Mà là configuration.
Code thường được audit.
Configuration thì ít khi được nhìn kỹ như vậy.
Trong khi chính nó mới là nơi những phán đoán của con người được đưa vào hệ thống.
Newton làm khá hay khi mỗi lần PolicyClient thay đổi cấu hình sẽ tạo ra một policyId mới.
Ít nhất người dùng biết rằng hệ thống đang thực thi theo một cấu hình khác trước.
Nhưng mình vẫn còn một câu hỏi.
Nếu hai ứng dụng dùng cùng một policy, nhưng cấu hình hoàn toàn khác nhau.
Liệu chúng ta đang tái sử dụng cùng một bộ luật.
Hay đang tạo ra hai hệ thống niềm tin khác nhau dưới cùng một cái tên?
Có lẽ tương lai của policy sẽ không chỉ là minh bạch về logic.
Mà còn phải minh bạch về những giả định được đưa vào trước khi logic bắt đầu chạy.
#newt $NEWT $M
What deserves more scrutiny in a policy system?
Mình từng cho rằng nếu policy được viết đúng thì kết quả cũng sẽ đúng.
Đọc @NewtonProtocol mới thấy điều đó chưa đủ.
Cùng một policy.
Chỉ cần thay vài tham số như giới hạn giao dịch, danh sách được phép hay thời gian hiệu lực, kết quả thực thi có thể hoàn toàn khác.
Điều thú vị là logic không hề thay đổi.
Thứ thay đổi là bối cảnh mà logic đó được áp dụng.
Lúc đó mình nhận ra một điều.
Trong nhiều hệ thống, thứ quyết định mức độ tin cậy không phải code.
Mà là configuration.
Code thường được audit.
Configuration thì ít khi được nhìn kỹ như vậy.
Trong khi chính nó mới là nơi những phán đoán của con người được đưa vào hệ thống.
Newton làm khá hay khi mỗi lần PolicyClient thay đổi cấu hình sẽ tạo ra một policyId mới.
Ít nhất người dùng biết rằng hệ thống đang thực thi theo một cấu hình khác trước.
Nhưng mình vẫn còn một câu hỏi.
Nếu hai ứng dụng dùng cùng một policy, nhưng cấu hình hoàn toàn khác nhau.
Liệu chúng ta đang tái sử dụng cùng một bộ luật.
Hay đang tạo ra hai hệ thống niềm tin khác nhau dưới cùng một cái tên?
Có lẽ tương lai của policy sẽ không chỉ là minh bạch về logic.
Mà còn phải minh bạch về những giả định được đưa vào trước khi logic bắt đầu chạy.
#newt $NEWT $M
What deserves more scrutiny in a policy system?
🔘 The policy logic
100%
🔘 The configuration
0%
2 الأصوات • تمّ إغلاق التصويت