Tại sao WhatsApp chỉ cần 50 kỹ sư phục vụ hơn 900 triệu người dùng

Bài viết này sẽ cho bạn biết về cách thức WhatsApp vận hành và bí mật kĩ thuật của họ là gì?

Vài tháng trước đây, CEO ứng dụng WhatsApp Jan Koum đã thông báo trên trang cá nhân của mình về số lượng người dùng ứng dụng này đã lên đến hơn 900 triệu. Mark Zuckerberg bày tỏ sự chúc mừng của mình bằng hai post trên facebook cá nhân của mình.

WhatsApp — đã thuộc quyền sở hữu của Facebook sau thương vụ 19 tỷ đô la hơn một năm về trước. Điều đó đồng nghĩa với việc Facebook hiện đang sở hữu ba ứng dụng phổ biến nhất internet bao gồm:

  • Facebook — mạng xã hội lớn với hơn 1,5 tỷ người sử dụng.
  • Facebook Messenger — ứng dụng nhắn tin tách riêng ra khỏi mạng xã hội.

Và ứng dụng Whatsapp — với 900 triệu người dùng nhưng không phải là sản phẩm của bộ máy khổng lồ Facebook.

Một trong những điều thú vị ở câu chuyện WhatsApp là nó đã đạt được quy mô lớn chỉ với một team nhỏ. Ứng dụng chỉ đạt khoảng 450 triệu người dùng với 35 kỹ sư trước khi được Facebook mua lại. Hiện nay, với số lượng người dùng gấp đôi, team nhỏ với hơn 50 người này vẫn tiếp tục chơi theo cách của riêng họ. Trong một thế giới có quá nhiều dịch vu Internet đang đua nhau mở rộng người dùng lên đến hàng triệu thì WhatsApp vẫn cho thấy họ vẫn đi trước- ít nhất là một phần.

WhatsApp thường không quá nói nhiều về kỹ thuật hoặc bất kỳ chuyện gì liên quan đến việc vận hành vì họ cho rằng việc đó không cần thiết. Thế nhưng, trong sự kiện diễn ra tại San Jose, California thì Jamshid Mahdavi — kỹ sư phần mềm của WhatsApp đã lên sân khấu thảo luận về phương pháp sử dụng không phổ biến của họ. Một trong những bí mật đó là họ sử dụng ngôn ngữ lập trình Erlang. Mặc dù đây không phải là loại ngôn ngữ phổ biến hiện nay nhưng lại thích hợp với việc kết nối giao tiếp với số đông người dùng. Đặc biệt, ngôn ngữ lập trình này còn giúp cho các kỹ sư deloy một cách nhanh chóng. Nhưng Mahdavi còn chia sẻ thêm: thủ thuật không quan trọng bằng thái độ với công nghệ.

Mahdavi gia nhập WhatsApp từ hai năm về trước ngay khi họ mới khởi nghiệp những lại có cách tiếp cận không giống với bất kì công ty nào — một phần vì họ dùng công nghệ Erlang và hệ điều hành chủ tên FreeBSD ( hệ điều hành cũng không mấy phổ biến). Bởi vì triết lý của công ty là: giữ cho việc vận hành luôn ở mức tối giản.

“Nó giống như việc đi con đường hoàn toàn khác với những công ty đang xây dựng cơ sở hạ tầng hoành tráng. Họ đã khai sáng cho tôi với phương pháp đơn giản hóa cách giải quyết các bài toán”, Mahdavi cho biết.

Ngôn ngữ song song

Khi sử dụng Erlang, Whatsapp góp phần thúc đẩy ngôn ngữ lập trình song song, vốn được thiết kế để xử lý đồng thời nhiều tác vụ. Càng có nhiều người sử dụng dịch vụ internet, những ngôn ngữ lập trình có thể xử lý được nhiều tác vụ như vậy càng trở nên hữu dụng và hấp dẫn hơn.

Với hệ thống nhận diện các thông điệp độc hai và các tin nhắn không mong muốn, tin nhắn rác, link kèm virus, facebook cũng đã sử dụng một loại ngôn ngữ lập trình song song — Haskell. Haskell là một loại ngôn ngữ dành cho nghiên cứu từ cuối thập niên 80, cho đến nay nó vẫn chưa được phổ biến. Trong khi đó, Goolge và Mozilla — tổ thức tạo ra Firefox cũng đang hái quả ngọt với ngôn ngữ lập trình mới là Go và Rust.

