Cách Nhóm Cơ sở hạ tầng định hình tương lai của mọi hoạt động tại Roblox

- Nhóm Cơ sở hạ tầng của chúng tôi thiết kế, xây dựng và vận hành các hệ thống lưu trữ, tính toán, mạng, bảo mật và năng suất kỹ thuật cơ bản, cung cấp năng lượng cho nền tảng Roblox toàn cầu.
- Các hệ thống này hoạt động trên quy mô lớn — hỗ trợ 77,7 triệu* người dùng hoạt động hàng ngày, hàng exabyte nội dung được phân phối và hơn 250 triệu kết nối đồng thời, trải rộng trên hơn 135.000 máy chủ.
- Mọi hoạt động của nhóm đều nhằm tối đa hóa độ tin cậy và hiệu quả của các hệ thống của chúng tôi, đồng thời giúp các kỹ sư của chúng tôi làm việc hiệu quả nhất có thể.
Mỗi giây trong ngày, các kỹ sư sản phẩm tại Roblox có thể sử dụng hơn 2.000 dịch vụ chạy trên hạ tầng đám mây nội bộ toàn cầu của chúng tôi. Nền tảng của chúng tôi hỗ trợ hàng triệu lượt đọc và ghi, xử lý terabyte dữ liệu và xử lý hàng chục triệu yêu cầu HTTP. Khi 77,7 triệu* người dùng hoạt động hàng ngày truy cập Roblox, họ làm điều đó thông qua hơn 250 triệu kết nối đồng thời.
Tất cả những điều đó chính là quy mô của các hệ thống công nghệ tại Roblox, và là lĩnh vực hoạt động của Nhóm Cơ sở hạ tầng (Infrastructure Group) của chúng tôi. Được gọi tắt là Infra, họ thiết kế, xây dựng và vận hành các hệ thống lưu trữ, tính toán, mạng, bảo mật và năng suất kỹ thuật của công ty, cũng như các trung tâm dữ liệu của chúng tôi. Mục tiêu của Infra là cung cấp các hệ thống có khả năng mở rộng, đáng tin cậy và dễ sử dụng. Trên hết, nhóm này coi trọng ba chỉ số chính:
- Tính sẵn sàng — độ tin cậy của các hệ thống
- Chi phí phục vụ — hiệu quả của các hệ thống
- Năng suất — mức độ hiệu quả mà các kỹ sư Roblox đạt được khi xây dựng trên nền tảng cơ sở hạ tầng
Như Max Ross, phó chủ tịch kỹ thuật kiêm trưởng nhóm Infra, đã nói: “Mọi việc chúng tôi làm đều nhằm thúc đẩy một hoặc một số kết hợp của ba yếu tố đó — tính sẵn sàng, chi phí phục vụ và năng suất.”
Mọi hoạt động của chúng tôi đều nhằm mục đích thúc đẩy một hoặc một số sự kết hợp của ba yếu tố này: tính sẵn có, chi phí phục vụ và năng suất.
Giải quyết các vấn đề mới mỗi ngày
Khi hơn một triệu người dùng tham gia một trải nghiệm Roblox nổi tiếng sau một bản cập nhật lớn, một hiện tượng được gọi là “thundering herd”, các nhà sáng tạo của chúng tôi có thể yên tâm. Đó là bởi vì nhiệm vụ của Infra là đảm bảo các kỹ sư sản phẩm Roblox có thể xây dựng một nền tảng mang đến cho người dùng trải nghiệm tốt nhất và ổn định nhất. Và điều đó có nghĩa là đội ngũ Infra phải đối mặt với các hệ thống phức tạp và giải quyết những vấn đề mới mẻ mỗi ngày.
Tại sao? Bởi vì chúng tôi không kết nối hàng chục triệu người dùng hoạt động hàng ngày (DAU) với một địa điểm xử lý giao dịch tập trung, một vấn đề đã được hiểu rộng rãi. Thay vào đó, chúng tôi kết nối họ với nhau theo thời gian thực, trên toàn cầu. Tổng cộng, hàng nghìn dịch vụ của Infra chạy trên hơn 135.000 máy chủ tại hai trung tâm dữ liệu chính, nhiều trung tâm dữ liệu biên trên toàn thế giới và một số nhà cung cấp đám mây công cộng
Tính sẵn sàng — Độ tin cậy của hệ thống của chúng tôi

