iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
0
自我挑戰組

這些年,我玩Pokémon Go學到的兩三事系列 第 27

[Day 27] Kubernetes Story at Pokémon Go

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20200913/20109107RztxvmkSk6.png

本日主要是分享Pavan Belagatti2019/8/5發表在網路上的文章:
Pokemon Go - A Successful Kubernetes Story
進行翻譯。/images/emoticon/emoticon33.gif

https://ithelp.ithome.com.tw/upload/images/20200913/20109107LZaASFLiIl.png
Pokémon Go如何有效率地擴充服務因應上圖中顯示的資料存取量?是的。答案是Kubernetes

500+ 佰萬下載次數以及 20+ 佰萬玩家於日常生活中進行遊玩互動,造成資料流量是如此的巨大。

Pokémon Go的開發者從沒想過推出這款遊戲時,玩家人數會在那麼短的時間內呈現指數爆炸的快速增加,即便再多的伺服器也無法在短時間內處理這樣巨大的資料傳輸。

  • 面臨的挑戰 : 除了水平擴充增加服務的數量外,Pokémon Go還須面對全世界百萬以上玩家即時遊玩的資訊量。當他們進行垂直擴充時,資料的存取及運算是否還能正確也是一大挑戰。Niantic在當時還沒準備好因應這些問題。
    垂直/水平擴充有興趣的可自行閱讀此篇/images/emoticon/emoticon28.gif

  • 解決方案 : 魔法般地把服務容器化。藉由開源的Kubernetes計畫,促使該遊戲得以在Google Container Engine(GKE)上實現。

Niantic選擇採用GKE來部署他們的容器叢集,理由是GKE本身易於擴充服務的能力,讓他們能夠自由地面對現實中玩家數量增長挑戰。依照這種做法,Niantic使用Google Cloud作為Pokémon GO的遊戲平台,用來服務數以百萬以上的玩家,持續地增長並改進。這讓他們有更多的時間專注於遊戲的邏輯及功能上的開發,而非擔心如何去擴充他們的服務。

「如同病毒散布般地快速」,玩家的增長不易預期,但是你總是可以選擇Kubernetes這個技術來解決這個問題。

Kubernetes是理想的CI/CD解決方案嗎?

https://ithelp.ithome.com.tw/upload/images/20200913/20109107Lj5JsxU7ZT.png

CI/CD & Kubernetes: 當今DevOps的代名詞

開發者能夠時常推送更新版本,已滿足企業能夠快速回覆客戶需求並取得客戶更高的信任感。為了實現這個情境,使用CI/CD是一個實現這個情境的方式。

Kubernetes將如何協助?

在Kubernetes上設定一個CI/CD的傳輸管道(ex: Jenkins)將加速你/妳的服務生命週期 - 你/妳將能夠在一天中釋出多次更新版本並在你/妳的容器服務中快速迭代啟動。

有興趣的可進一步閱讀Rob Scott的文章:CI/CD with Kubernetes
或者,試試這個簡單案例: 5-step Kubernetes CI/CD process
https://ithelp.ithome.com.tw/upload/images/20200913/2010910730Je8l34Ob.png

Kubernetes叢集在自動部署大量容器服務上的表現,在軟體工程上掀起一波巨浪引發關注。現今的程式設計師也能夠透過JFrog Artifactory整合Kubernetes與Docker Registry,並使用容器化的服務實現自動化生產流程。

你/妳對於Kubernetes有什麼樣的看法?你/妳正在使用或者計劃在未來使用它嗎?

我有省略原文中的提示(tip)部分。
這部分要完整解釋,又是另一個30天的鐵人賽了。/images/emoticon/emoticon46.gif
原作者最後給出的問題,未來有打算使用Kubernetes嗎?/images/emoticon/emoticon19.gif
我的答案是:如果你/妳計畫採用分散式架構,Kubernetes會是一個非常好用的工具。
非分散式架構,其實Docker就夠用了。VM也行。
例如一般公司內部在用的出勤系統,用Kubernetes就有點殺雞用牛刀了。


上一篇
[Day 26] Pokémon Go商店--$該花在刀口上
下一篇
[Day 28] K8s不能避免的二三事--認識Stateless Application
系列文
這些年,我玩Pokémon Go學到的兩三事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言