Trong giới công nghệ, câu trả lời kinh điển của mọi Architect là "It depends" (Còn tùy). Nhưng tùy vào cái gì? Cuốn sách Software Architecture: The Hard Parts (2022) cung cấp khung tư duy để bạn phân tích cái "tùy" đó.
Tại sao đây là cuốn sách "gối đầu giường" cho Senior Architect? Chuyển đổi từ Monolithic (Nguyên khối) sang Microservices (Vi dịch vụ) là xu hướng tất yếu của các tập đoàn công nghệ tại Hà Nội và TP.HCM. Tuy nhiên, việc chia nhỏ hệ thống sinh ra vô vàn rắc rối mới. Cuốn sách này tập trung giải quyết những phần "khó nhằn" nhất (The Hard Parts):
Service Granularity: Cắt service to hay nhỏ? Làm sao xác định đúng ranh giới (Bounded Context)?
Distributed Data: Quản lý dữ liệu phân tán như thế nào để không bị mất mát hay sai lệch? (Đây là phần khó nhất).
Communication Patterns: Chọn Synchronous (Đồng bộ) hay Asynchronous (Bất đồng bộ) để tối ưu hiệu năng?
Workflow: Lựa chọn giữa Orchestration (Nhạc trưởng điều phối) hay Choreography (Tự tương tác) để quản lý quy trình nghiệp vụ phức tạp.
Các tác giả sử dụng câu chuyện về một nhóm phát triển hư cấu (Sysops Squad) để minh họa các tình huống thực tế, giúp bạn hiểu sâu về độ kết dính (Coupling) và sự gắn kết (Cohesion). Đây là tài liệu bắt buộc phải đọc nếu bạn muốn thiết kế những hệ thống bền vững, chịu tải cao và dễ bảo trì bằng Java, C# hay Go.