1. 程式人生 > 其它 >雲原生?真就這麼簡單?

雲原生?真就這麼簡單?

https://www.cnblogs.com/muchengqingxin/p/14842487.html

肯定不簡單啊。我懂得不多,先從我個人角度聊聊雲原生。

由來

雲原生,全稱CloudNative。和其他熱門的概念詞一樣,雲原生也是從國外傳入的概念(國外理論第一,國內應用第一),在國內是由阿里在2019年提出,普遍認為2019年是國內雲原生元年。

雲原生怎麼玩?

它不是具體的框架,更像一種設計思路(或者說概念),它倡導雲原生應用都應該具有某些特徵。從大眾角度看,大致包含四個板塊​(圖片來自網路):

分別說說吧。

持續交付(CI/CD)

自動打包、編譯、部署、執行。現在商業模式越來越多,競爭越來越緊張。幾乎所有公司都希望可以更快:更多的功能,更快的更新,更小的代價。之前可能是一週一個小版本,一月一個大版本;之後可能會變成每天N個小版本的高頻更新。尤其是進入微服務時代,各種微小的服務需要各自更新迭代,成本太高了。且在這一行,只要是人操作的,就不可避免會出錯,只是概率高低而已。更新越快,出錯概率越高。自動化不是不會犯錯,起碼不會犯低階錯誤,所以必須自動化。這和雲原生有什麼關係?這個問題我之前也有,但是把其他幾個點看完以後我就懂了。

DevOps(開發/運維)

和現在公司管理佈局不一樣,雲原生意思就是開發/運維/測試都是一家,直接從管理體系下手。有中型以上公司工作經驗的同學,相信都有【部門牆】的概念。開發寫完給測試,測試走完給運維,但凡是有測試失敗、運維失誤之類的,那交付就要拖老遠。除了Task沒完成影響績效,還會給公司造成損失。到時候又是甩鍋大會,煩人的很。我想雲原生就是想讓開發專注做開發,其他的事情全部都用自動化替代,更純粹。

微服務(Microservices)

微服務不用說了吧?鋪天蓋地的廣告+課程推廣,它的重要性?看大廠們的選擇就知道了。不過這一塊除了學習門檻高,實戰門檻也很高。畢竟也不是所有公司業務都達到非它不可的地步,而且也不是全都能hold住它,這就少了很多實戰的視窗。要知道實戰和學習差距不是一點點,生產環境遇到的問題,在學習過程可能永遠遇不到。但它的確很重要,業務規模到了那個程度就必須去升級,不然早晚狗帶。

容器化(Containers)

docker必須擁有姓名。如果沒有docker,微服務還不知道多少年以後的事。容器化好處可太多了:節省資源、方便管理、環境統一、分發容易等等。不過這東西想玩的好一樣要深入學,反正就是繞不開腦細胞的死亡。微服務有了,那容器化必須有。

總結

整體看下來,我覺得雲原生是一種綜合了管理、結構、架構的技術發展方向。可以感覺到,市場越來越快了,這社會更新的頻率也不斷在加速,更穩更快的技術交付已經成為判斷技術力的新指標,究其根本還是業務倒逼技術發展。如果沒有雙11、618,可能就沒有公司為了抗住高併發去升級架構;如果手機沒有語音助手、全面屏沒有人臉識別,可能機器學習、人工智慧的理論仍然藏在某個研究所的檔案室裡。但我覺得雲原生沒那麼簡單,它只是概念相對清晰,就算硬湊上面四個板塊出來,也不一定是雲原生應用,但如果開發只專注開發,不用關注運維、測試等方面,可能就是雲原生所倡導的最終結果了吧。