1. 程式人生 > >深入解讀雲計算的十年發展歷程

深入解讀雲計算的十年發展歷程

跨語言 ont 選擇 災備 黃花菜 根據 控制 vmware 中心

引言:人生不會有太多的十年,但僅僅一個十年也可以成就很多事情。雲計算從誕生到現在走過了十年,在不知不覺間改變了我們的生活。

一、雲的十年發展

人生不會有太多的十年,但僅僅一個十年也可以成就很多事情。雲計算從誕生到現在走過了十年,在不知不覺間改變了我們的生活。

技術分享圖片

從傳統的IT時代到互聯網+,到今年兩會提出的智能+,再次告訴我們科學技術是第一生產力,而創新則是引領發展的第一動力。從傳統的PC互聯到人人互聯再到未來的萬物互聯,我們的經濟發展越來越快也越來越復雜,這迫切需要我們的信息系統響應能力也越來越快,基於傳統的IT架構解決方案也向更加靈活快速響應的雲架構進行遷移轉換。
技術分享圖片

在以往沒有雲的時代,企業IT建設雜亂無序,煙囪式的建設、分離式的運維、分散於各系統的低效開發,嚴重制約了企業的快速發展,我們需要把應用軟件集成起來、平臺整合起來進一步提高我們的協同共享,實現可持續的發展。

傳統IT存在的問題大同小異具體來說主要有:

如何縮短開發周期
怎麽降低投資成本
減少資源浪費
如何從整體的業務出發,進行合理規劃
怎樣才能有效的規避系統建設過程中的風險
如何控制維護成本。

技術分享圖片

雲的出現極大改變了企業IT建設中一些固有的問題和缺陷,實現了按需交付、隨需擴展、簡單快捷、管理靈活和成本節省、安全合規。

截止到今天,雲計算的服務模式仍在不斷進化,但業界普遍接受的SPI模型按照服務的提供方式將雲劃分為三個大類:

SaaS(Software as a Service–軟件即服務)
PaaS(Platform as a Service–平臺即服務)
IaaS(Infrastructure as a Service–基礎架構即服務)。

基本上我們看到很多的企業雲計算也是先IAAS資源池建設再PAAS平臺建設,再到關註應用和服務這樣一個過程。從雲計算發展的現狀來看,當前面臨的挑戰仍有以下幾個方面:

統一管理,整體資源利用率偏低,需要進一步整合形成統一管理
計算能力,小型機數量依然很大需要進一步X86化,投資較大廠商鎖定嚴重,VMWARE在傳統企業占有很大比例
網絡和存儲能力,采用傳統的VLAN隔離,業務規模擴展和靈活性較低。Fc-san高端存儲偏多成本較高,沒有按業務需求配備相應等級的存儲資源。
技術分享圖片

後續雲計算發展演進的目標架構是需要通過資源池的整合,建設完善PAAS能力,通過采用雲管理平臺橫向打通各域能力,為業務創新、快速上線提供有力支撐。雲計算十年發展演進的幾個關鍵總結:1、把標準統一 2、把標準落地 3、少做重復的事 4、多做增值的事 5、技術+服務+運營

二、技術的演變

2B、2C概念的流行源自本世紀初的一輪互聯網熱。2000年前後,隨著互聯網的興起,變革意願強的企業,開始建立網站,通過網絡銷售公司的產品。如果銷售產品的用戶是終端消費者,這個網站就被稱為B2C網站;如果銷售產品的用戶是企業,那麽這個網站就被稱為B2B網站。互聯網泡沫後,一些面向消費者的平臺型B2C網站逐漸被用戶接受。B2B平臺因其高技術門檻,逐漸演化成為兩種形式:一種是只做信息整合的B2B網站,另外一種是利用互聯網承載。邁克爾·波特在1985年提出的價值鏈概念,逐漸演變為供應鏈整合。所以我們看到當C端消費互聯網充分發展後,流量紅利消失殆盡,而B端企業和供應鏈企業的整合也就提到日程上來了。產業互聯網也被稱為消費互聯網之外的機會。

