有個小遊戲,今年風靡全網,堪稱現象級,但很快又遭群嘲。在它剛火的日子裡,有人玩着玩着手機突然卡住;有人費了好大勁也沒通關,一問才發現身邊人早就闖關成功了……——沒錯,說的就是《羊了個羊》。且不論遊戲模今天草莓味的風要和大家分享的是原來《羊了個羊》也求助了雲,攔截bot自動化攻擊達5000萬次,歡迎閱讀~
有個小遊戲,今年風靡全網,堪稱現象級,但很快又遭群嘲。
在它剛火的日子裡,有人玩着玩着手機突然卡住;有人費了好大勁也沒通關,一問才發現身邊人早就闖關成功了……
——沒錯,說的就是《羊了個羊》。
且不論遊戲模式本身。造成此番混亂場景的原因,除了 " 羊 " 火得太出人意料,還有就是其服務器和 API 受到海量 CC 攻擊和 bot 攻擊,市面上還出現了一堆針對 API 的外挂軟件。
怎麼應對?
等等,"API"、" 服務器 "……這些不正是雲的關鍵詞嗎?
事實上," 羊 " 的開發者後來真去求助了雲服務商。據悉,騰訊雲團隊幫助 " 羊 " 攔截的 bot 自動化攻擊高達5000 萬次。
說起雲和雲計算,其核心技術主要在于大規模的計算力調度。
不過在雲迅速發展的同時,技術人員發現,傳統軟件上雲并非易事,各大 APP 往往都有自己獨特的架構;現在要上雲,大夥兒還得費盡周折地做構建,顯得比較笨拙。
為了讓軟件上雲更靈活,有人打開新思路:
之前是先有軟件再考慮上雲,诶 ~ 那何不反過來從雲出發來構建軟件?
這個新思路,後來衍生出了一種新技術,并且有了個形象的名字:雲原生。
雲原生:雲計算基礎上生出的新事物
這裡闡明一點:雲原生和雲計算關系密切,但雲原生≠雲計算。
雲原生的概念說來話長,簡單來講,雲原生是通過在雲環境中運行容器化等,來構建和運行應用程序,它繼承了雲計算的不少優點。
對雲計算服務而言," 成本,可能是其最大的一個優勢。"
中國人民大學信息學院計算機科學與技術系主任柴雲鵬如是說道。
△柴雲鵬
當一個東西足夠便宜,就可以吸引許多人來用它,讓規模化變得比較容易。
另外,雲計算有利于硬件資源共享,保障服務質量,能提高資源利用率,減少浪費。
柴教授指出,雲計算本身,就屬于是技術和商業模式的結合。
現在越來越多産品算法的設計,都是把成本優化和系統優化放在一起考慮的,所以天然就有一定的成本優勢。這點對不管是大企業還是小企業來說,都很有魅力。
小企業前期的投入門檻很低,使用雲計算的風險很小;大企業效率很高,對資源共享需求很大。
舉個例子 ~
一項 Olap 數據分析的任務,以前需要 10 台機器計算 10 個小時;而用上雲計算這個 BUFF 後,花同樣的成本就可以租來 100 台機器——于是隻要 1 個小時就搞定了。
後來,随着各公司一個接一個紛紛上雲,有人在實踐中發現,效率其實還能更上一層樓。
因為傳統軟件的硬件資源利用率并不是很高,主要是它們不夠 " 有彈性 "。
過去為了追求性能,一般會把 CPU、Memory 等硬件資源用滿,并且可能還遠遠超過了上層軟件的需求,造成大量的資源浪費。
另外,傳統軟件的架構往往是唯一的,當面對不同情況時,其不靈活的一面就凸顯出來了。
那麼如何才能減少浪費、讓上雲變得更靈活?
答案是:軟件架構分離。
這就好比拆機,一層層剝開來看的話,首先是存算分離,然後進一步是 CPU 和内存分離(阿裡也在搞這個),再往下細分就是軟件内部模塊化。
和傳統軟件不同,雲原生軟件在編寫過程中更注重設計一個個小模塊,更有個性化的味道——這有點像搭積木,先把一塊塊積木都準備好,然後根據不同人的需求造出他們想要的樣子。
不過一塊塊 " 積木 " 可不是随意設計的,需要符合一定标準,也就是說,雲原生軟件要符合特定框架或 " 合同 ",比如 12-factor app。
至于整個軟件的個性化,完全靠人力定制是不夠的,必須要通過自适應技術來做;而要怎麼做好自适應,這是一個需要研究探索的新課題,或許還任重而道遠。
随着當下雲原生的發展,整個雲計算圈子的比賽開始進入下半場,搶占蘿蔔坑的時代已成過往,精細化運營被提上日程。
安全,就是無數個 "0" 前面那個 "1"
雲計算、雲原生,聽着很高大上,但它們都離不開一個基礎——安全。
如果說,各種子業務好比一個個 "0",那麼安全就是 0 前面的那個 1。有了安全這個 1,整體業務才有不斷成長擴大的機會;否則說難聽點,再怎麼折騰也是白瞎。
由于雲擁有資源集中、共享等特點,所以雲廠商能夠比較容易地從宏觀角度去觀測全網的一個安全勢态。
結果,不看不知道,一看吓一跳。
騰訊安全雲原生産品安全負責人徐展指出,截止到今年 10 月底,互聯網已經披露出 2.5 萬 + 漏洞,其中有超過 4000 個是高危漏洞。
△徐展
然而……這些漏洞的修複率還不到 20%。
漏洞對許多企業來說都有極大影響,連鵝廠自己都不例外。
他們一度深受某漏洞的困擾——這個漏洞名曰 Log4j,利用 Java 中的一個缺陷,可發起能完全控制系統的遠程代碼攻擊,破壞力驚人。
徐展坦言,連騰訊這樣的大廠,動員了全集團去修複收斂,都花了近 2 個月的時間。
更讓人難受的是,雲計算技術在進步的同時,漏洞也在更新換代,Log4j3.0 版本之後,又有了 Log4j3.01 ……
對整個雲上的攻擊,騰訊團隊做了一個抽樣分析,然後發現有其中将近 70% 都是和挖礦勒索有關。
另外,他們研究發現,自今年以來,雲上的攻擊的手法越來豐富多樣,還孵化出了一堆黑産團隊。
而在雲原生架構下,面臨的情況其實更複雜。
在雲原生環境下,包括容器的構建、部署到運行等,整個過程會産生更多風險。
比如,容器帶來了更多東西向流量訪問,這就讓傳統的南北向網絡防火牆有點尴尬了。
另外,雲原生化的應用,主要包括 API 、 Serverless,微服務,都成了新的靶子。
來看個真實事件感受一下:某省份專用雲的 API 遭到轟擊,導緻好幾百 G 的重要數據洩露。
而企業老闆們也飽受安全問題折磨,一頓飯功夫都能收到好幾個報警。
不難看出,雲原生的總體安全堪憂。
那怎麼辦?
從監管機構角度,信通院已經發了一份《雲原生能力成熟度模型》,專門雲原生的架構安全制定了行業标準。
從雲服務商的角度來看,簡單來說,在雲上構建新應用時,不能隻追求性能了,還得為原生的基礎設施加上 " 保護殼 " ——安全能力也要原生化。
而且,這些 " 保護殼 " 也要足夠有彈性,這樣才能适配雲原生應用的 " 模塊 "。
作為國内比較有經驗的雲廠商,騰訊也分享了他們 " 縱深防禦 " 的一些經驗:三道防線,再加一個整體運營。
雲原生,實用效果如何?
其實,從 2015 年起幾條大方向的規則被提出,雲原生出現也有幾個年頭了。
那麼雲原生的實踐結果如何?
不妨來看一段小故事:
時間回到 2015 年,呂曉陽和同事從一個遊戲公司出來創業。
彼時還處于 IDC 時代,他們的前公司也挺厲害—— 2013 年月流水就有大幾個億的那種。在那時,他們的前公司也用着自己的網絡數據中心機房。
" 但是創業公司沒有錢啊。" 呂曉陽言簡意赅。
窮則變,變則通,通則久。
他們隻花了一晚上就做出一個決定:要把 IDC 幹掉!
雖然那時雲并不太穩定,外界許多聲音都在說雲不靠譜,但他們還是早早地成了阿裡雲的深度客戶,甚至親自上手幫阿裡修改了很多底層 Bug。
了解科技最新勢頭的他們,後來又用上了雲原生。
在今天看來,他們當初的選擇和血汗淚,都獲得了回報。
現為遊酷盛世科技 VP 的呂曉陽分享道,同是處理一項相似的業務,他們和另一家規模相似(如今都有幾十億流水)的友商比起來,成本僅為後者的 1-2%。
因為他們深谙雲原生的一個特點:無狀态。
無狀态的東西是比較容易擴展,對于降成本來說很有意義;但是在很多行業裡,很多場景下,無狀态其實不太合适:
比如王者榮耀,如果全用無狀态,每次數據都要從存儲上去拉,成本反而很高,所以遊戲場景很多是有狀态的。
但呂曉陽他們偏偏另辟蹊徑,花了很大的心血,從有狀态的東西拆分出無狀态的部分。
最終,他們可以更容易地做出伸縮、多級緩存,甚至還有餘力去做下内存加速,而且也能在無狀态中做有狀态加速。
總而言之,他們通過雲原生和自身努力,極大地降低了運維成本。
在這次活動的 Panel 上,呂曉陽分享道:
雲原生确實有很多問題,但是在當下,雲原生在一些特定的場景下,已經比原來的雲有非常多的提升了。
△主題 Panel,左起依次為:王一鵬,呂曉陽,柴雲鵬,劉文濤,徐展 CCF C ³
以上精彩内容,全部出自 CCF C ³ 的第 16 期活動,主題為 " 雲原生技術的探索與實踐 ",由騰訊北京總部承辦。
C ³ 活動由中國計算機學會 CCF CTO Club 發起,旨在聯結企業 CTO 及高級技術人才和資深學者,每次以一個技術話題為核心,走進一家技術領先企業。
目前為止已經舉辦至第 16 期,此前已先後走進京東、小米、搜狗、百度、亞馬遜、阿裡巴巴、快手等企業。
下次 CCF 将再度走進聯想,開展第 17 期活動,敬請期待 ~
關于原來《羊了個羊》也求助了雲,攔截bot自動化攻擊達5000萬次就介紹完了,您有什麼想法可以聯系草莓味的風。