Review sách – Release It! – Xây dựng và thiết kế hệ thống trâu bò cho hàng triệu người dùng

Hôm nay chúng ta tiếp tục series sách thuần technical nhé. Kì trước, mình vừa review cuốn sách Ship It! – Làm phần mềm theo phong cách chất chơi người dơi. Kì này, mình sẽ giới thiệu cuốn sách cũng hay không kém mang tên Release It! – Xây dựng và thiết kế hệ thống trâu bò cho hàng triệu người dùng.

Giới thiệu

Đây là một cuốn sách trong bộ sách Pragmatic Programmer. Bộ sách này có nhiều cuốn sách rất hay, chuyên sâu về kĩ thuật mà lại dễ đọc, rất phù hợp với lập trình viên, điển hình là 3 cuốn sách SQL Anti-PatternThe Healthy Programmer, Ship It  mà mình từng review trước đây.

Cuốn sách này có thể coi là “đàn em” của cuốn sách Ship It mình đã giới thiệu kì trước.

Nếu như trong Ship It hướng dẫn chúng ta phương thức làm việc, qui trình xây dựng phần mềm thì Release It lại hướng dẫn chúng ta cách thiết kế và deploy phần mềm trâu bò, giữ cho hệ thống hoạt động tốt và phục vụ  được nhiều người dùng.

Nói đơn giản như thế này! Với developer chúng mình, phần mềm chúng ta viết ra cũng giống như đứa con chúng ta rứt ruột đẻ ra vậy.

Ship It hướng dẫn chúng ta cách đẻ, cách nuôi con để nó khoẻ mạnh, không bị bệnh. Release It lại hướng dẫn chúng ta cách dạy con, giúp cho nó trâu bò, nó khôn để lúc ra đời không bị người lại bắt nạt, không bị đời vả sml như thằng code dạo.

Muốn biết Code Dạo đã bị đời vả sml thế nào, hãy tìm đọc series Code Dạo Trời Tây nhé.

Tóm tắt

Sách khá dài, cỡ 350 trang nên có khá nhiều kiến thức để hấp thu. Nội dung chung của quyển sách là thiết kế, implement và giữ cho hệ thống hoạt động hiệu quả, do vậy sách chia làm 4 phần chính:

  • Tính ổn định của hệ thống
  • Khả năng chịu tải của hệ thống
  • Một số lỗi thiết kế hệ thống thường găp
  • Vận hành hệ thống

Ở mỗi phần, tác giả đều nêu ra những lỗi thiết kế thường gặp, cùng với những pattern hiệu quả mà chúng ta nên làm theo.

Nội dung trong chương 1 – Tính ổn định của hệ thống

Phần hay nhất trong cuốn sách là những câu chuyện về kinh nghiệm thực tế của tác giá. Chúng ta sẽ được nghe câu chuyện về các hệ thống bị sập do thiết kế:

  • Ngay phần 1, chúng ta sẽ nghe chuyện hệ thống một hãng máy bị sập trong 3 tiếng, gây thiệt hại khủng khiếp và còn bị lên mặt báo.
  • Một hệ thống khác bị sập vì không chịu nổi vài trăm ngàn lượt tải do team marketing đã quảng cáo quá đà, sập ngay vào ngày Black Friday do lượng khách quá bự.

Đọc xong, ngẫm nghĩ lại ta mới thấy đội ngũ kĩ thuật của các hệ thống lớn Taobao, Amazon, Alipay “trâu bò” ra sao, khi thiết kế ra được một hệ thống chịu được cả chục triệu lượt tải.

265k giao dịch mỗi giây, tức gần 16 triệu giao dịch mỗi phút. Mỗi giờ sẽ là hàng trăm triệu giao dịch. Có rất ít team có khả năng thiết hệ thống tầm cỡ này.

Nhận xét

Quyển sách sẽ thay đổi cách nhìn của bạn về việc phát triển phần mềm.

Trước đây mình từng nói, code viết ra không phải chỉ chạy được, mà còn phải dễ đọc, dễ hiểu, dễ bảo trì. Nay, mình xin bổ sung thêm là code phải production-ready. Tức là code phải cover được hầu hết các trường hợp lỗi, bảo mật tốt. Code cũng phải đi kèm với logging để có thể tìm và sửa lỗi sau này.

Một hệ thống production ready là một chịu tải được, ổn định có tính availablity cao, vẫn hoạt động tốt khi các hệ thống phụ bị lỗi. Ngoài ra, hệ thống phải đi kèm với loggging. Dựa theo log, khi hệ thống có vấn đề, ta mới có thể lần ra lý do để tiến hành cải tiến và sửa chữa.

Những bài học kinh nghiệm trong sách khá hay, đôi chỗ còn có những thiết kế hệ thống để chúng ta học hỏi.

Một thiết kế hệ thống mẫu trong sách

Đánh giá: 8/10 (Thật ra mấy cuốn điểm dưới 8 mình không thèm viết review đâu hihi)

Theo mình, cỡ tầm mid-level hoặc senior thì bạn đã có thể hấp thụ những kiến thức trong sách. Tốt nhất là bạn nên đọc cuốn này sau khi đã đi làm 2-3 năm, đã kinh qua vài dự án thực tế.

Với các bạn sinh viên thì kiến thức trong sách hơi cao siêu và khó hiểu đôi chút nên cũng không cần đọc ngay đâu nhé!

Advertisements

5 thoughts on “Review sách – Release It! – Xây dựng và thiết kế hệ thống trâu bò cho hàng triệu người dùng”

  1. Code dạo có thể Review 1 số sách mà các bạn sinh viên or những bạn vừa ra trường có thể đọc đc để có thêm kiến thức đc ko code dạo.

    Like

  2. “265k giao dịch mỗi giây, tức gần 1 triệu 6 giao dịch mỗi phút”. Hình như có gì đó sai sai.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s