技術分享圖片

產業互聯網對整個國民經濟、產業格局、企業行為和產品服務都有深刻的影響,更關乎到中國的未來發展。從BAT的大舉進軍產業互聯網,我們看到新一輪的大幕正徐徐展開,那麽產業互聯網的本質是什麽?是效率效率還是效率。產業互聯網改造效率,才能在互聯網化的用戶體驗競爭裏取勝。

技術分享圖片

我們從IT基礎設施的發展變化中可看到效率提升的主線也特別明顯而清晰。從瀑布到敏捷到DevOps,開發效能在不斷提升;從單體應用到多層到微服務,應用架構在不斷解耦和細化;從物理機到虛擬機到容器,我們的部署效率在不斷提高;從傳統雲到混合雲多雲,雲在應用場景上不斷豐富,效能上不斷提高;從縱向擴展到橫向擴展到存儲即服務,存儲從集中式到分布式到靈活提供各類存儲服務,提升了性能也擴展了應用場景。

技術分享圖片

不只是基礎架構在快速的變革,我們的應用架構和交付也在發生變革。傳統應用在向雲原生應用快速發展和變革,把大型復雜軟件應用拆分成多個簡單應用,各應用之間松耦合,這樣降低了系統復雜度,還可以做到獨立發布部署、獨立擴展和跨語言編程,當然這一切的變化也將導致我們研發和運維各部門工作模式的轉變。

技術分享圖片

垂直應用架構:當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將應用拆成互不相幹的幾個應用,以提升效率。此時,用於加速前端頁面開發的Web框架(MVC)是關鍵。

分布式服務架構:當垂直應用越來越多,應用之間交互不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。此時,用於提高業務復用及整合的分布式服務框架(RPC)是關鍵。

流動計算架構:當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基於訪問壓力實時管理集群容量,提高集群利用率。此時,用於提高機器利用率的資源調度和治理中心(SOA)是關鍵。

微服務架構是互聯網很熱門的話題,是互聯網技術發展的必然結果。它提倡將單體應用程序劃分成一組若幹小的服務,服務之間互相協調、互相配合,為用戶提供最終價值。單體應用程序拆分成微服務後,服務治理是關鍵。每一個微服務都有自己的業務邏輯和適配器,還有自己的數據庫。通過統一的API接口進行調用,當然服務多了服務之間的依賴關系就會變得復雜,上萬個微服務不能只靠人手工來管理了,就需要服務能自動註冊自我發現,而且能通過全鏈路的監控去發現故障和問題,及時預警和容錯處理,來保障整個系統的穩健運行。當然企業裏的應用復雜,我們也希望微服務有統一的代碼框架,能支持多種編程語言。目前的Spring Cloud和Dubbo都支持的語言和開發框架有限,像華為的ServiceComb、騰訊的Tars等都在快速的崛起。

應用架構的變遷總體來說,從MVC到RPC到SOA到微服務,我們看到應用和服務的拆分、獨立部署,小團隊的敏捷開發快速叠代,這些都大大提升了效率,降低了應用的交付周期、使得應用運維的成本也大幅下降。

技術分享圖片

伴隨著容器和微服務的流行,雲原生這個詞越來越火。在雲的時代,未來企業的應用會更多的遷移到雲端,基於雲的架構設計和開發模式需要一套全新的理念去承載,於是雲原生思想應運而生。雲原生(Cloud Native)其實是一個不斷豐富的理念,更是一個思想的集合,它包括DevOps、持續交付(Continuous Delivery)、微服務(MicroServices)、敏捷基礎設施(Agile Infrastructure)等。Cloud Native既包含技術(微服務,敏捷基礎設施),也包含管理(DevOps,持續交付,技術運營、應用設計、安全風險管理等)。Cloud Native也可以說是一系列Cloud技術和企業管理方法的集合。

