[Case study] Kubernetes - người hùng thầm lặng trong câu chuyện Pokemon Go viral
Đằ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 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 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/machine learning 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 containerized applications.
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 containers, lên lịch các containers đó trên một cụm máy chủ (cluster), mở rộng các containers và quản lý tình trạng của các containers 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 1 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: 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ố network 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, 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…
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.
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...
Và rất nhiều ưu điểm khác đang chờ đợi để được khám phá tại: https://bizflycloud.vn/kubernetes-engine
Thiết kế website game online nổi bật tại Bizfly Website
(Techz.vn) Sự chuyển mình của thời đại công nghệ số đã khiến cho mức độ cạnh tranh của ngành công nghiệp game online ngày càng trở nên mạnh mẽ. Điều này đòi hỏi các doanh nghiệp hoạt động trong lĩnh vực này luôn phải bắt kịp xu hướng và thay đổi sao cho phù hợp với nhu cầu của người dùng.