從資源上云到應用上云,云原生下一步會怎樣發(fā)展?

互聯(lián)網(wǎng)應用的特征是需求持續(xù)發(fā)展,產品化而非項目制,用戶量并非線性,往往會有陡增陡降。應用架構多是SOA架構,集成方式一般通過ESB等應用集成平臺。

本文來自微信公眾號“twt企業(yè)IT社區(qū)”,作者/鄭金輝。

援引某廠商的說法,云原生已經進入2.0時代,上云也從資源上云進一步向應用上云和業(yè)務上云升級,推動企業(yè)數(shù)字化轉型和智能升級。還有一個形象的說法可以概括上述觀點,云原生讓企業(yè)云化從“ON Cloud”走向“IN Cloud”。

一、緣起應用架構演進

我們都知道,商業(yè)模式決定了產品形態(tài),產品決定了研發(fā)模式,研發(fā)模式又決定了需要采用什么樣的技術??v觀這些年企業(yè)應用架構的發(fā)展,我們經歷了傳統(tǒng)應用時代、互聯(lián)網(wǎng)應用時代和數(shù)字化轉型應用時代,所處的時代不同引發(fā)的需求也不同,由此帶來對技術的要求自然也不同。

傳統(tǒng)的應用需求是相對固定的,通常以項目化運作,用戶的訪問量可以預測,容量是有限的,對停開機的要求也沒有那么嚴格。所對應的應用架構一般是單體應用和垂直架構,集成方式也多是直連模式或者網(wǎng)狀集成。

互聯(lián)網(wǎng)應用的特征是需求持續(xù)發(fā)展,產品化而非項目制,用戶量并非線性,往往會有陡增陡降。應用架構多是SOA架構,集成方式一般通過ESB等應用集成平臺。

處在這樣一個數(shù)字化轉型的時代,我們的業(yè)務邊界和業(yè)務活動是完全不可預知的,即便是對于互聯(lián)公司都是巨大的挑戰(zhàn),要求快速地嘗試、快速探測、快速的感知,應用是服務化的方式提供,業(yè)務敏捷性前提之下,對技術體系的持續(xù)發(fā)布、分布式海量并發(fā)、灰度發(fā)布和線上測試都是基本訴求。業(yè)務的敏捷性持續(xù)發(fā)布,應用平臺的彈性訴求,商業(yè)環(huán)境的變化,這是整個云原生產生的時代背景。

二、微服務是一個躲不開的話題

首先,我們需要再次明確一個概念。微服務,不是一種技術而是一種軟件架構模式和方法,是一種基于將應用程序構建為小型服務集合的軟件開發(fā)體系結構方法。從某種程度上說,微服務是單體應用的對立面。從本質上來講,微服務就是把單體應用從一個巨型的應用拆分成數(shù)個更微小的服務,協(xié)作完成原來單體應用所提供的等效業(yè)務服務。單體應用跟資源之間是一對一的緊耦合關系,單體應用的協(xié)同也都是一些內部協(xié)同,不存在外部的動態(tài)依賴。而當我們轉換到微服務之后,服務與服務之間會有依賴關系,依賴關系會變成網(wǎng)狀,變得復雜起來。

容器化的出現(xiàn),一定程度上帶動了微服務架構。架構演化從單體式應用到分布式,再從分布式架構到云原生架構,微服務在其中有著不可或缺的角色。

微服務體系和云原生架構的組成部分有各自的部分,也有重疊的部分。

首先,微服務體系會涉及業(yè)務體系部分,從業(yè)務需求出發(fā),采用DDD等理念搭建微服務的業(yè)務模型,這部分其實并不在云原生架構體系里面。

同樣,云原生是構建在新型基礎設施上面的,所謂新型基礎設施是結合了分布式云和不可變原則的,微服務更強調外部依賴,并不涉及基礎設施部分。

微服務跟云原生共同關注的內容,其實是技術體系和管理體系兩部分,其中技術體系主要是涉及微服務技術架構、集成工具,,面向云原生更多強調云平臺和和容器化能力。管理體系更關注從業(yè)務角度如何支撐和獲取管理支持,比如研發(fā)過程中的敏捷、研發(fā)規(guī)范和度量,運維過程的CICD等。

從微服務架構的思想出發(fā),微服務架構、DevOps和容器技術天然地走到了一塊兒,構成了云原生應用架構的雛形。

三、云原生的基本理解

1、基本概念

云原生從字面意思上來看可以分成云和原生兩個部分。云原生的定義,CNCF是這樣說的,“云原生技術有利于各組織在公有云、私有云和混合云等新型動態(tài)環(huán)境中,構建和運行可彈性擴展的應用。云原生的代表技術包括容器、服務網(wǎng)格、微服務、不可變基礎設施和聲明式API。這些技術能夠構建容錯性好、易于管理和便于觀察的松耦合系統(tǒng)。結合可靠的自動化手段,云原生技術使工程師能夠輕松地對系統(tǒng)作出頻繁和可預測的重大變更。”

2、基本特征

CNCF給出了云原生應用的三大特征:

容器化封裝:以容器為基礎,提高整體開發(fā)水平,形成代碼和組件重用,簡化云原生應用程序的維護。在容器中運行應用程序和進程,并作為應用程序部署的獨立單元,實現(xiàn)高水平資源隔離。

動態(tài)管理:通過集中式的編排調度系統(tǒng)來動態(tài)的管理和調度。

面向微服務:明確服務間的依賴,互相解耦。

云原生包含了一組應用的模式,用于幫助企業(yè)快速,持續(xù),可靠,規(guī)模化地交付業(yè)務軟件。云原生由微服務架構,DevOps和以容器為代表的敏捷基礎架構組成。

我們可以簡單地把云原生理解為:云原生=微服務+DevOps+持續(xù)交付+容器化。

3、演進發(fā)展

云原生自誕生依賴,已經度過了概念炒作的階段,進入架構落地階段,出現(xiàn)了云原生2.0的概念。云原生1.0與2.0最大的區(qū)別在于,1.0的云原生是ON Cloud,即把容器、微服務、DevOps等云原生的特征堆砌到云上。這樣的做法雖然實現(xiàn)了彈性、敏捷等,但還僅僅是解決了基礎設施架構層的問題,是以資源為核心,并未實現(xiàn)資源效率的最大化、最優(yōu)解。

而云原生2.0則是IN Cloud,是以應用為中心。除了具備云原生1.0的容器、微服務、DevOps等特征外,更強調對資源的配備。

從現(xiàn)在基礎設施的發(fā)展情況來看,我們正在從以資源為中心的資源上云階段向以應用為核心的應用上云階段演進,關注點從資源云化向應用云化滲透。第一階段,我們關注的是以資源自動化為目標的資源融合管理。第二階段,我們關注的是以應用自動化為目標的應用敏捷管理。

相對概念階段的云原生以及資源上云來說,云原生2.0的關注點有了以下變化:

高效的資源管理與調度:基于軟硬件協(xié)同構建多元算力,為應用提供極致的覆蓋邏輯、虛擬機、容器、函數(shù)等在內的多元算力;基于邊云協(xié)同和分布式云架構,實現(xiàn)多云算力的縱向融合和橫向聯(lián)動,形成分布式泛在算力平臺;以應用為中心,實現(xiàn)資源的高效管理、調度和編排,實現(xiàn)一鍵部署、一建管理和智能感知。

敏捷的應用交付與管理:通過創(chuàng)新應用開發(fā)模式,進一步實現(xiàn)應用的敏捷交付和應用的全生命周期管理,通過侵入式和非侵入式兩種模式助力企業(yè)應用架構升級。

智能的業(yè)務支撐與開放:主要是如何做好數(shù)據(jù)匯聚融合和數(shù)據(jù)運營,推動數(shù)據(jù)資產化、數(shù)據(jù)業(yè)務化和業(yè)務數(shù)據(jù)化,借助AI等新技術,實現(xiàn)數(shù)據(jù)對業(yè)務的二次賦能,實現(xiàn)業(yè)務的智能升級。

完善的安全可信與合規(guī):借助云原生對基礎資源的融合納管,在基礎資源和基礎設施安全的基礎上,進一步打造應用、數(shù)據(jù)和業(yè)務安全。

四、可以預見的云原生發(fā)展趨勢

之前我曾經說過一個觀點,云下一步發(fā)展的目標就是讓上層應用和業(yè)務意識不到云的存在。云原生的下一步發(fā)展就是朝這個方向發(fā)展。云原生將與分布式云深度融合,在充分考慮成本優(yōu)化和組織優(yōu)化的基礎上,推動全棧云延伸到業(yè)務的每個角落。

現(xiàn)有云原生的基礎設施,基本處在簡單堆砌和簡單疊加的狀態(tài),基于應用狀態(tài)的資源動態(tài)感知和自動供給尚處于比較困難的階段,不是普通用戶能夠企及的。云原生的下一步發(fā)展目標就是提升軟硬件協(xié)同的效率和資源利用率,實現(xiàn)普通客戶觸手可達的資源與應用狀態(tài)的相互感知,以及基于復雜的資源調度和編排。

異構的技術棧,在相當長一段時間將持續(xù)存在,微服務治理將會是企業(yè)應用架構治理的重要工作。Serverless也將持續(xù)釋放其價值和活力,在頭部企業(yè)逐步擴大示范效應。

雖然以應用為核心的云原生架構發(fā)展會越來越迅猛,但是我們依然要保持清醒的頭腦,無論何種架構何種技術,最終目的都是以實現(xiàn)業(yè)務高效支撐為目的。所以我們依然認為,持續(xù)打造以戰(zhàn)略為指引,以需求為核心的企業(yè)架構,是一項長期的根本任務。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論