1. 程式人生 > >Cloud Native Weekly |IBM收購Red Hat;CNCF 託管第一個容器執行時安全專案

Cloud Native Weekly |IBM收購Red Hat;CNCF 託管第一個容器執行時安全專案

雲原生一週精選

1——IBM收購Red Hat,在擁擠雲市場另闢蹊徑

2——業內首個Apache微服務頂級專案 | 華為開源的ServiceComb畢業

3——CNCF 託管第一個容器執行時安全專案

4——Spinnaker 1.10強化Kubernetes自動化部署,不再需要操作複雜的Manifests部署

1.IBM收購Red Hat,在擁擠雲市場另闢蹊徑

Red Hat是將開源軟體商業化的先驅之一,其採用的模式是,程式碼免費提供給其他公司使用,以便重新分發和修改。開源軟體已逐漸成為許多應用系統的基石,即便在大企業中也是如此,比如Linux作業系統、Web瀏覽器Firefox以及Apache Hadoop之類的大資料分析軟體。

然而,許多公司一直很難靠免費軟體賺到錢--兩家基於開源的大資料公司Cloudera和Hortonworks最近宣佈合併就是一個佐證。Red Hat已被業界視為典範:以一種財務上可持續的方式,為開源軟體提供服務和支援。

就在今天凌晨,IBM給出了每股支付190美元的價碼,收購了Red Hat,這比Red Hat上週五的收盤價溢價60%以上。這筆金額高達340億美元的交易是IBM悠久歷史上最大的一筆交易,也是美國科技界歷史上的第三大交易。重金收購也表明了IBM非常看重這家公司,這個計算機和服務巨頭多年來致力於讓其雲應用平臺在開發人員面前更具有吸引力,而Red Hat有望立即為它增添信譽和美名。

市場研究公司Wikibon的分析師斯圖•米尼曼(Stu Miniman)說:“Red Hat有望彌補IBM不受開發人員的追捧這塊短板。”他表示,此外,“IBM立即鞏固了其在當今多雲領域的地位。”

的確,此舉反映了IBM很難在雲端計算時代齊步並進。它最近釋出了季度收益,顯示了連續幾個季度收入較大幅增長後卻出現了下滑,這讓投資者大跌眼鏡。AWS和微軟等雲端計算巨頭通過將計算、儲存、網路資源和應用軟體(常常來自開源)作為一項線上服務來提供,已偷偷搶在了IBM和惠普企業(HPE)等傳統軟硬體廠商的前頭。

不過,IBM為這個開源界寵兒支付了溢價,表明它很注重在雲端計算行業有更大的作為。IBM董事長兼執行長吉尼•羅曼蒂(Ginni Rometty)在一份宣告中說:“收購Red Hat是改變遊戲規則的舉措。這改變了雲市場的一切。IBM將成為全球的頭號混合雲提供商,為公司企業提供唯一的開放雲解決方案,從而為客戶充分發掘雲的價值。”

羅曼蒂特別指出,大多數公司在通向雲的道路上仍然只走完了約20%的路程。她說: “餘下的80%旨在發掘真正的商業價值,並推動增長。這是雲端計算的下一個篇章。這需要將業務應用軟體轉移到混合雲,提取更多的價值,並且優化業務的方方面面,從供應鏈到銷售,不一而足。”

IBM料到外界會擔心:這次收購可能危及Red Hat作為一家與平臺無關的開源軟體提供者具有的吸引力,表示自己將“繼續致力於Red Hat的開放治理、開源貢獻、參與開源社群和開發模式,並繼續打造其廣泛的開發者生態系統。”尤其是,IBM表示自己致力於開源工作或專案,比如Patent Promise、GPL合作承諾、開放式發明網路(OIN)以及LOT網路。

IBM還鄭重承諾,會繼續與AWS、微軟的Azure雲、谷歌雲、阿里巴巴以及其他公司保持合作伙伴關係。Red Hat將成為IBM的混合雲團隊的一部分,成為一個“單獨的部門”,保持Red Hat的開源開發傳統和理念的獨立性和中立性,保持當前的產品組合和產品上市戰略以及獨特的開發文化,總部同樣在北卡羅來納州羅利,保持原有品牌。

2.業內首個Apache微服務頂級專案 | 華為開源的ServiceComb畢業

全球最大的開源軟體基金會Apache軟體基金會(以下簡稱Apache)於北京時間10月24日宣佈Apache ServiceComb畢業成為Apache頂級專案。

ServiceComb由華為公司於2017年11月捐贈給Apache並啟動孵化,之後在Apache導師的指導下由孵化器管理委員會成員進行經營孵化;9月25日,在Apache孵化器10票一次性通過畢業提案投票;10月17日,Apache董事會通過ServiceComb畢業決議,這也是業界首個微服務專案在Apache孵化並畢業成為頂級專案。

Apache ServiceComb作為一站式微服務解決方案,包含3個子專案:

Java-Chassis
一個開箱即用的Java語言微服務SDK,包括四個部分:服務契約、程式設計模型、執行模型和通訊模型,以及一整套微服務治理能力,如負載均衡、容錯、限流和呼叫鏈跟蹤。微服務治理和業務邏輯是隔離的。
Service-Center
基於Etcd的、高效能、高可用性、無狀態、Go語言實現的服務發現和註冊中心,提供實時服務例項註冊,實時服務例項通知和服務間契約測試
Saga
為分散式事務提供最終的一致性解決方案,解決微服務痛點問題。
Apache ServiceComb的亮點包括:

