Twitter 宣布抛弃 Mesos,全面转向Kubernetes
美國西部時間 5 月 2 日下午 7 點,Twitter 公司在舊金山總部舉行了一次技術(shù)發(fā)布會兼 Meetup。會上,Twitter 計算平臺(Twitter Computing Platform)產(chǎn)品與技術(shù)負責人 David McLaughlin 正式宣布,Twitter 的基礎(chǔ)而設(shè)施將從 Mesos 全面轉(zhuǎn)向 Kubernetes。
Mesos項目發(fā)布于是2009年,而Twitter公司則是 Mesos 項目的早期支持者和使用者之一。作為世界上最成功的社交媒體巨頭之一,Twitter 公司以其龐大的生產(chǎn)集群規(guī)模(萬級別節(jié)點)而備受關(guān)注。在 2011 年,Twitter 公司開始在Mesos 項目的基礎(chǔ)上開發(fā)了 Aurora 項?以便同時管理其內(nèi)部的在線和離線業(yè)務(wù),逐步成為 Mesos 社區(qū)的代言人。
可是,在持續(xù)投入 Mesos 項目近 10 年之后,為什么現(xiàn)在的 Twitter 公司又會突然宣布全面轉(zhuǎn)向 Kubernetes 體系呢?在這個令人矚目的決定背后, 又是什么樣的架構(gòu)和設(shè)計能夠支撐 Twitter 的基礎(chǔ)設(shè)施來一次 360 度的“華麗轉(zhuǎn)身”呢?
云時代,Twitter基礎(chǔ)設(shè)施面臨的新挑戰(zhàn)
Twitter 公司創(chuàng)始于 2006 年。時至今日,全世界每天都有至少 5 億條推文產(chǎn)生。在過去十余年飛速成長和海量數(shù)據(jù)的挑戰(zhàn)下,Twitter 的基礎(chǔ)設(shè)施架構(gòu)的演進過程,一直以來都是全世界技術(shù)公司眼中標桿案例。這其中,像 Mesos 這樣優(yōu)秀的老牌調(diào)度框架、 以及像 Aurora 這樣啟發(fā)自 Google Borg 配置管理的編排引擎,可謂功不可沒。
事實上,在互聯(lián)網(wǎng)級別的技術(shù)場景下,依托頂級工程師和成熟技術(shù)自建基礎(chǔ)設(shè)施,一直以來都是一線非云互聯(lián)網(wǎng)廠商的架構(gòu)首選。也正是在這個過程中,相對成熟并且工作層次較低的 Mesos 項目,收獲到了大量的規(guī)模級生產(chǎn)環(huán)境部署案例。
不過,隨著云計算的普及和 Kubernetes 這樣以“云”為核心的容器化基礎(chǔ)設(shè)施項目的迅速崛起,這種傳統(tǒng)的互聯(lián)網(wǎng)基礎(chǔ)技術(shù)架構(gòu)選型方法,正在逐步暴露出很多前所未有的問題。在本次發(fā)布會上, David 就以 Twitter 公司當前面臨的挑戰(zhàn)為例,對這些問題作出了簡明扼要的總結(jié):
作為不斷在快速發(fā)展和迭代的互聯(lián)網(wǎng)公司,高壓力和快節(jié)奏背景下的企業(yè)往往無暇顧及基礎(chǔ)設(shè)施架構(gòu)的標準化與兼容性問題。這同樣也是 Twitter 公司面臨的主要問題之一。所以,在這次轉(zhuǎn)型過程當中,“Kubernetes Native”則成為了一個被反復(fù)強調(diào)的關(guān)鍵詞。
大規(guī)模生產(chǎn)環(huán)境的" Kubernetes Native "技術(shù)路徑
作為不斷在快速發(fā)展和迭代的互聯(lián)網(wǎng)公司,高壓力和快節(jié)奏背景下的企業(yè)往往無暇顧及基礎(chǔ)設(shè)施架構(gòu)的標準化與兼容性問題。這同樣也是 Twitter 公司面臨的主要問題之一。所以,在這次轉(zhuǎn)型過程當中,“Kubernetes Native”則成為了一個被反復(fù)強調(diào)的關(guān)鍵詞。在發(fā)布會上,Twitter 公司公布了選擇 Kubernetes Native 方向的諸多評估依據(jù)。
最終,Twitter 公司用一句話總結(jié)了這次評估的結(jié)果:
“我們認為,使用 Kubernetes 項目作為 Twitter 公司基礎(chǔ)設(shè)施向前演進的核心依賴,將會是一個正確的選擇”。
而在這條演進路徑上,Twitter 也公布了多項具體的技術(shù)舉措,比如:
David 表示:“Twitter 公司基礎(chǔ)設(shè)施的巨大規(guī)模一直不是一個秘密,但至少在今天,規(guī)模不再是我們的首要擔心,我們能看到像阿里巴巴這樣的社區(qū)領(lǐng)導(dǎo)者正在將更大規(guī)模的 K8s 集群推向了生產(chǎn)環(huán)境”。
David McLaughlin 宣布整個遷移計劃將從現(xiàn)在開始一直持續(xù)到 2020 年。屆時,整個 Twitter 的技術(shù)棧都會運行在以 Kubernetes 為基礎(chǔ)的容器化基礎(chǔ)設(shè)施之上,并且呈現(xiàn)“內(nèi)部 K8s 集群 + 公有云 K8s 服務(wù)”的多集群組合形態(tài)。
David 最后再對 Twitter 的未來進行總結(jié)時強調(diào):在 2020 年,Twitter 自己的軟件棧會以“一部分運行在自有 K8s 集群,另一部分運行在 公共云上”的多集群形態(tài)進行開發(fā)和交付。顯然,在思考“如何通過云來讓自身的基礎(chǔ)設(shè)施能力價值最大化,然后讓公司專注于更具價值的核心業(yè)務(wù)”這件事情上,Twitter 已經(jīng)得到了一個相對清晰而富有遠見的答案。更重要的是,這個選擇,很可能會使公司與于得以擁抱 Kubernetes 的 Twitter 工程師們實現(xiàn)真正意義上的共贏。
世界級互聯(lián)網(wǎng)公司加持的規(guī)?;圃夹g(shù)
不難看到,Twitter 公司這次走向 Kubernetes Native背后的技術(shù)本質(zhì),其實是在最大程度的利用 Kubernetes 項目本身的核心概念與可擴展能力取得規(guī)?;ㄖ菩孕枨笈c社區(qū)標準之間的平衡。
這同樣也是阿里巴巴正在社區(qū)倡導(dǎo)的一條關(guān)鍵途徑。從 2018 年開始,阿里巴巴聯(lián)合了 Google, Facebook,Twitter,LinkedIn,Uber,Netflix,Pinterest 等一大批頂級互聯(lián)網(wǎng)公司,在美國硅谷開展起了月度 Web-Scale Meetup,以分享自身實際落地實踐的方式,為更多互聯(lián)網(wǎng)場景中的社區(qū)“觀望者”樹立信心。本次發(fā)布會上,Twitter 公司也邀請了來自阿里云容器平臺團隊的工程師李響、張磊、何劍等作為專題演講嘉賓。同時應(yīng)邀出席發(fā)布會的嘉賓還有 Google 公司 Kubernetes 團隊工程技術(shù)經(jīng)理 Jago Macleod 。
發(fā)布會上,阿里云容器平臺團隊也透露了下個月即將開源的、其內(nèi)部錘煉已久的Kubernetes 高級作業(yè)管理集合(Kubernetes Workloads Advanced):Kruise 項目。Kruise 會充分利用 Kubernetes 的“聲明式 API” 和“控制器模型”,為用戶提供互聯(lián)網(wǎng)場景下“賴以生存”的容器化應(yīng)用“原地升級”能力,以及更加精細化的業(yè)務(wù)發(fā)布策略。Twitter、Pinterest 以及 Netflix 等世界級團隊,都會加入到這個創(chuàng)新性的“云原生作業(yè)管理”項目的合作當中。
除此之外,Kubernetes 本身在規(guī)?;c性能提升上的不斷演進,也是能夠讓 Twitter 公司最終從“觀望者”變成“實踐者”的另一個技術(shù)因素。對此,Google Kubernetes 項目工程技術(shù)經(jīng)理 Jago Macleod 在演講中專門介紹了 Google 公司與阿里巴巴在這個領(lǐng)域上正在進行的攻關(guān)與合作。在最近的一次嘗試中,雙方的工程師正在一起為 K8s 里海量的 WATCH 操作添加“書簽(Bookmark)”,這將使得這些 WATCH 操作的建立者在重啟之后只需要對“書簽”之外的少數(shù)歷史變化進行追溯。在特定情況下,K8s APIServer 的性能會被提高 40 倍以上。
Kubernetes,以應(yīng)用為中心的“高速公路”
除了技術(shù)和架構(gòu)演進上的考量之外,這次Twitter 公司向 Kubernetes 的“華麗轉(zhuǎn)身”,還有一個至關(guān)重要的非技術(shù)因素。
Twitter 公司的快速成長,催生出了其標桿式的基礎(chǔ)軟件團隊,但也反映出了一個不得不引起重視的問題:隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,公司的基礎(chǔ)軟件團隊很快就開始超過它應(yīng)有的規(guī)模邊界,而相應(yīng)的投入產(chǎn)出比卻停滯不前。
所以,正如 David 在一開始提到的那樣,過去互聯(lián)網(wǎng)企業(yè)中“自研(In-house)”為主的基礎(chǔ)軟件開發(fā)和架構(gòu)思路,正在伴隨著云計算和云原生理念的普及發(fā)生微妙的變化。憑借像 Kubernetes 這樣的平臺級項目標準,互聯(lián)網(wǎng)公司已經(jīng)能夠以較小的代價將自身的基礎(chǔ)設(shè)施向云遷移。更重要的是,由于 Kubernetes 這個標準層的存在,這種“遷移”本身并不會像 Netflix 與 AWS 那樣形成根深蒂固的廠商鎖定關(guān)系,反而會在保留大部分“自研”好處的同時徹底發(fā)揮出“云”本身的價值和多集群管理的能力。這種變革帶來的優(yōu)勢,會在一個互聯(lián)網(wǎng)公司里的 “AWS 工程師”都變成“K8s 工程師”之后變得尤為凸顯。
不難看到,Kubernetes 項目正在以應(yīng)用為中心,連通“云”、“應(yīng)用開發(fā)者”與“基礎(chǔ)軟件團隊”。這種“高速公路”般的溝通、連接與交付能力,也正是像 Twitter 這樣快速迭代的互聯(lián)網(wǎng)公司思考自己基礎(chǔ)設(shè)施架構(gòu)未來演進方向的重要參考。而這種轉(zhuǎn)變,也使得 Twitter 這樣一個業(yè)務(wù)迅速增長的商業(yè)組織始終維持一個數(shù)十人的基礎(chǔ)軟件團隊成為了現(xiàn)實。
寫在最后
從最早Mesos“代言人”到如今的全面轉(zhuǎn)向“Kubernetes Native”,Twitter的舉動再一次佐證了‘Kuberentes已經(jīng)成為容器編排事實標準’這一斷言。更為重要的是,Twitter這次全面擁抱云原生,也有望能夠為業(yè)界大規(guī)模生產(chǎn)級云原生技術(shù)落地的提供一個經(jīng)典學(xué)習(xí)范本。
阿里巴巴從去年開始在云原生生態(tài)中投入了大量技術(shù)力量,正在逐步成為Facebook,Twitter,LinkedIn,Uber,Netflix,Pinterest等眾多世界級互聯(lián)網(wǎng)公司眼中規(guī)模化云原生技術(shù)落地的一位重要引領(lǐng)者。而伴隨著云計算的進一步普及,傳統(tǒng)的互聯(lián)網(wǎng)基礎(chǔ)技術(shù)架構(gòu)暴露出很多前所未有的問題,以及像Kubernetes這樣以“云”為核心的容器化基礎(chǔ)設(shè)施項目的迅速崛起,都在促使越來越多的世界級企業(yè)開始思考如何借助“云”以及云原生技術(shù)來擁抱開源生態(tài)和開放的技術(shù)標準,準備迎接一個具備強勁的迭代能力的、面向“云”的數(shù)字未來。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的Twitter 宣布抛弃 Mesos,全面转向Kubernetes的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里开发者招聘节 | 面试题05: 关于
- 下一篇: UnixBench算分介绍