Như đã giới thiệu ở bài trước, mình sẽ giới thiệu về twlve-factor app. Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy.
Trong bài này, mình sẽ giải thích các yếu tố từ 8 tới 12 nhé:
- 8. Concurrency: Một app nên được chia tách thành nhiều process nhỏ để tăng concurrency
- 9. Disposability: Process của web app nên sống nhanh, chết nhẹ nhàng, để có thể dễ dàng chạy/kill process nhanh chóng
- 10. Dev/prod parity: Các môi trường dev/staging/production nên giống nhau hết sức có thể
- 11. Logs: Logs nên được viết ra dạng stream ở stdout
- 12. Admin Processes: Một số task dạng admin (tạo database, fix dữ liệu) nên được chạy trong cùng môi trường với app đang chạy
Đây là phần 3 trong series 3 phần về Twelve-Factor App:
- Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
- Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
- Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes