Trang chủ » Thiết kế website giá rẻ
Bí mật của Google: Luôn đề phòng sự cố!
Mới đây, Urs Hoelzle, phó chủ tịch vận hành và thiết kế hệ thống Google đã vén một phần tấm màn bí mật bao phủ xung quanh cơ chế hoạt động và điều hành của các trung tâm dữ liệu của hãng. Với nhiều người, chính cơ chế hoạt động chuyên nghiệp, chứ không phải thuật toán tìm kiếm, mới là yếu tố then chốt trong sự thành công của gã khổng lồ tìm kiếm web này.
Phát biểu tại cuộc hội thảo của giới lập trình ứng dụng EclipseCon, Hoelzle nói rằng: Sở dĩ Google có thể xây dựng được cơ sở hạ tầng máy tính của mình từ nhiều triệu USD, thay vì hàng chục triệu USD như nhiều hãng khác, là vì hãng đã chọn mua những cỗ máy tương đối rẻ. Khi nhìn vào chi phí phần cứng, các kỹ sư của Google đã nhận ra thực tế: mua một vài máy chủ cao cấp, với 8 bộ xử lý siêu mạnh hoặc nhiều hơn, tốn kém hơn nhiều so với 12 chiếc máy chủ "đại trà" hơn.
Tài năng của Google là ở chỗ họ đã buộc các phần cứng rời rạc rẻ tiền này phối hợp hoạt động với nhau một cách nhịp nhàng, trong đó sự cố của một máy không thể làm "trật khớp" cả guồng quay: kết quả tìm kiếm vẫn phải hiển thị đủ và quảng cáo trả tiền vẫn có mặt đều đều theo đúng hợp đồng.
"Hãy nhớ lại những chiếc máy tính gia đình", Hoelzle nói. "Lạc quan nhất, sau ba năm sử dụng, tối thiểu máy của bạn cũng phải hỏng hóc một lần, do trục trặc phần mềm hoặc sự cố từ phần cứng. Với quy mô như của Google, nếu bạn có hàng ngàn chiếc máy, tỷ lệ đó sẽ là 1 sự cố/ngày. Do đó, tốt nhất, bạn phải tìm cách tự động hoá việc xử lý chúng, nếu không dịch vụ của bạn sẽ chết cứng."
Goole, hãng nổi danh với chế độ tuyển dụng khe khắt nhằm thu hút những "bộ óc sáng láng nhất" của ngành khoa học vi tính, đã tạo ra hàng chục công cụ phần mềm đặc biệt để kiểm soát và quản lý việc cài đặt hệ thống máy tính.
Họ tự viết một file hệ thống có tên gọi Google File System, được tối ưu hoá để kiểm soát những khối dữ liệu lên tới 64 MB. Đáng chú ý hơn, file hệ thống này còn được thiết kế dựa trên điều kiện giả sử rằng một sự cố (chẳng hạn như đĩa hỏng hay mạng cáp không kết nối được) có thể xảy ra bất cứ lúc nào. Vì thế, dữ liệu được nhân sao và lưu trữ tại ba nơi khác nhau, đồng thời có một máy "chủ" lưu giữ bản sao phần quan trọng nhất của dữ liệu, chẳng hạn như danh mục từ khoá để đề phòng bản gốc không còn.
"Chúng tôi làm ra các phần mềm có khả năng chịu đựng hỏng hóc. Nếu bạn có thể đón đầu với sự cố, đó là khi một hệ thống máy tính bình thường rẻ tiền cũng trở nên hoàn hảo cho các dịch vụ Internet".
Các máy chủ PC của Google, với số lượng lên tới hàng ngàn, đều chạy một phiên bản "tinh giản" của Linux. Dựa trên hệ điều hành Linux do Red Hat phát hành, phiên bản này thực chất đã được Google chỉnh sửa, chỉ còn giữ lại phần hạt nhân Linux mà thôi. Ngoài ra, Google còn phát minh ra một hệ thống có khả năng kiểm soát và xử lý khối lượng dữ liệu khổng lồ, đồng thời phản hồi "siêu tốc" với mọi yêu cầu tìm kiếm. Google đã chia nhỏ Web thành hàng triệu "mảnh vụn", hay "mảnh vỡ" theo như thuật ngữ kỹ thuật riêng của họ, nhân sao chúng và tất nhiên là để "đề phòng sự cố".
Google đã xây dựng cả một danh mục tất cả các từ từng xuất hiện trên Web(!!!) và lưu danh mục này dưới dạng một "tủ" file lớn. Song song với đó, Google còn có cả các máy chủ tài liệu để lưu trữ bản sao của các trang Web mà Google download.
Theo Hoelzle, một việc khác không kém phần quan trọng mà Google đã làm là viết các chương trình có thể chạy qua... hàng ngàn máy chủ một cách "ngon lành". Trong khi bình thường, xây dựng các ứng dụng để chạy trên những máy chủ có cấu hình song song cũng đã đòi hỏi đủ loại công cụ và kỹ năng chuyên môn rồi. Công cụ lập trình của Google, với tên gọi MapReduce, với khả năng tự động hoá nhiệm vụ khôi phục chương trình sau sự cố, chính là nhân tố then chốt trong việc tiết kiệm chi phí vận hành cho hãng.
Và cuối cùng, Google đã tạo ra một phần mềm phân bổ thời gian biểu làm việc "theo khối", hoạt động như một "đốc công" chặt chẽ chỉ huy hàng triệu hoạt động. Dưới cái tên "Global Work Queue", phần mềm này chia nhỏ công việc máy tính thành nhiều gói nhiệm vụ nhỏ và phân chia chúng đều cho tất cả các máy.
Tuy nhiên, chính Hoelzle cũng tiết lộ rằng bất chấp tất cả những tính năng tích hợp phức tạp chống-sự-cố này, hệ thống cũng không thể xử lý được hết mọi vấn đề. Trong phần thuyết trình của mình, Hoelzle đã đưa ra bức ảnh chụp 6 xe cứu hoá khẩn cấp đỗ trước một trung tâm dữ liệu của Google. Tất nhiên là địa điểm chính xác không được tiết lộ.