Giống như Haskell, Erlang- ngôn ngữ dành cho mạng điện thoại tốc độ cao. Đây là sản phẩm cuối thập niên 80 do các kỹ sư Ericsson — tập đoàn đa quốc gia đến từ Thụy Điển chuyên cung cấp giải pháp phần cứng và phần mềm cho các công ty viễn thông. Francesco Cesarini, nhà nghiên cứu Erlang tại Anh đã nhận xét:“Thay vì tạo ra một ngôn ngữ rồi tìm cách sử dụng thì họ làm ngược lại, họ tạo ra một ngôn ngữ mới để giải quyết một vấn đề cụ thể. Vấn đề đó là mở rộng mạng lưới và tăng độ tin cậy. Mạng điện thoại thời điểm đó chỉ phải giải quyết những thuộc tính như vậy”

Erlang vẫn nằm ngoài rìa thế giới ngôn ngữ lập trình hiện đại nhưng WhatsApp gần giống như những công ty khác — WechatWhisper. Họ đã tìm đúng ngôn ngữ phù hợp với các ứng dụng mới hoạt động không giống mạng điện thoại phổ thông. Bản chất, WhatsApp là sự thay thế cho dịch vụ nhắn tin truyền thống của các nhà mạng. Nó đòi hỏi “độ tin cậy và mức phủ sóng” rất nhiều.

Hơn nữa, Erlang cho phép kỹ sư làm với việc tốc độ cao, một phần quan trọng của việc phát triển phần mềm thời hiện đại. Nó cung cấp khả năng tạo dòng mã mới cho ứng dụng ngay cả khi ứng dụng đang hoạt động bình thường. Trong thời đại thay đổi liên tục như hiện nay, khả năng này hữu dụng hơn bao giờ hết.

Giữ sự đơn giản, thông minh.

Như bao ngôn ngữ lập trình khác, Erlang cũng có nhược điểm. Do không thực sự tương thích với code của nhiều công ty internet hiện nay. Facebook đã thử sử dụng Erlang cho ứng dụng nhắn tin của họ nhưng cuối cùng vẫn thay đổi để phù hợp với hệ thống hạ tầng sẵn có. Phó giám đốc kĩ thuật của Facebook Jay Parikh đã từng nhận xét: “Erlang giống như một hòn đảo nhỏ, rất khó để tạo đủ thuyền kết nối để mọi thứ vận hành suôn sẻ”.

Tất nhiên, WhatsApp đã không tích hợp với với những hệ thống cơ sở hạ tầng có sẵn như vậy. Mahdavi tin tưởng rằng rằng số ít lập trình viên chuyên Erlang không là vấn đề. Ông phát biểu trên Monday “Chiến lược tuyển dụng của chúng tôi là tìm ra những kỹ sư giỏi và sáng tạo nhất. Chúng tôi không tìm họ vì họ biết Erlang. Trong một tuần lễ đầu tiên khi làm việc, họ sẽ phép lựa chọn một ngôn ngữ gần giống với ngôn ngữ mà họ biết và sử dụng chúng. Những người thông mình sẽ có khả năng làm điều đó”.

Công ty thành công bởi việc tuyển dụng những người kỹ sư có khả năng thích nghi với nhiều cách khác nhau. Đáp lại câu hỏi bí mật thành công của công ty là gì. Câu trả lời nghe khá đơn giản nhưng lại khó nắm bắt của Mahadvi:

Bài học đầu tiên là hãy tập trung những gì bạn cần làm, đừng để phân tâm bởi những hoạt động khác, kỹ thuật khác, thậm chí cả những hoạt động khác trong công ty như họp hành.”

Cũng vì thế mà điểm đặc biệt tại WhatsApp là hầu như nhân viên không bao giờ họp. Công ty chỉ có vài chục người thôi nên không cần thiết, nhỉ?

Dịch và biên tập bởi Liti Solutions từ bài viết Why WhatsApp Only Needs 50 Engineers for Its 900M Users.

Link gốc: http://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/