thắc mắc tìm đầu sách về system design

GeniVN

Senior Member
Chào các bác ạ,

Chuyện là em muốn muốn tìm 1 đầu sách về system design vì tương đối tò mò cách các hệ thống mình dùng hàng ngày vận hành đằng sau như thế nào. Em ở level junior nên muốn tìm những quyển có chứa định nghĩa dành cho người chưa học system design bao giờ ạ, hoặc nâng cao chút cũng được, miễn là hay ạ.

Thấy có quyển của O'Reily và System Design Interview bìa xám, 2 quyển này thì nên đọc quyển nào thú vị hơn ạ?

Cảm ơn các bác :D
 
Chào các bác ạ,

Chuyện là em muốn muốn tìm 1 đầu sách về system design vì tương đối tò mò cách các hệ thống mình dùng hàng ngày vận hành đằng sau như thế nào. Em ở level junior nên muốn tìm những quyển có chứa định nghĩa dành cho người chưa học system design bao giờ ạ, hoặc nâng cao chút cũng được, miễn là hay ạ.

Thấy có quyển của O'Reily và System Design Interview bìa xám, 2 quyển này thì nên đọc quyển nào thú vị hơn ạ?

Cảm ơn các bác :D
Junior thì mình không thấy sách nào tốt cả, cuốn của Alex Xu dạng tổng hợp blog hơn là sách, cuốn của Kleppmann không dành cho beginner, thiên về distributed system theory hơn.

Junior mình nghĩ có thể bắt đầu từ video này

Sau đó đọc https://github.com/donnemartin/system-design-primer. Đọc xong có thể học 2 khóa system design của educative hoặc cuốn của Alex Xu, cuốn của Alex Xu đi sâu hơn nhưng tổ chức không tốt lắm.

Ở mức mid level - senior, muốn đi sâu về lý thuyết có thể học khóa distributed system của Kleppmann và cuốn DDIA của Kleppmann. Đi sâu về ứng dụng có khóa của Smarshchok, giá hơi mắc nhưng tốt hơn tất cả mọi khóa system design mà mình tìm được trên youtube.

Muốn biết hệ thống thực tế hoạt động thế nào thì cách tốt nhất là đọc blog của chính công ty đó + theo dõi conference. Một số công ty như Netflix, Uber, Lyft, Airbnb khá mở vể việc này. Conference có thể tìm trên google, một số conf chất lượng là infoq, atscale, AWS Re:invent (tìm youtube channel, sort theo number of views). Còn các hệ thống của Google, Facebook, AWS thì chỉ có cách chui vô chính công ty đó làm việc mới biết được thôi, những thứ tìm được trên internet chỉ là bề nổi.
 
Junior thì mình không thấy sách nào tốt cả, cuốn của Alex Xu dạng tổng hợp blog hơn là sách, cuốn của Kleppmann không dành cho beginner, thiên về distributed system theory hơn.

Junior mình nghĩ có thể bắt đầu từ video này

Sau đó đọc https://github.com/donnemartin/system-design-primer. Đọc xong có thể học 2 khóa system design của educative hoặc cuốn của Alex Xu, cuốn của Alex Xu đi sâu hơn nhưng tổ chức không tốt lắm.

Ở mức mid level - senior, muốn đi sâu về lý thuyết có thể học khóa distributed system của Kleppmann và cuốn DDIA của Kleppmann. Đi sâu về ứng dụng có khóa của Smarshchok, giá hơi mắc nhưng tốt hơn tất cả mọi khóa system design mà mình tìm được trên youtube.

Muốn biết hệ thống thực tế hoạt động thế nào thì cách tốt nhất là đọc blog của chính công ty đó + theo dõi conference. Một số công ty như Netflix, Uber, Lyft, Airbnb khá mở vể việc này. Conference có thể tìm trên google, một số conf chất lượng là infoq, atscale, AWS Re:invent (tìm youtube channel, sort theo number of views). Còn các hệ thống của Google, Facebook, AWS thì chỉ có cách chui vô chính công ty đó làm việc mới biết được thôi, những thứ tìm được trên internet chỉ là bề nổi.
Vâng em cảm ơn bác nhiều
 
Junior thì mình không thấy sách nào tốt cả, cuốn của Alex Xu dạng tổng hợp blog hơn là sách, cuốn của Kleppmann không dành cho beginner, thiên về distributed system theory hơn.

Junior mình nghĩ có thể bắt đầu từ video này

Sau đó đọc https://github.com/donnemartin/system-design-primer. Đọc xong có thể học 2 khóa system design của educative hoặc cuốn của Alex Xu, cuốn của Alex Xu đi sâu hơn nhưng tổ chức không tốt lắm.

Ở mức mid level - senior, muốn đi sâu về lý thuyết có thể học khóa distributed system của Kleppmann và cuốn DDIA của Kleppmann. Đi sâu về ứng dụng có khóa của Smarshchok, giá hơi mắc nhưng tốt hơn tất cả mọi khóa system design mà mình tìm được trên youtube.

