12 Điều răn không phải của Chúa, mà là từ những Software Architect truyền lại những kinh nghiệm xây dựng ứng dụng.
1-Codebase
Quản lý code (Git, Git Flow)
2-Depencies
Quản lý thư viện mà ứng dụng phụ thuộc bằng khai báo ra file cụ thể (kiểu như package.json trong Node.js)
3- Config
Lưu cấu hình (hãy dùng centralized, high-availability configuration store - coreos-etcd)
4-Backing Services
Coi dịch vụ CSDL, Message Queue phía sau là tài nguyên có thêm / bớt dễ dàng. Ứng dụng tuyệt đối không nên gắn chặt sống còn vào một tài nguyên cụ thể nào vì điều này khiến hệ thống khó mở rộng.
5- Build, Release, Run
Tách bạch 3 thời kỳ: Build - Release - Run. Việc này tốt cho việc bảo mật.
6- Processes
Vận hành ứng dụng bằng nhiều tiến trình không lưu giữ trạng thái (stateless process). Stateless process sẽ giúp hệ thống mở rộng tốt hơn, dễ hơn, ít lỗi hơn so với state process.
7- Port binding
Cung cấp dịch vụ qua các port khác nhau - sử dụng port binding. Đây là mô hình API Gateway trong
8- Concurrency
Mở rộng bằng thêm nhiều dịch vụ độc lập chứ không bằng cách tăng sức mạnh phần cứng
9- Disposability
Khởi động nhanh - thu hồi sạch sẽ tốt hơn khởi động chậm, khi thoát không giải phóng hết bộ nhớ.
10-Dev/ prod parity
Đồng bộ giữa thời kỳ phát triển và triển khai như vậy dễ gỡ rối và chuyển từ phát triển sang triển khai mới nhanh, liên tục được
11- Logs
Coi log là một chuỗi sự kiện thời sự để xử lý thời gian thực.
12- Admin processes
Quản trị hệ thống nên là một tiến trình độc lập, có thể gắn - hoặc tách ra khỏi ứng dụng đang chạy.
Sorfware Architect mang lại giá trị các ứng dụng, tham gia tìm hiểu các khóa học tại Techmaster xây dựng factors app.
Bình luận