-
Hệ thống hóa các quy trình mang tính khai báo (declarative) để tự động hóa cấu hình, từ đó giảm thiểu thời gian và chi phí cần thiết để một lập trình viên mới tham gia vào dự án.
-
Làm rõ những phần khác nhau tùy theo OS và tối đa hóa tính di động giữa các môi trường chạy.
-
Phù hợp với việc triển khai trên các nền tảng đám mây xuất hiện gần đây, đồng thời không còn cần quản lý máy chủ và hệ thống.
-
Có thể triển khai liên tục để giảm thiểu khác biệt giữa môi trường phát triển và môi trường vận hành, đồng thời tối đa hóa tính linh hoạt.
-
Có thể mở rộng (scale up) mà không cần thay đổi lớn về công cụ, kiến trúc hay phương thức phát triển.
** The Twelve Factors **
I. Codebase - Một codebase được quản lý phiên bản và nhiều bản triển khai
II. Dependencies - Các phụ thuộc được khai báo tường minh và tách biệt
III. Config - Cấu hình được lưu trong môi trường (environment)
IV. Backing services - Xem các dịch vụ backend như tài nguyên được gắn kết
V. Build, release, run - Các giai đoạn build và run được tách biệt triệt để
VI. Processes - Chạy ứng dụng dưới dạng một hoặc nhiều tiến trình không trạng thái (stateless)
VII. Port binding - Công khai dịch vụ bằng cách sử dụng port binding
VIII. Concurrency - Mở rộng bằng mô hình tiến trình
IX. Disposability - Tối đa hóa độ ổn định thông qua khởi động nhanh và graceful shutdown
X. Dev/prod parity - Giữ cho môi trường phát triển, staging và production giống nhau nhất có thể
XI. Logs - Xem log như một luồng sự kiện
XII. Admin processes - Chạy các tác vụ admin/maintenance dưới dạng tiến trình dùng một lần
Chưa có bình luận nào.