非同步核心
基於VertX的同步和非同步模型程式設計有效確保了無論是在傳統企業或電商領域,還是在新興的網際網路或物聯網等新興企業中,都能夠保持高效能和低延遲,以避免在達到峰值負載時應用出現雪崩效應。
開箱即用體驗
開發人員通過腳手架網站http://start.servicecomb.io啟動的微服務專案,可以集服務註冊、發現、通訊和微服務治理能力和預設的集中化配置為一體。
OpenAPI
自動程式碼生成,業務邏輯程式碼和治理能力隔離,可以使能DevOps Pipeline,使用契約檔案和OpenAPI的雙向生成能力可以使不同的團隊高效且獨立的開發和管理程式碼、測試和進行文件化工作。
2015年,華為雲推出了微服務相關的服務,這是ServiceComb的原始程式碼。Apache ServiceComb是華為雲微服務引擎CSE的核心。它廣泛應用於華為消費雲、華為雲核、華為EI等眾多主要產品,是華為微服務的事實標準。華為消費者雲基於Apache ServiceCom的高效能,低延遲的非同步技術來實現1500多個節點級的微服務,支援4億移動手機使用者線上。使用ServiceComb,QPS提升2倍+,時延降低45%。

3.CNCF 託管第一個容器執行時安全專案

CNCF託管了第一個容器執行時安全專案 Falco,用於保護在生產環境中的執行容器。Falco專案最初為Sysdig開源監控平臺的核心儀器技術,後由Sysdig捐贈給CNCF。

Falco專案功能:

利用Linux核心在應用程式、檔案、系統和網路級別提供執行時安全性(縮短容器和微服務架構的檢測和響應時間);
連結到其他CNCF專案,如Fluentd logging project、Kubernetes容器編排專案(這種連結將允許Falco採取措施應對安全威脅,隔離相關Kubernetes節點);
通過Kubernetes API伺服器訪問元資料(提供從Linux核心收集到的更多詳細資料資訊)。
CNCF執行董事Dan Kohn說:“Falco為雲原生平臺提供入侵和異常檢測,包括Kubernetes、Mesosphere和Cloud Foundry。當Falco與其他雲原生專案(如 Fluentd,Nats,rkt等)一起使用時,Falco可以提供完整的容器執行時安全解決方案。”

4.Spinnaker 1.10強化Kubernetes自動化部署,不再需要操作複雜的Manifests部署

由Google和Netflix Inc.共同開發的多雲持續交付平臺Spinnaker釋出了1.10版本,新增了Kubernetes供應商(Kubernetes Provider),並且整合了Helm套件管理器,讓使用者以樣板產生Manifests,通過Istio對流量控制的支援,讓容器和Kubernetes的自動化部署更加容易。

Google提到,在Kubernetes環境中,持續交付工作仍然屬於早期階段,而企業中的釋出工程團隊希望Spinnaker能以最佳實踐提供軟體交付框架,而對於剛開始使用Kubernetes的組織,也期望能取得所需要的資源,設計出適合的環境。

因此在Spinnaker 1.10中,Google與社群合作,重新設計了Kubernetes的支援,抽象化管理Kubernetes Manifests的複雜性,讓開發人員可以花更多心力在開發工作上。現在釋出工程團隊可透過Manifests存取完整的Kubernetes資源,而且還會自動化處理管理Manifests的低階複雜性,像是正確處理標籤,或是為非專家提供量身定做的使用者體驗。

釋出工程團隊可以為企業設計專屬的Kubernetes使用方法,並將工作管線打包成最常用路徑,釋出給其他開發團隊,這將讓開發團隊不用接觸複雜的指令碼以及低階Manifests操作,但同時也能繼續使用Kubernetes的所有功能。

一般來說,有兩種將應用程式自動化部署到Kubernetes的方法,其一是使用像是Jenkins這類通用排程程式(Orchestrator),編寫部署流程來控制應用程式部署,另外一種則是相對較新,以Kubernetes為主的持續整合和持續交付工具。Google指出,通用排程軟體編寫的指令碼容易出錯,而這兩種方法都需要開發人員深入研究Kubernetes Manifests,但這將在進行大規模部署的時候產生瓶頸。

而Spinnaker 1.10新增的Kubernetes供應商,提供了多種特性來解決既存問題。Kubernetes供應商可以自動為要釋出的容器映像檔抓取正確的Manifests,並且支援GitOps型程式的儲存庫佈局和控制流。而且還會為工作管線中的開發、QA以及產品階段產生多個Manifests,且支援Helm或是其他的樣版引擎。

Kubernetes供應商會自動再將被部署的Manifests中設定容器映像檔版本,在最佳實踐中,會使用摘要(Digests)而非標記(Tags),進而避免複雜的指令碼操作。另外,也賦予了釋出工程團隊限制開發人員存取Kubernetes名稱空間、叢集和資源型別的能力。

Google提到,Spinnaker 1.10是持續交付和自動化軟體交付工作管線的重要里程碑,使用者現在可在Codelab中取得Spinnaker對Kubernetes的支援。