Muốn biết hệ thống thực tế hoạt động thế nào thì cách tốt nhất là đọc blog của chính công ty đó + theo dõi conference. Một số công ty như Netflix, Uber, Lyft, Airbnb khá mở vể việc này. Conference có thể tìm trên google, một số conf chất lượng là infoq, atscale, AWS Re:invent (tìm youtube channel, sort theo number of views). Còn các hệ thống của Google, Facebook, AWS thì chỉ có cách chui vô chính công ty đó làm việc mới biết được thôi, những thứ tìm được trên internet chỉ là bề nổi.
có cuốn nào system design có beginer ko ạ, giới thiệu em với
 
Junior thì mình không thấy sách nào tốt cả, cuốn của Alex Xu dạng tổng hợp blog hơn là sách, cuốn của Kleppmann không dành cho beginner, thiên về distributed system theory hơn.

Junior mình nghĩ có thể bắt đầu từ video này

Sau đó đọc https://github.com/donnemartin/system-design-primer. Đọc xong có thể học 2 khóa system design của educative hoặc cuốn của Alex Xu, cuốn của Alex Xu đi sâu hơn nhưng tổ chức không tốt lắm.

Ở mức mid level - senior, muốn đi sâu về lý thuyết có thể học khóa distributed system của Kleppmann và cuốn DDIA của Kleppmann. Đi sâu về ứng dụng có khóa của Smarshchok, giá hơi mắc nhưng tốt hơn tất cả mọi khóa system design mà mình tìm được trên youtube.

Muốn biết hệ thống thực tế hoạt động thế nào thì cách tốt nhất là đọc blog của chính công ty đó + theo dõi conference. Một số công ty như Netflix, Uber, Lyft, Airbnb khá mở vể việc này. Conference có thể tìm trên google, một số conf chất lượng là infoq, atscale, AWS Re:invent (tìm youtube channel, sort theo number of views). Còn các hệ thống của Google, Facebook, AWS thì chỉ có cách chui vô chính công ty đó làm việc mới biết được thôi, những thứ tìm được trên internet chỉ là bề nổi.
Thanks bác, note được khóa học kia để về nghiền ngẫm, hệ thống lại kiến thức xem đủ vững chưa. Tech blog của big tech cũng đọc nhiều nhưng nó thiên về giải quyết 1 problem cụ thể của bên họ, tiếp nữa là cũng đi từ kinh nghiệm thực tế là đã implement hướng này hướng kia xong mới tìm ra solution bây giờ, cuối cùng là tech stack họ dùng chưa chắc mình đã dùng được. Nên đọc cho vui, tham khảo và mở rộng knowledge chứ cũng không áp dụng được mấy :'(
 
Thanks bác, note được khóa học kia để về nghiền ngẫm, hệ thống lại kiến thức xem đủ vững chưa. Tech blog của big tech cũng đọc nhiều nhưng nó thiên về giải quyết 1 problem cụ thể của bên họ, tiếp nữa là cũng đi từ kinh nghiệm thực tế là đã implement hướng này hướng kia xong mới tìm ra solution bây giờ, cuối cùng là tech stack họ dùng chưa chắc mình đã dùng được. Nên đọc cho vui, tham khảo và mở rộng knowledge chứ cũng không áp dụng được mấy :'(
Mình thấy tech stack gần nhất với mấy công ty ở Việt Nam là tech stack của Uber (golang, public cloud, mysql...). Mình đọc blog của Uber cũng học được nhiều thứ áp dụng được https://eng.uber.com/tech-stack-part-one-foundation/
https://eng.uber.com/uber-tech-stack-part-two/
https://stackshare.io/stack-history-timeline-uber-tech-stack-evolution
 
Mình thấy tech stack gần nhất với mấy công ty ở Việt Nam là tech stack của Uber (golang, public cloud, mysql...). Mình đọc blog của Uber cũng học được nhiều thứ áp dụng được https://eng.uber.com/tech-stack-part-one-foundation/
https://eng.uber.com/uber-tech-stack-part-two/
https://stackshare.io/stack-history-timeline-uber-tech-stack-evolution
Xin bác nhé, biết thêm về tech với solution để lên trình bản thân, khoái khoái :still_dreaming:
:still_dreaming:
 
Xưa các cao thủ võ lâm ai may mắn lắm mới dc quyển bí kíp võ công, 1 quyển thôi đã xưng vương xưng bá rồi. Mấy quyển ở trên đề cập cũng như kiểu bí kíp võ công mà mọi người đều có thể đọc được free. Chỉ cần có nỗ lực là thành cao thủ hết :D:D

Sent from Xiaomi Redmi Note 9S using vozFApp
 
Thanks bác, note được khóa học kia để về nghiền ngẫm, hệ thống lại kiến thức xem đủ vững chưa. Tech blog của big tech cũng đọc nhiều nhưng nó thiên về giải quyết 1 problem cụ thể của bên họ, tiếp nữa là cũng đi từ kinh nghiệm thực tế là đã implement hướng này hướng kia xong mới tìm ra solution bây giờ, cuối cùng là tech stack họ dùng chưa chắc mình đã dùng được. Nên đọc cho vui, tham khảo và mở rộng knowledge chứ cũng không áp dụng được mấy :'(
Muốn grow được thì phải kiếm mentor giỏi có tâm thôi bạn. Hoặc ít nhất phải tự question được current design của hệ thống team bạn đang dev/maintain. Tui chẳng đọc hết sách hay học khoá design nào cả, vì thấy nó sa đà vào pattern nhiều quá.
 
