Review sách: Site Reliability Engineering – How Google Run Production System

Bạn có biết rằng, design và code ra một hệ thống là chuyện khó, nhưng giữ cho hệ thống đó hoạt động, phát triển thêm chức năng mới là một chuyện còn … khó khăn hơn nữa!

Bạn có biết điều gì giúp cho những hệ thống lớn như Google, Gmail, Youtube hoạt động ổn định, ít gặp sự cố dù có đến hàng triệu hàng tỷ người dùng không?

Một trong những yếu tố quan trọng đó là Google có một đội ngũ SRE – Site Reliability Enginner, những người đứng phía sau theo dõi, bảo trì hệ thống, xử lý sự cố khi có vấn đề xảy ra.

Không chỉ Google, những công ty lớn như Facebook, Amazon, Netflix cũng đều có vị trí SRE, phụ trách những công việc tương tự, giúp hệ thống hoạt động ổn định.

Vì vậy, hôm nay mình sẽ giới thiệu cuốn Site Reliability Engineering – How Google Run Production System, một cuốn sách do các kĩ sư trong team SRE của Google viết ra nhé!

(Cảnh báo nhẹ, sách hơi khó đọc, chỉ nên đọc nếu bạn đã có ít nhất 1-2 năm kinh nghiệm nhé)

Giới thiệu

Bên cạnh UI/UX, mình cũng có tìm hiểu về architecture design và DevOps (Full-stack mà, tìm hiểu nhiều mới biết được mọi khía cạnh hoạt động của một hệ thống chứ).

Năm trước, khi mới tìm hiểu sơ qua về DevOps, mình có đọc được cuốn The Phoenix Project. Cuốn sách này khá hay và dễ hiểu, không nặng tính technical mà dựa vào kể chuyện để mô tả các nguyên lý trong DevOps.

Bẵng đi một thời gian, do trong công việc chưa cần lắm nên mình cũng không tìm hiểu sâu thêm.

Gần đây, do trong công việc cần sử dụng thêm về container Docker, Kubernetes, mình mới quay lại tìm hiểu tiếp (Tự học chứ mấy cái này làm gì có trường lớp trung tâm nào dạy).

Bạn nào muốn biết Kuberntes là gì thì vào đây nhé https://kubernetes.io

 

Tìm hiểu một hồi mới lòi ra tiền thân của Kubernetes là Borg, một công nghệ quản lý container do Google tạo ra, sử dụng trong hệ thống Production của họ.

Thế là, mình tìm được cuốn sách này, giới thiệu rõ ràng về qui trình SRE trong Google, cách hệ thống Google hoạt động, những công nghệ được Google sử dụng.

Tác giả của sách gồm nhiều thành viên trong team SRE của Google viết ra, từ engineer cho tới manager. Bản ebook lại được Google cho free trên web, ngại gì mà không đọc nhỉ:

Sách vẫn đang free tại https://landing.google.com/sre/book.html nhé

Trong bài review này, mình sẽ tóm tắt lại một phần nội dung sách và nhận xét nhé!

Tóm tắt

Để mình giới thiệu sơ về DevOps và SRE cho các bạn dễ hiểu trước.

Khi xưa, ngành phần mềm chia ra làm development-dev (developer code ra hệ thống) và operation-ops (sysadmin vận hành hệ thống).

Ở Google, SRE là những người bỏ 50% thời gian để vận hành hệ thống, xử lý sự cố (như sysadmin), thời gian còn lại họ sẽ develop những hệ thống giám sát, bảo trì hệ thống, nhằm làm giảm thời gian phải bỏ ra để vận hành hệ thống và xử lý sự cố.

Sách cũng có vài lời giới thiệu, so sánh giữa SRE và DevOps

Nội dung sách gồm 4 phần chính:

  • Phần 1: Giới thiệu sơ về công việc của SRE, cũng như kiến trúc hệ thống của các ứng dụng Google
  • Phần 2: Những nguyên lý hoạt động của SRE: Chấp nhận rủi ro, tự động hóa mọi thử, giảm thiểu thời gian vận hàn…
  • Phần 3: Đây là phần đắt giá nhất, cũng là phần khó đọc nhất. Phần này ghi rõ những vấn đề Google gặp phải khi vận hành hệ thống, cách khắc phục chúng: Load Balancing ra sao, làm gì khi có sự cố
  • Phần 4: Phần này gồm những lời khuyên về quản lý, xây dựng và tổ chức một team SRE như thế nào

Định viết sơ những điều mình học được từ sách nhưng mà cảm thấy … nhiều và dài quá nên thôi. Các bạn cứ chịu khó xem mục lục hoặc đọc sách sẽ rõ nhé!

Mục lục phần 3, có nhiều thứ hay ho và đáng học hỏi nha!

Nhận xét

Ở đầu, mình có cảnh báo nhẹ là sách hơi khó đọc, chỉ nên đọc nếu bạn đã có ít nhất 1-2 năm kinh nghiệm.

Trong sách, chỉ có phần 1 là dễ hiểu. Phần 2 đi sâu vào những nguyên lý mà team SRE của Google sử dụng để vận hành hệ thống.

Phải từng đi làm thực tế, vận hành hệ thống thực tế thì các bạn mới nắm được những điều sách nói. Nếu chưa đi làm thì không mường tượng được đâu!

Phần 3 càng đi sâu vào kĩ thuật hơn. Nhiều đoạn khá phức tạp, chỉ dành cho những bạn nắm vững kiến thức hạ tầng mạng, đã từng vận hành hệ thống lâu mới hiểu được.

Có vài bài đi sâu vào thuật toán sử dụng nên đọc rất đau não. Có bài lại dùng nhiều thuật ngữ chuyên ngành mình đọc thấy lạ hoắc, hồi xưa học nhưng ít dùng nên quên sạch luôn.

Sách cũng khá ít ảnh minh họa, hầu như chỉ là đồ thị, công thức, còn lại rất rất nhiều chữ nên khá là dễ ngộp khi đọc lâu.

Một hình minh họa hiếm hoi trong sách

Tạm kết

Túm cái váy lại, đây là một cuốn sách hay, khá dài và không dễ đọc. Sách dài khoảng 500 trang, nội dung mang tính kĩ thuật nhiều nên không đọc lướt được.

Các bạn nên đọc kĩ và suy ngẫm nha, chắc khoảng 2-3 tuần bạn sẽ đọc xong lần đầu, sau đó lâu lâu lấy ra ngâm lại.

Sách dài hơn 500 trang đấy nhé!!

Cuốn này thì mình nghĩ các dev mobile hoặc front-end dev đọc sẽ không thấy hay lắm! Những bạn làm sysadmin, hạ tầng mạng, DevOps, làm chuyên về back-end hoặc full-stack thì đọc sẽ hiểu và học được nhiều hơn.

Đánh giá: 8/10

Sách được Google cung cấp miễn phí dưới dạng web, các bạn nào muốn đọc thử thì cứ đọc online tại đây nha: https://landing.google.com/sre/book.html

P/S: Để theo dõi bài viết trên Tôi Đi Code Dạo, nhớ Subscribe Chat Bot của tụi mình nha. Bot của Code Dạo sẽ gửi bạn những bài viết cực kì hay ho về kĩ năng mềm và cứng, kinh nghiệm trong ngành vào thứ 4 hàng tuần nhé!

Đăng ký bài viết

Advertisements

2 thoughts on “Review sách: Site Reliability Engineering – How Google Run Production System”

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 )

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s