Một yếu tố quan trọng quyết định sự thành công của doanh nghiệp chúng tôi là thời gian người dùng dành cho Roblox, và chúng tôi biết rằng có mối liên hệ trực tiếp giữa cơ sở hạ tầng đáng tin cậy và thời gian người dùng ở lại lâu hơn.
Chúng tôi muốn đạt được 99,99% thời gian hoạt động của người dùng mỗi tháng, có nghĩa là hệ thống của chúng tôi không được làm gián đoạn quá 0,01% thời gian tương tác. Các kỹ sư sản phẩm của chúng tôi mong muốn cơ sở hạ tầng đám mây nội bộ hoạt động ít nhất cũng tốt như bất kỳ đám mây công cộng nào. “Cơ sở hạ tầng của chúng tôi phải vận hành trơn tru nhất có thể,” Giám đốc Kỹ thuật Danny Yuan nói, “để các kỹ sư khác có thể phát triển những sản phẩm làm hài lòng người dùng.”
Hạ tầng của chúng ta cần hoạt động trơn tru nhất có thể để các kỹ sư khác có thể phát triển các sản phẩm mang lại trải nghiệm tuyệt vời cho người dùng.
Một trong những cách chúng tôi đang thực hiện là đưa khả năng quan sát và kết nối mạng đến gần hơn với các ứng dụng hỗ trợ trải nghiệm Roblox. Chúng tôi đang triển khai các sidecar proxy Envoy bên cạnh mỗi phiên bản dịch vụ và thử nghiệm eBPF để quan sát trạng thái cơ bản của các kết nối giữa proxy và các dịch vụ bên ngoài. Điều này giúp chúng tôi hiểu và, quan trọng hơn cả, giảm thiểu tình trạng mất gói tin, Giám đốc Kỹ thuật Rob Cameron giải thích.
Sự cố ngừng hoạt động vào Halloween
Nhiều nỗ lực về độ tin cậy của bộ phận Cơ sở hạ tầng xuất phát từ những gì chúng tôi đã học được trong sự cố ngừng hoạt động kéo dài 73 giờ liên tiếp vào năm 2021. Khoảnh khắc đó cách đây vài năm đã trở thành một bước ngoặt trong cách tiếp cận của chúng tôi đối với việc xây dựng cơ sở hạ tầng linh hoạt và nhu cầu lập kế hoạch cho cả ngắn hạn và dài hạn. “Đó là một khoảnh khắc ‘ngừng mọi hoạt động’,” Ross nói, “điều duy nhất chúng tôi nên nghĩ đến là làm thế nào để đảm bảo với mọi người tại Roblox rằng điều đó sẽ không bao giờ xảy ra nữa.”

Chi phí phục vụ (Hiệu quả)
Ngày nay, các công ty công nghệ hiếm khi tự xây dựng hạ tầng đám mây riêng vì các nhà cung cấp đám mây công cộng đã cung cấp các công cụ thiết yếu như mạng lưới, quản lý tài nguyên, v.v.
Tuy nhiên, với quy mô và tính chất phi tập trung của chúng tôi, việc duy trì một đám mây riêng sẽ hiệu quả hơn về mặt chi phí. Chúng tôi luôn xác định và vượt qua những thách thức phát sinh từ việc tự duy trì các hệ thống phức tạp như thế này.
Để đảm bảo đạt được mức tiết kiệm chi phí mong muốn, chúng tôi phải cân nhắc kỹ lưỡng về thiết kế hệ thống. Đám mây riêng toàn cầu của chúng tôi đòi hỏi sự chú ý đặc biệt đến hiệu quả để chúng tôi có thể đầu tư nhiều hơn vào việc hỗ trợ cộng đồng người sáng tạo và người dùng.
Chúng tôi đang nỗ lực để giúp các kỹ sư sản phẩm dễ dàng xây dựng các tính năng có thể hoạt động hiệu quả trên quy mô lớn. Đồng thời, chúng tôi đang phát triển các công cụ sản xuất tối ưu hóa cho phép một đội ngũ nhỏ vận hành hạ tầng quy mô lớn. “Những người ngoài bộ phận Hạ tầng có thể không luôn nhận ra,” Giám đốc Kỹ thuật Michael Wolf cho biết, “rằng chúng tôi đang tái thiết kế gần như mọi phần của hạ tầng một cách triệt để.”
Điều đó có nghĩa là chuyển đổi từ cấu hình máy chủ vật lý sang kiến trúc dựa trên Linux, sử dụng container, với một nền tảng điều khiển chung cho cả trung tâm dữ liệu lõi và biên. Nhờ đó, các kỹ sư Roblox sẽ có thể tận dụng một kho công cụ phần mềm nguồn mở khổng lồ. Và việc chạy đồng thời nhiều tác vụ trên cùng một máy sẽ trở nên dễ dàng hơn.
“Chúng tôi không ngại đối mặt với những thách thức lớn,” Giám đốc Kỹ thuật Andy Wilcox chia sẻ, đề cập đến quá trình chuyển đổi gần đây của bộ phận Cơ sở hạ tầng sang các hệ thống mới về telemetry, tính toán và triển khai. “Đây là những vấn đề nền tảng mà chúng tôi đã có thể giải quyết với tư cách là một tổ chức kỹ thuật có tinh thần sẵn sàng đón nhận chúng.”
Điều này sẽ không xảy ra chỉ trong một sớm một chiều. Sẽ mất nhiều năm vì chúng tôi không thể chỉ cần khởi động lại Roblox — các máy của chúng tôi phải luôn hoạt động. Điều đó đòi hỏi một quy trình thủ công để viết lại phần mềm và thích ứng với các công cụ mới. “Nó giống như thay lốp xe,” Wolf nói, “trong khi bạn đang lái xe trên đường cao tốc.”
Năng suất
Mỗi ngày, đội ngũ kỹ sư của chúng tôi đều giải quyết hiệu quả các vấn đề lớn trên quy mô lớn và khai thác tối đa hệ thống của chúng tôi.
Để làm được điều đó, chúng tôi thường xuyên thu thập dữ liệu định lượng và định tính về năng suất của các kỹ sư. Điều này giúp xác định các điểm nghẽn có thể được cải thiện bằng các giải pháp của bên thứ ba hoặc các công cụ riêng của chúng tôi.
Một ví dụ là bảng điều khiển mà chúng tôi đã phát hành vào tháng 3 để giải quyết những khó khăn của các kỹ sư trong quy trình kiểm tra mã nguồn. Công cụ này giúp các kỹ sư theo dõi các yêu cầu kéo (PR) cần được kiểm tra dựa trên nhiều tiêu chí mà chúng tôi định nghĩa. Nó cũng thống nhất các tác vụ kiểm tra mã nguồn và cho phép lên lịch thông báo. Kể từ khi bảng điều khiển này được áp dụng rộng rãi, thời gian từ PR đến khi hợp nhất (P75) đã giảm 30%.
Và tất nhiên, tính năng quan trọng nhất để nâng cao năng suất kỹ thuật là một hạ tầng ổn định và có khả năng mở rộng để phát triển, vì vậy chúng tôi luôn đầu tư dài hạn vào các hệ thống cấp thấp của mình.
Điều này phản ánh hai giá trị cốt lõi của Roblox: Nhìn xa trông rộng và Hoàn thành công việc. Là một nhóm hạ tầng lấy khách hàng làm trung tâm, chúng tôi thực tế trong việc giúp khách hàng thành công và hiệu quả hơn. Nếu họ cần thứ gì đó mà chúng tôi không cung cấp dưới dạng dịch vụ được quản lý, chúng tôi có thể xem xét tích hợp các giải pháp của nhà cung cấp cùng với các công cụ nội bộ trong đám mây riêng của chúng tôi.

