2019年微服務5大趨勢,你pick哪個?
2018年對於微服務來說是非常重要的一年,這一年Service Mesh開始嶄露頭角,解決服務間複雜的通訊問題,這一年很多國內網際網路公司已經有了較為成熟的微服務實踐案例,網易雲主辦的微服務實踐沙龍中也曾邀請過多位微服務大咖帶來乾貨分享。2019年微服務領域又有哪些新趨勢呢?
在2018年初,來自Redpoint的VC Astasia Myers曾成功預測過Service Mesh,事件驅動的架構,容器本地安全等趨勢,而在2019年初,他們認為微服務將在以下領域取得重大進展:
測試自動化
持續部署/持續驗證(CD/CV, Continuous Deployment/Verification)
應急響應
雲服務費用管理(CSEM, Cloud Service Expense Management)
Kubernetes擴充套件到機器學習領域
趨勢1:CI來了,自動化測試也該興起了
傳統模式下,測試用例的設計通常用來判斷軟體能否在不同場景下正確地執行,通常由QA工程師建立和執行測試用例。現在,在持續整合(CI, continuous integration)的pipeline中,軟體工程師開始從傳統的QA團隊中接手部分測試的職責,這也給開發者帶來了新的負擔。
大部分業務團隊都希望有一套能夠自動化地設計,執行和彙報結果的軟體測試解決方案,並且這套解決方案能夠和CI系統無縫相容,實時檢查最新的程式碼,像人工一樣添加註釋。這套解決方案還要有UI介面,以便於工程師們能在使用者介面中尋找問題,減少漏判。大多數情況下,我們通過介面滑鼠點選的方式來完成測試,但是有時這種測試方式並不能覆蓋所有場景,而API測試往往能更好地解決這種問題。
在網易輕舟微服務平臺中,GoAPI介面測試是以介面生命週期管理為核心理念,以提高微服務測試效率為核心價值的協作平臺,提供一站式介面管理、測試方案。通過接入GoAPI測試,德邦快遞的自動化測試已經覆蓋核心系統主流程,發現缺陷率達到49.8%。
趨勢2:高效的持續部署/驗證,將替代低效的手動部署
據說在某些金融機構中,有十分之一的DevOps工程師從事的工作是部署軟體到生產環境中。持續部署將程式碼從測試到部署的過程自動化,代替了DevOps工程師的手工操作,假設持續部署軟體僅取代全球10%的DevOps工程師的價值,整個持續部署的市場規模也將接近20億美元。
持續驗證在持續部署之上加了一個智慧層,從日誌和APM中收集事件資料,並通過機器學習技術,去分析導致成功和失敗部署的特徵。持續驗證還應該提供人工介入的介面,以便工程師能提供反饋,提高模型的準確度,並與系統建立信任。此外,持續驗證通常還能夠安全地回退失敗的部署。相信未來持續驗證可以幫助持續部署在多雲環境下成為一個智慧的控制點,它還可以基於服務的特徵,去選擇最合適的雲,區域和配置。
在輕舟微服務平臺中,CodePipeline提供一整套端到端的工具鏈,打通程式碼檢出、編譯、映象構建、部署、測試階段,幫助團隊提升使用微服務架構時的持續整合、持續交付能力。基於Codepipeline,網易考拉的變更頻率由每天2次增長到每天1000次以上,結合熔斷,限流,降級等策略,軟體產品質量提升52%。
趨勢3:宕機不用怕,應急響應來“救火”
宕機通常會帶來財務損失,所以快速的解決方案非常重要。據Gartner的資料顯示,平均每分鐘的宕機會給業務帶來5600美元的損失,而像Amazon這這大型網站,平均每分鐘的損失則高達22萬美元。並且每次宕機不但會給業務帶來財務損失,還會對品牌造成傷害。
SRE(Site Reliability Engineers,網站可靠性工程師)應運而生,當服務失敗的時候,整個SRE團隊會收到報警,同時會啟動一系列的工作流。應急響應指揮官維護著一份“響應狀態報告”,其中記錄了事件情況,環境和修復情況。每個團隊成員按照預先定義好的模板化的規程去執行解決方案。
PagerDuty,Slack,Jira,Google文件和知識庫都是SRE團隊用來做事件響應的常用工具。Redpoint認為這些工具可以被整合為端到端的SaaS平臺,幫助自動化修復的過程,最終形成最佳實踐。這個平臺不光要分配角色和啟動工作流,還要陳述事件的影響範圍,狀態,事件時間軸,會加速MTTR(Mean-Time-To-Recovery,平均恢復時間),協作和知識共享。
趨勢4:不想花冤枉錢,就請把雲服務費用管理重視起來
雲服務費用管理(CSEM)不但對工程師和IT團隊影響至深,也是整個公司面臨的挑戰之一。大部分業務都是混合雲的部署模式,但是僅使用公有云的企業數量也有增長的趨勢,隨著公有云市場的擴充套件,成本管理和預測會變得越來越重要。
儘管市場上已經有很多雲服務費用管理的解決方案,但是費用控制對雲服務的客戶來說依然是一個痛點。一個雲服務費用管理平臺應該能識別出過載或閒置的資源,需要支援預定和現買現賣,規模優化,退款,還要能設定定製的折扣,並標記異常的花費,還能根據流量的上漲和資料儲存需求預測費用,此外服務優化也是關鍵功能。
趨勢5:Kubernetes擴充套件到機器學習領域
Kubernetes已經成為容器編排的事實標準,它的領域也在不斷擴張,未來Kubernetes將成為機器學習技術棧的一部分。比如,Google釋出了開源的Kubeflow,通過新增Custom Resources Definitions (CRDs) 到叢集中,擴充套件了Kubernetes的API,使得機器學習的工作負載在Kubernetes中成為一等公民。在KubCon Seattle 2018大會上,Kubeflow已經成為關注度最高的雲原生專案。無獨有偶,Lyft也基於Kubernetes構建了自己的機器學習平臺。還有一些獨角獸公司在試圖將Kubernetes上的機器學習和分析的工作負載標準化。
你認為2019年微服務會有哪些趨勢?歡迎在留言區與我們互動。
點選這裡瞭解網易雲輕舟微服務平臺。
參考連結:https://medium.com/memory-lea...
本文首發自網易雲社群,轉載請註明出處。
文章來源:網易雲社群