Cái gì sai với ứng dụng nguyên khối? (tiếp tục)
Cập nhật code cho một nguyên khối là công việc rủi ro – nó là tất cả hay không là gì. Khi bạn đẩy một thay đổi code
cái phá vỡ nguyên khối, toàn bộ ứng dụng dừng hoạt động, khách hàng của bạn bị bỏ lại high and dry, và công ty
của bạn chảy máu tiền. Chúng ta có thể chỉ muốn thay đổi một dòng đơn code, nhưng vẫn vậy, chúng ta phải triển khai
toàn bộ nguyên khối và có nguy cơ phá vỡ nó. Nguy cơ này nhóm lên nỗi sợ triển khai, và nỗi sợ làm chậm nhịp bước
của phát triển của chúng ta.
Ngoài ra, khi cấu trúc của nguyên khối bị phá hủy, nguy cơ của chúng ta phá vỡ nó thao cách thức không lường trước
được tăng lên. Test trở nên khó hơn và nuôi dưỡng nhiều hơn nỗi sợ triển khai. Thí nghiệm và đổi mới cuối cùng dừng
lại. Tôi có thuyết phục bạn rằng bạn nên thử microservices? Chờ đã, có nhiều hơn!
Vì kích cỡ thật của một nguyên khối thiết lập, test là một vấn đề, và vì mức cực kì chậm của chi tiết, nó là khó
để tăng quy mô. Cuối cùng, nguyên khối mở rộng để tiêu thụ các giới hạn vật lí của máy nó chạy trên. Khi nguyên khối
có tuổi tiêu thụ càng nhiều các tài nguyên vật lí, nó trở nên đắt đỏ để chạy. Tôi vừa chứng kiến cái này! Thẳng thắn
mà nói, loại cuối cùng này có thể là một con đường dài đi từ bất cứ nguyên khối nào, nhưng thậm chí sau chỉ một vài
năm gia tăng, nguyên khối dẫn đến một nơi nơi bạn không thích ở.
Mặc dù khó khăn cuối cùng với nguyên khối, nó vẫn là cách thức đơn giản nhất để bootstrap một ứng dụng mới. Chúng
ta có không nên bắt đầu với một nguyên khối và sau này cấu trúc lại khi chúng ta cần tăng quy mô? Câu trả lời của
tôi: nó tùy thuộc.
Nhiều ứng dụng sẽ luôn là nhỏ. Có nhiều nguyên khối nhỏ in the wild cái làm công việc của chúng tốt và không cần
được tăng quy mô hay phát triển. Chúng không gia tăng, và chúng không chịu các vấn đề tăng trưởng. Nếu bạn tin ứng
dụng của bạn sẽ vẫn nhỏ và đơn giản và không cần phát triển, bạn nên hoàn toàn xây dựng nó như một nguyên khối.