Muốn grow được thì phải kiếm mentor giỏi có tâm thôi bạn. Hoặc ít nhất phải tự question được current design của hệ thống team bạn đang dev/maintain. Tui chẳng đọc hết sách hay học khoá design nào cả, vì thấy nó sa đà vào pattern nhiều quá.
Mục đích của việc đọc sách/blog là để tránh unknown unknowns. Trừ khi bác có kinh nghiệm làm hàng chục công ty, còn không thì kiến thức học được từ kinh nghiệm thực tế không bao giờ là đủ trong ngành. Chờ có mentor giỏi thì bác không bao giờ giỏi hơn mentor của bác.
 
Junior thì mình không thấy sách nào tốt cả, cuốn của Alex Xu dạng tổng hợp blog hơn là sách, cuốn của Kleppmann không dành cho beginner, thiên về distributed system theory hơn.

Junior mình nghĩ có thể bắt đầu từ video này

Sau đó đọc https://github.com/donnemartin/system-design-primer. Đọc xong có thể học 2 khóa system design của educative hoặc cuốn của Alex Xu, cuốn của Alex Xu đi sâu hơn nhưng tổ chức không tốt lắm.

Ở mức mid level - senior, muốn đi sâu về lý thuyết có thể học khóa distributed system của Kleppmann và cuốn DDIA của Kleppmann. Đi sâu về ứng dụng có khóa của Smarshchok, giá hơi mắc nhưng tốt hơn tất cả mọi khóa system design mà mình tìm được trên youtube.

Muốn biết hệ thống thực tế hoạt động thế nào thì cách tốt nhất là đọc blog của chính công ty đó + theo dõi conference. Một số công ty như Netflix, Uber, Lyft, Airbnb khá mở vể việc này. Conference có thể tìm trên google, một số conf chất lượng là infoq, atscale, AWS Re:invent (tìm youtube channel, sort theo number of views). Còn các hệ thống của Google, Facebook, AWS thì chỉ có cách chui vô chính công ty đó làm việc mới biết được thôi, những thứ tìm được trên internet chỉ là bề nổi.
dev có cần học cái này ko bác, tui thấy họ là AWS Solution architecture thì là ko phải dev mà công việc của SA tui đọc thấy là ngồi thảo luận khách và viết proof of concept
 
dev có cần học cái này ko bác, tui thấy họ là AWS Solution architecture thì là ko phải dev mà công việc của SA tui đọc thấy là ngồi thảo luận khách và viết proof of concept
Nếu bác làm backend/data engineer thì cần học bác, nó là kiến thức để thiết kế hệ thống. Solution architects họ cũng tham gia thiết kế hệ thống nhưng với vai trò là consultants, về cơ bản thì mảng kiến thức của hai bên gần với nhau, chỉ khác là Dev trực tiếp tham gia phát triển sản phẩm.
 
Nếu bác làm backend/data engineer thì cần học bác, nó là kiến thức để thiết kế hệ thống. Solution architects họ cũng tham gia thiết kế hệ thống nhưng với vai trò là consultants, về cơ bản thì mảng kiến thức của hai bên gần với nhau, chỉ khác là Dev trực tiếp tham gia phát triển sản phẩm.
Hai bên giống nhau thì cần gì consultants nữa bác, sao cho backend thiết kế + làm luôn. Tui xem linkedin của HonaPham thấy làm linux admin rồi sang AWS làm SA. Học cái này nghe vẻ ngon nhỉ bác, ko cần phải code đau đầu
 
Hai bên giống nhau thì cần gì consultants nữa bác, sao cho backend thiết kế + làm luôn.
Thường các công ty vai trò đó sẽ thuộc về backend/devops engineer đó bác. Nhưng có một số công ty họ không có kinh nghiệm về một công nghệ cụ thể (GCP, Azure), hoặc hệ thống lớn họ cần bên thứ 3 tư vấn thì họ sẽ thuê consultant về để hỗ trợ. Nếu bác là khách hàng lớn và muốn migrate lên cloud, Azure/AWS/GCP sẽ có sẵn một vài Solution Architect hỗ trợ từ đầu.
 
Tui xem linkedin của HonaPham thấy làm linux admin rồi sang AWS làm SA. Học cái này nghe vẻ ngon nhỉ bác, ko cần phải code đau đầu
Mình không làm SA nên cũng không rõ, nhưng mình thấy rất hiếm khi SA là người ít kinh nghiệm. Thông thường SA phải có kinh nghiệm software engineer/sys admins một thời gian rồi mới có thể làm SA. Role SA cũng rất khác so với tech, vì SA thực chất là sales/customer engineer, cần phải giao tiếp với khách hàng chứ không đơn thuần mạnh về tech là có thể làm được.
 
Last edited:
Back
Top