Trước khi nghĩ đến việc chuyển 1 dịch vụ thành microservices hoặc làm microservices từ đầu hãy trả lời bảng sau. Nếu YES < NO thì hãy cân nhắc cẩn thận.
Câu hỏi | Yes/No |
---|---|
Có phải bạn đang có các nguồn lực chuyên dụng ở nhiều stack khác nhau ? | YES/ NO |
Có phải bạn muốn 1 hệ thống khi vài dịch vụ chết thì các dịch vụ khác vẫn phải hoạt động ? | YES/ NO |
Dịch vụ bạn đang muốn làm Microservices có phải cần độ mở rộng khác với những thành phần khác của hệ thống ? | YES/ NO |
Bạn đang muốn tách dịch vụ thành các dịch vụ con để đơn giản hóa quy trình phát triển do nguồn lực (nhân lực và vật lực) ? | YES/ NO |
Cấu trúc tổ chức gồm quá nhiều team và bạn muốn tối đa hóa năng suất của từng team thay vì các thành viên phải đa năng hóa ? | YES /NO |
Tính năng đó cần phải phục vụ đa mục đích với các bên khác nhau để tăng tính sử dụng lại (ví dụ 1 module gửi mail có thể config để làm việc với cả mailchimp hoặc sendgrid chỉ cần config lại) ? | YES/ NO |
Bạn có team devops đủ khả năng xử lý mượt mà các microservices từ khởi chạy mới, thiết lập, báo cáo, theo dõi, kết nối ? | YES/ NO |
Team sử dụng các stack công nghệ khác nhau, các công nghệ đó đã đủ trưởng thành để có thể chạy ở môi trường microservices ? | YES/ NO |
Dự án đủ chi phí để chạy microservices ? (vì lúc này nếu dùng Java chẳng hạn, mỗi dịch vụ đều sẽ cần khá nhiều năng lực phần cứng để chạy riêng) | YES/ NO |
Bạn đủ khả năng để tạo các DB báo cáo chung từ các dịch vụ chạy Microservices ? | YES/ NO |
Bạn đủ khả năng để bảo mật các microservices ? | YES/ NO |
Bạn đủ khả năng để kiểm thử các microservices riêng rẽ ? | YES/ NO |
Bạn đủ khả năng để đảm bảo tính nhất quán về dữ liệu của các microservice? | YES/ NO |
Inspired by: Building Microservices Designing Fine-Grained Systems
Article Tags:
microserviceArticle Categories:
dev