雲原生是根據雲的特點去設計更適合雲的應用,它專註於業務需求實現,把非業務需求之外的功能剝離出來下沈到底層的基礎設施,而雲則向上提供各種資源和能力,屏蔽復雜的底層細節,讓雲更簡單好用。

技術分享圖片

下面我們看一下雲原生的技術棧,引入了Serverless和Service Mesh。Serverless函數計算,一段代碼定義一個函數式服務,真正按需調用。應用拆分為成千上萬個微服務後,底層通信變得異常復雜,引入了服務間通信層就是 Service Mesh,它可以提供安全、快速、可靠的服務間通訊(service-to-service)。雲原生的應用可以運行在任何雲的基礎設施之上,不依賴於Linux或Windows等底層平臺,或依賴某個具體的雲平臺。也就是說,應用從開始就設計為運行在雲中,無論私有雲或公有雲;其次,該應用必須能滿足擴展性需求,垂直擴展(向上和向下)或水平擴展(跨節點服務器)。

除了這些之外,要發揮雲原生管理的固有優勢,還需引入智能化實現自助服務、自治管理。目前企業在上雲後,大多依靠“以人為本”的方式,憑借大量工作人員的個人能力和經驗、自覺來進行運維工作,這種將勞動密集型服務簡單粗暴的從傳統IT基礎設施轉移到雲上來,只能是市場體量較小、技術發展程度不高的現實條件下,采取的一種過渡方案。而通過引入智能化,實現服務自動發現、告警自動檢測、故障自治處理,改變這種傳統的服務方式下的效率低下、人力成本過高、手工運維過程中的誤操作,也會大大提高企業雲的可用性,日益擴大企業級的雲服務市場。

我們看到K8S快速崛起,並統一了容器編排系統,為雲原生應用提供了一站式的服務。Kunernetes的出色表現,則為運維工程師的工作模式帶來了顛覆性的改變。他們再也無需像照顧寵物那樣精心的照顧每一臺服務器,而當出問題時,直接將出問題的服務器換掉即可。有了業務高峰時,自動擴縮容以適應變化。業務開發工程師不必再過分關註非功能需求,只需專註自己的業務領域即可。而中間件開發工程師,則需要開發出健壯的雲原生中間件,用來連接業務應用與雲平臺。

技術分享圖片

技術和管理演變的總結:

技術:從系統向應用靠近,從功能向服務轉換,從單點向大規模集群調度和管理演進
管理:兩個轉變和一個轉型。操作中心向服務中心轉變,內部工具向協同平臺轉變,成本中心向經營中心轉型。
三、平臺的崛起

什麽是PAAS?

PaaS是一種雲服務,為用戶提供平臺,使得用戶能夠很方便地開發、運行和管理應用,而不用去構建和維護與開發和運行應用相關基礎設施。 -- 維基百科

PAAS服務目錄,能實現哪些統一服務供給和管理?
標準交付,PAAS能為我提供什麽服務?
全面掌控,如何提高資源利用率和管理效率,保障業務的穩健運行?
技術分享圖片

傳統PAAS的局限缺乏對微服務及分布式的支撐。

技術分享圖片

新一代的PAAS以Docker為基礎,在傳統PaaS功能基礎上,面向微服務使用場景,創建DevOps流水線,並集成不斷湧現的大數據和機器學習等服務,成為一站式應用交付平臺.

技術分享圖片

PAAS的整體架構包括開發測試相關功能組件和平臺管理、基礎架構功能組件,下面則是IAAS平臺。

企業中臺到底是個什麽鬼?

中臺戰略是阿裏提出的,它的由來很有意思,是阿裏高管2015年參觀世界上最成功的移動遊戲公司supercell,這是一家典型的小團隊模式進行開發的公司,可以最快的推出遊戲內測版,如不受歡迎,可以迅速的放棄這個產品再進行新的嘗試,期間幾乎沒有管理角色的介入,團隊失敗後,不但沒有懲罰,甚至會舉辦慶祝儀式,以慶祝他們從失敗中學到了東西。它的核心競爭力就在多年的遊戲研發中積累了非常科學的研發方法和體系,也就是中臺能力。

