Ewww, Bạn có dùng PHP?

Cách đây không lâu ở MailChimp, chúng tôi đã và đang cố gắng đưa nhiều developers về giúp chúng tôi đẩy nhanh những đổi mới/cải cách trong khi các ứng dụng ngày càng phát triển về phạm vi và quy mô. Việc tuyển được những developers thực sự giỏi luôn khó cho chúng tôi, chỉ bởi vì vị trí của văn phòng. Văn phòng chúng tôi ở đây tại Atlanta GA, không chính xác là 1 lò các startups dễ chịu trong vài năm gần đây. Trên hết, về cơ bản chúng tôi là 1 công ty về email, mà đó chả phải vấn đề. Cái phản ứng tiêu cực nhất mà chúng tôi nhận được khi thuê những developers mới đó là khi đề cập đến ngôn ngữ lập trình mà chúng tôi sử dụng.

Bạn biết họ thốt câu gì hơm?

Í ẹ, bạn dùng PHP á? Thế mà tôi cứ nghĩ là bạn cool ngầu lắm cơ! :expressionless:

Chính xác là vậy đó, tôi sợ là chúng tôi phải tiết lộ thứ mà chúng tôi đang che giấu. Chúng tôi sử dụng PHP ở đây, tại MailChimp này. Với những người không phải lập trình viên, PHP là 1 ngôn ngữ lập trình cực kỳ phổ biến trong việc xây dựng các ứng dụng web và web sites động. Thậm chí là blog này được viết bằng PHP. Mặc cho tính thông dụng của nó, PHP được xem như là 1 dạng lập trình, hầu như là không có ngoại lệ, một trong những ngôn ngữ tệ nhất đang được sử dụng hiện thời. Thuật ngữ “lập trình viên PHP giỏi” được xem như là một oxymoron.

[Mình xin phép cắt ngang một chút để giải thích sơ về cụm từ này oxymoron.

Trong từ điển Cambridge, nó được chú giải như sau:

two words used together which have, or seem to have, opposite meaning

Trong tình huống ở đây, mình nghĩ ý tác giả bài viết ám chỉ 2 thứ đối lập của PHP, nó tệ nhất mà lại thông dụng nhất trong việc xây dựng web sites và web apps lúc bấy giờ.]

…Nó là ngôn ngữ chính chúng tôi sử dụng để phát triển ở đây và cũng là ngôn ngữ duy nhất mà chúng tôi sử dụng cho tất cả mọi thứ có đụng đến ứng dụng MailChimp ở production. Bạn có thể hình dung ra cảnh khủng khiếp và đầy kinh ngạc mà chúng tôi thấy khi chúng tôi cố gắng nói với một developer giỏi là chúng tôi đang sử dụng PHP để giải quyết những vấn đề cool ngầu và cực thú vị.

Vậy, đây chính là câu trả lời hay nhất của tôi về điều này.

Chúng tôi xây dựng một framework cho việc phát triển các ứng dụng PHP đặc biệt được thiết kế cho phép đổi mới nhanh trong môi trường chịu tải cao hiệu năng cũng cao nốt, chúng ta sống mỗi ngày trong khi vẫn giữ API cực kỳ đơn giản để giải quyết.
Đây chả phải PHP ông cố nội bạn, cũng chả phải anh trai bạn. Tôi có thể nói điều này mà không chút nghi ngờ rằng nó là framework phức tạp nhất với môi trường này mà tôi đã nghe, ngoại trừ những gì mà Facebook sử dụng. Kiến trúc của chúng tôi cực kỳ cứng cáp, nhanh nhạy và có thể mở rộng để xử lý mức tăng trưởng vô lý mà chúng tôi đã có trong vài năm gần đây.

Chúng tôi sử dụng kiến trúc này để xử lý trên ba mươi triệu emails được gửi bởi 10 ngàn users mỗi ngày, phát sinh hàng chục triệu lượt trả về, mở ra, click và hủy đăng ký… mà tất cả những thứ này cần được xử lý gần với thời gian thực nhất.

Chúng tôi tiếp tục xử lý hàng triệu API requests, hàng triệu lượt đăng ký và xác nhận mỗi ngày. Như đã nói, chúng tôi xử lý hơn 500 triệu lượt view page động 1 tháng. Các hệ thống backend của chúng tôi chạy hàng triệu tác vụ mỗi ngày, tính toán thống kê, truy vấn dữ liệu địa lý và scan mọi thứ để tránh các hành vi xấu và lạm dụng.

Chúng tôi xử lý tất cả các loại users, từ các nhóm nhỏ với các danh sách trong trong hàng chục email cho đến các danh sách hàng triệu người đăng ký cực bự, gửi đến bất kỳ nơi đâu từ hàng năm cho đến nhiều lần 1 ngày. Trên hết, chúng tôi phải xử lý các phân tích và phân đoạn 1 cách chi tiết, cho phép khách hàng của chúng tôi cắt lát hàng trăm triệu người này theo 1 những cách chả đoán trước được. Điều này sẽ càng ngày càng lớn hơn khi chúng tôi tăng trưởng 500% hoặc nhiều hơn mỗi năm – thêm vào các features mới từng bước một. Và đó thậm chí không đụng sâu vào cơ sở hạ tầng cho việc gửi các email thật sự hoặc lọc ra các thư lừa đảo, lạm dụng và spam.

Và chúng tôi tất cả những thứ này trong PHP, điều này thực sự khá là cool. Sự thật là nền tảng này thực sự không được thiết kế cho những gì mà chúng tôi cho là cần thiết để được chấp nhận và nó cứ thế làm chúng ta đau đớn, nhưng đó là điều được mong đợi. Một khi bạn đạt được quy mô tính toán mà chúng ta đang ở mức đó, thì ngôn ngữ mà bạn sử dụng trở nên ít quan trọng hơn nhiều so với nền tảng mà bạn xây dựng trên đó. Sự thay đổi một ngôn ngữ đơn giản sẽ không khiến cho những vấn đề này ít phức tạp hơn hoặc ít kinh khủng khiếp hơn. 🙂

Vậy trước khi bạn nhảy vào một trào lưu nào đó mà nghĩ rằng chả có gì thú vị có thể được làm với PHP, thì hãy nghĩ đến chúng tôi (hoặc Facebook). Bạn có lẽ đã bỏ lỡ điều gì đó tuyệt vời rồi đó. :scream:

Update (12/9/2014): Chúng tôi đã trưởng thành hơn nhiều kể từ bài viết này được post 4 năm trước. Hiện tại 7 triệu users của chúng tôi gửi 400 triệu email mỗi ngày, chỉ trong khoảng 12 tỷ email mỗi tháng. Và dĩ nhiên, chúng tôi vẫn sử dụng PHP :satisfied:

Bài viết được dịch từ MailChimp blog được viết vào ngày 21/10/2010. Và tôi tin hiện tại con số thống kê của MailChimp ắt hẳn vượt trội hơn rất nhiều so với cập nhật của chính tác giả bài viết vào ngày 12/9/2014.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *