云原生最好的時代,也是不得不云原生時代
實際上,不僅是消費品、互聯網等需求變化快的行業,就是原有存在資源優勢的企業,都開始面臨經濟下行壓力的降本增效問題。在技術應用上,對可彈性擴展的應用提出了新的要求。云原生這一概念被提出并被快速接受似乎也就兩三年時間。
根據筆者的一項調查顯示,有51%的企業CIO表示業務模式的變革正在發生。隨著5G時代到來,數字化技術越來越快,如果企業業務仍然只停留在以線下門店為主的傳統形式上,顯然已不能適應現在的發展需求,業務需要變革,而IT也在為了支撐這種變革而不斷推進,具體而言,體現在不斷變遷的應用架構和開發流程上。
以軟件架構為例,最早開始是單體應用,所有的業務都在一個應用包里,把所有代碼打包在一起;其次是分層架構,3Tier、MVC(前端、后端、中間控制器);后來IBM主導開發了SOA架構,有個解耦方式,但還是面向集中式業務;現在更多的面向微服務架構,互聯網企業已經做到了生產業務微服務化,比如電商系統,通過將很多業務模塊解耦,比如購物車拆分成一個獨立的服務,便可以獨立進行版本迭代和升級上線,實現與電商系統其他平臺的完全解耦,從而更好地應對不同的業務需求。
再以基礎設施為例,以前是大機或者傳統數據中心,再是集中化IDC數據中心,后來有了云計算,而現在則是云原生。
CNCF基金會對云原生給出的定義頗具代表性:“云原生技術有利于各組織在公有云、私有云和混合云等新型動態環境中,構建和運行可彈性擴展的應用,云原生的代表技術包括容器、服務網格、微服務、不可變基礎實施和聲明式API。“
由此可見,云原生的優勢在于可以很好地構建容錯性好,易于管理、便于觀察的松耦合系統。結合可靠的自動化手段,云原生技術使工程師能夠輕松地對系統作出頻繁、可預測的重大變更。比如互聯網企業都會做的頻繁的促銷活動,頻繁的業務變化需要基礎設施的配合,包括企業的應用架構、業務實現,這些云原生技術正在幫助企業實現數字化轉型??梢哉f,這是云原生最好的時代,也是不得不云原生的時代。
Kubernetes 基礎設施的統治者
談到云原生,便必須談到Kubernetes。Kubernetes最開始是由谷歌開源的虛擬化平臺或是支撐云原生的基礎設施平臺,谷歌把它的共性拆出來,開源成Kubernetes,在CNCF基金會的推動下,Kubernetes已形成為一個強大的社區,包括微軟、IBM、華為、青云QingCloud等國際國內廠商都在貢獻代碼,對Kubernetes進行演進和迭代。
青云QingCloud KubeSphere容器平臺產品經理于爽對Kubernetes的地位評價非常高,他認為“Kubernetes將是未來IT基礎設施的統治者“,其原因是:
首先,Kubernetes容器是跨基礎設施的,不管是物理機還是云平臺,只要業務構建于Kubernetes,以容器化的方式交付,就可以跑在不同的平臺之上。這意味著客戶不會被任何服務商鎖定,其業務可以很好的跨基礎設施做應用遷移。
其次,Kubernetes社區,不管是個人開發者、企業開發者均需要投入,因此其版本演進非??焖?。而且Kubernetes有非常標準的開發架構、API設計,也能實現很好的兼容。
第三,擴展簡單和標準,Kubernetes在最開始設計時就沒有很深入向下和向上做綁定,而是通過標準化的方式開放出來。以存儲為例,數據需要最終存儲到數據盤里,Kubernetes把它抽象成存儲服務的標準接口,任何存儲廠商都可以基于接口標準,把存儲服務的API對接進去,這使得Kubernetes生態非常繁榮。
KubeSphere 開箱即用的云原生
雖然Kubernetes是云原生最基礎的支撐平臺,就如房子已經基本建成,但并不能立即入住一樣,畢竟沒有人愿意住在毛坯房里,沒有家具和家電,只能保證企業最基礎的應用,還會涉及監控、日志、告警,甚至開發工具鏈、微服務管理工具等,后續的使用會變得非常復雜。
KubeSphere是青云QingCloud為云原生開發的一套專業平臺,是在Kubernetes之上構建的分布式操作系統,是用于數據中心的、可插拔的企業級多租戶容器平臺。于爽在談到Kubernetes的設計初衷時說,我們的最終目的一是降低平臺落地成本;二是降低用戶使用成本。
社區用戶把KubeSphere稱為云原生全家桶,因為KubeSphere提供了很多可選的功能組件,用戶可以在使用過程中,根據自己的業務需求有選擇性的使用這些組件。簡單羅列如下: 首先,核心功能開箱即用。青云QingCloud所謂的開箱即用,是指運維友好,把所有后端的技術細節屏蔽掉,盡最大的可能幫助用戶節省所有的學習成本,讓用戶可以迅速上手,提升用戶的效率,這里面包括青云QingCloud對用戶行為習慣的很多分析。
KubeSphere的產品目標是“聚焦業務應用”,所有的功能體驗都是圍繞應用設計的。因此,我們在產品開發之前都會跟社區用戶、青云現有的企業用戶進行調研,他們現在的使用模式是怎樣的,期待的模式是怎樣的,匯聚并梳理所有的需求,提煉并最終展示在KubeSphere平臺上,形成很好的用戶體驗。
一、即點即用的DevOps,面向開發測試人員,覆蓋了開發測試全鏈條的發布。從提交代碼、構建應用、應用發布到測試環境、測試通過發布到準生態環境及生產環境,這一套流程在KubeSphere平臺上可通過可視化界面進行統一的管理。
二、靈活可選的微服務框架,現在Java系比較主流的SpringCloud、Dubbo;CNCF現在主推的Istio,Istio是由谷歌、IBM和Lyft三家公司主導的開源項目。不管是傳統微服務框架還是主流的云原生微服務框架,在KubeSphere平臺上都可以得到很好的支持。
三、應用跨平臺一鍵部署。這是得益于容器、Kubernetes的特性,天然地在KubeSphere產品里支持。
其次,健壯的容器基礎設施。青云QingCloud自有的SDN、SDS產品,包括QingCloud云平臺,都可以跟KubeSphere很好的整合。這個整合并不是強綁定的關系,KubeSphere既可以安裝在青云QingCloud之上,也可以安裝在其他云平臺、物理機或者VMware之上。
最后,企業級增強特性。在大型企業落地,多租戶、運維友好和安全都是必須的功能。
KubeSphere 云原生生態
當然,所有的平臺都離不開生態,青云QingCloud深刻認識這一點。圍繞KubeSphere、云原生的主題,青云QingCloud在國內開展線下Meetup活動,迄今已舉辦6場全國巡演,30個研發和用戶主題分享,累計超過1000名開發者參加。
據了解,青云QingCloud將在2020年在公有云上交付更多圍繞容器、Kubernetes、云原生的功能,并在2020年第三季度發布KubeSphere4.0版本。