Tuy nhiên, mặc dù các giải pháp ngắn hạn nhằm “duy trì hoạt động” thường rất hấp dẫn, chúng phải được cân bằng với các giải pháp kỹ thuật hướng tới tương lai.
Phần thưởng là việc tối đa hóa năng suất mang lại lợi ích cho công ty đồng thời giúp chúng ta hoàn thành các dự án để đạt được mục tiêu kinh doanh.
Một văn hóa khuyến khích sự khám phá
Khi chúng tôi hướng tới mục tiêu kết nối một tỷ người với sự văn minh và an toàn, sẽ luôn có những thách thức kỹ thuật lớn cần giải quyết. Chúng tôi đã giải quyết được nhiều vấn đề và học hỏi được rất nhiều. Nhưng chúng tôi đang hướng tới một cơ sở hạ tầng có khả năng mở rộng hơn nữa, đồng thời nỗ lực giảm bớt sự phức tạp của hệ thống.
Những mục tiêu đối lập này sẽ mang lại vô số bài học mới trong nhiều năm tới, đặc biệt khi chúng ta đối mặt với khối lượng công việc AI ngày càng tăng. Và chúng ta chắc chắn rằng việc đạt được mục tiêu đòi hỏi hệ thống của Infra phải phát triển đáng kể theo thời gian.
Đối với các kỹ sư của Infra, mỗi dự án đều là một cơ hội tiềm năng để chuyển đổi công ty, và công việc của mỗi người đều rất quan trọng. Wolf cho biết: “Infra là một tổ chức nơi mọi người có thể thực hiện những công việc tuyệt vời, thực sự có ý nghĩa đối với Roblox và người dùng của chúng tôi, và nơi không có gì là không thể.”
Tư duy tập trung vào khách hàng
Cuối cùng, công việc của chúng tôi là giúp các kỹ sư Roblox khác làm việc hiệu quả hơn, cả hiện tại lẫn tương lai, với nhiệm vụ nhanh chóng rút ra bài học và đưa ra các giải pháp dựa trên những bài học đó.
Chúng tôi đang đối mặt với thách thức này một cách trực diện. “Tôi muốn đảm bảo rằng chúng tôi đang mang lại giá trị cho Roblox ngay hôm nay, trong quý này và trong năm nay,” Ross nói. “Tôi cũng muốn đảm bảo rằng chúng tôi đang xây dựng một nền tảng vững chắc để chúng tôi có thể phát triển tốt trong 5 đến 10 năm tới.”
* Tính đến ngày 31 tháng 3 năm 2024