我們知道廠商開發的通用技術PaaS,裏面既不包含業務邏輯,也不包含業務數據,更不包含業務模型,那麽企業裏有眾多的應用都可以集成到PAAS裏麽?可以,但經年累月也可以造出來,但大而笨重,等造出來可能黃花菜都涼了。首先傳統企業研發能力都不強,依托第三方來造一個這麽大而全的厚重平臺真的不劃算,那麽中臺來了,利用中臺可以快速支持多產品團隊,對多產品團隊進行連接和賦能。申明一點,中臺,不是具體的應用,中臺的很多組件是可以被眾多的應用集成的。中臺分為業務中臺、數據中臺、技術中臺和組織中臺(點兵點將、排兵布陣),這裏數據中臺可以先行,組織中臺不可缺失。組織中臺要與業務、數據、技術中臺的變化匹配,才能釋放巨大的創造力,加速企業的發展和轉型。
技術分享圖片

企業雲平臺,服務是核心價值,以客戶為中心的理念非常重要。從雲計算的發展業態來看,雲服務提供者(如:AWS、阿裏雲)是最核心的角色,其強調的是服務,也正是這些服務帶來價值,所以企業雲計算的發展也需要企業雲服務提供者。
技術分享圖片

混合雲,是私有雲的延伸。混合雲的應用場景有:

跨國跨地域業務部署
關鍵數據的雲災備
全局的高可用性和性能需求
采用優勢的公有雲服務
性價比高的公有雲服務
業務的爆發場景
技術分享圖片

通過構建多雲,企業可以實現統一管理公有雲和私有雲、跨國跨區域的業務系統部署、關鍵數據的雲災備、應對短時的雲爆發業務需求、全局的高可用性和性能需求、各雲服務提供商的優勢/高性價比服務選擇、成本分攤及優化能力等。但多雲帶來的最大問題是服務異構,多活也意味著必然有大量數據同步,帶寬,時延,數據一致性方面都有很大挑戰,管理成本也會上去。所以可以優先考慮單朵雲內同城和異地建設,這樣基礎層面同構,可以更好地專註在業務容災和雙活建設上。

四、軟件定義未來

技術分享圖片

廠商自主可控,現在需要我們自己自主可控,實現的途徑就是自研軟件和走開源戰略。互聯網的快速發展還有雲的深入應用,促進了開源軟件的大發展。開源軟件的使用也提到了戰略高度。

開源軟件加快了企業研發的效能,更好滿足企業內部的軟件需求。

技術分享圖片

開源的使用策略:應用級、增強級、商業級

企業選擇了一項技術意味著將要承諾長期支持不斷發展的業務的解決方案,因此這需要仔細考慮觀望和選擇。如果一家企業判斷錯誤,往往會導致顯著提高開發成本和降低開發的靈活性,而這種不幸的結果也將會是持久的。通過開源,打造行業應用軟件產品,對自己的業務有益,同時功能完善後可對外輸出形成商業級產品。

在過去十年裏,企業采用開源軟件的趨勢在蓬勃發展,因為越來越多的企業發現開源解決方案擁有相當大的優勢,可延續他們專有的功能。除此之外,企業圍繞開源構建自主可控的生態也可實現可持續發展。開源軟件具有長期的可用性,比專有軟件的壽命更長。而且,由於有支持力強的社區在不斷引進創新,開源軟件始終處於技術發展的前列,並在促進企業未來發展的同時,快速滿足企業的需求。

技術分享圖片

開源構建的生態協同格局:生態不是硬建出來的,而是大家相互依存和合作,共生共創共贏自然而然形成的生態體系,這才是真正的生態,長久可持續發展的生態。

註:如需要文中的PPT資料,請私信給我你的郵箱

深入解讀雲計算的十年發展歷程