Đằng sau câu chuyện thành công vượt ngoài mong đợi của Pokemon Go
Thời điểm Pokemon Go xuất hiện đã tạo ra một hiệu ứng trên toàn thế giới. Có lẽ không có ai sử dụng mạng xã hội hoặc theo dõi tin tức vào thời điểm đó lại không biết đến "cơn sốt" Pokemon Go.
Ở góc độ của các nhà phát triển thì câu hỏi đặt ra là: Làm thế nào mà 'Pokemon Go' có thể mở rộng quy mô hiệu quả đến như vậy để tăng trưởng thần tốc? Câu trả lời là Kubernetes.
Hơn 500 triệu lượt tải xuống và hơn 20 triệu người dùng truy cập và sử dụng hàng ngày. Quả là những con số khổng lồ.
Các kỹ sư Pokemon Go có lẽ khi phát triển ra trò chơi này đã không hề nghĩ đến việc lượng người dùng sẽ tăng lên theo cấp số nhân nhanh đến như vậy, vượt xa sự mong đợi ban đầu. Tuy nhiên, điều này dẫn đến một vấn đề: ngay cả hệ thống máy chủ hiện tại của họ cũng không thể xử lý lưu lượng truy cập quá lớn đến như vậy.
Dù đã thực hiện mở rộng quy mô theo chiều ngang, nhưng Pokemon Go vẫn phải đối mặt với một thách thức nghiêm trọng, là mở rộng quy mô theo chiều dọc để phục vụ hàng triệu người dùng trên toàn thế giới chơi trò chơi theo thời gian thực. Niantic đã không tính đến điều này.
Giải pháp được lựa chọn lúc này chính là tận dụng sức mạnh tuyệt vời của các container. Logic của trò chơi được nhóm triển khai trên GKE (GKE dựa trên mã nguồn mở Kubernetes). Nhờ các tính năng tự động quản lý, nhân bản cụm container, nhóm phát triển Pokemon chỉ cần tập trung vào nhiệm vụ cốt lõi quan trọng nhất là triển khai các thay đổi để phục vụ người chơi.
Nhờ vậy, Pokemon GO trở thành một ứng dụng được hàng triệu người chơi yêu thích rộng rãi, liên tục thích nghi và cải tiến để kịp đáp ứng những kỳ vọng thay đổi khác nhau của người chơi, nhằm đạt được sự hài lòng nhất có thể. Điều này giúp họ có nhiều thời gian hơn để tập trung vào việc xây dựng logic của trò chơi và các tính năng mới, hơn là lo lắng về phần mở rộng quy mô bên dưới.
Kubernetes trong câu chuyện của Pokemon Go chính là nhân tố X giúp Niantic xoay chuyển tình thế ngoạn mục khi vượt lên trở ngại trong phút chốc và nắm lấy cơ hội bứt phá ấn tượng.
Pokemon GO là ví dụ thành công rất nổi bật nhưng không phải là trường hợp hiếm hoi thiểu số. Trên thực tế, Kubernetes đã được ứng dụng rất nhiều trong các bài toán về sức mạnh và tốc độ phát triển của các thương hiệu lớn trên thế giới như: Booking.com, Babylon, Adidas, Huawei, IBM...
Lấy một ví dụ khá thiết thực từ Babylon chẳng hạn. Babylon mong muốn thực hiện sứ mệnh giúp mọi người trên thế giới có thể tiếp cận được các dịch vụ chăm sóc sức khỏe với giá cả phải chăng, đã ứng dụng học máy (machine learning) và AI trong các dịch vụ của mình. Tuy nhiên, nguồn lực tính toán nội tại là không đủ để đáp ứng cho việc thử nghiệm phức tạp. Những yêu cầu về phát triển quy mô (từ 100 lên 1600 nhân sự trong 3 năm) và lên kế hoạch mở rộng sang các quốc gia khác cũng đặt ra những thách thức với khả năng của hãng.
Cũng giống như Pokemon Go, việc chuyển các ứng dụng sang nền tảng Kubernetes đã giúp họ đạt được các mục tiêu ở trên. Giờ đây, thay vì đợi hàng giờ hoặc hàng ngày, các nhóm (team) có thể truy cập xử lý công việc ngay lập tức. Nếu trước đây khám lâm sàng phải mất đến 10 giờ mới trả kết quả, thì bây giờ chỉ cần chưa đầy 20 phút để hoàn thành.
Kubernetes là một nền tảng tuyệt vời cho học máy vì công cụ cung cấp các tính năng lập lịch và mở rộng mà người dùng cần.
Đôi điều về Kubernetes
Kubernetes hoặc k8s là một nền tảng mã nguồn mở giúp tự động hóa việc quản lý, mở rộng và triển khai ứng dụng dưới dạng container. K8s còn được gọi là container Orchestration Engine (hiểu nôm na là công cụ điều phối container). Kubernetes loại bỏ rất nhiều các quy trình thủ công liên quan đến việc triển khai và mở rộng các ứng dụng được ảo hoá.
Kubernetes cho phép người dùng xây dựng các dịch vụ ứng dụng mở rộng nhiều container, lên lịch các container đó trên một cụm máy chủ (cluster), mở rộng các container và quản lý tình trạng của các container theo thời gian.
Tuy nhiên, để tận dụng tối đa mọi khả năng của công nghệ tuyệt vời này đòi hỏi người dùng cần có những hiểu biết và kiến thức nhất định. Việc sử dụng Kubernetes sẽ đơn giản và tiện lợi hơn rất nhiều với một công cụ như Bizfly Kubernetes Engine.
Bizfly Kubernetes Engine là giải pháp triển khai Kubernetes hoàn toàn tự động, xây dựng hạ tầng container cho ứng dụng chỉ với vài click chuột, và đặc biệt hơn là không cần công sức vận hành.
Bizfly Cloud là nhà cung cấp dịch vụ Kubernetes có máy chủ đặt tại Việt Nam, giúp người dùng tại Việt Nam truy cập ứng dụng nhanh hơn, ít bị ảnh hưởng mỗi khi có sự cố mạng quốc tế.
Đơn vị tiên phong và cung cấp dịch vụ Kubernetes Engine ưu việt tại Việt Nam hiện nay là Bizfly Cloud, có nhiều ưu thế giúp hỗ trợ khách hàng tốt nhất về: hệ ngôn ngữ tiếng Việt, hỗ trợ kỹ thuật 24/7…
Kubernetes đã hỗ trợ nhiều khách hàng phát triển, triển khai và ra mắt ứng dụng thành công: chứng khoán SSI, trang tin công nghệ Tinh tế, kênh nhạc điện tử Diijam, Đất Xanh service, ứng dụng bất động sản Coviland... Chi phí tính theo tài nguyên sử dụng theo thời gian thực. Tính tiền theo tháng hoặc theo giờ. Có chính sách hoàn tiền khi xóa tài nguyên.
Và còn nhiều ưu điểm khác có thể khám phá tại: https://bizflycloud.vn/kubernetes-engine, giúp người dùng tại Việt Nam truy cập ứng dụng nhanh hơn, ít bị ảnh hưởng mỗi khi có sự cố mạng quốc tế./.