本文簡要介紹了雲原生架構的定義和個人對雲原生架構的理解。從業務角度看,雲原生是一種針對it資源的按需付費的商業模式;個人認為,雲原生架構應該包括兩大部分:雲原生平台和雲原生應用。
從技術角度看,雲原生分兩大部分,一部分是遵循微服務化和容器化原則的雲原生應用,另乙個部分是用於構建和執行雲原生應用的雲原生平台。
雲原生應用和雲原生平台,共同構成了乙個雲原生的完整體系,在這個體系上,可以實踐敏捷開發、devops、容器編排,微服務和容器化等理論和方法。
一種小規模團隊的、全棧式的開發方法,要求團隊具備快速響應變化,快速迭代開發的能力。
最佳實踐
開發和運維之間保持流程連續的協作方法,目標是快速、頻繁且更可靠地構建、測試和發布軟體。
最佳實踐
一種容器資源的管理方法,目標是管理容器集群和排程容器化應用。
最佳實踐
是將大型應用作為小型服務集合進行開發的架構方法,其中每個服務都可實現業務功能,在自己的流程中執行並通過 http api 進行通訊。每個微服務都可以獨立於其它服務進行部署、公升級、擴充套件和重新啟動,通常作為自動化系統的一部分執行,可以在不影響最終客戶的情況下頻繁更新正在使用中的應用。
最佳實踐
與虛擬機器相比,容器能同時提供更好的效率和啟動速度。每個容器都具有唯一的可寫檔案系統和資源配額。建立和刪除容器的開銷較低,在單個虛擬機器上能通過容器化充分利用物力資源,這使的容器成為部署微服務的完美工具。
最佳實踐
雲原生應用
傳統應用
可**。 雲原生應用符合旨在通過可**行為最大限度提高彈性的框架或「合同」。
不可**。 通常構建時間更長,大批量發布,只能逐漸擴充套件,並且會發生更多的單點故障
作業系統抽象化。
依賴作業系統。
資源排程有彈性。
資源冗餘較多,缺乏擴充套件能力
團隊借助devops更容易達成協作。
部門牆導致團隊彼此孤立。
敏捷開發。
瀑布式開發。
微服務各自獨立,高內聚,低耦合。
單體服務耦合嚴重。
自動化運維能力。
手動運維。
快速恢復。
恢復緩慢。
什麼是雲原生?
雲原生從字面意思上來看可以分成雲和原生兩個部分。雲是和本地相對的,傳統的應用必須跑在本地伺服器上,現在流行的應用都跑在雲端,雲包含了iaas,paas和saas。原生就是土生土長的意思,我們在開始設計應用的時候就考慮到應用將來是執行雲環境裡面的,要充分利用雲資源的優點,比如 雲服務的彈性和分布式優勢...
什麼是雲原生?
近幾年,雲原生成為了軟體行業的驅動力。這是一種構建大型複雜系統的新方式,也是一種充分利用現代軟體開發實踐 技術和雲基礎架構的方法,這個方法改變了設計 實施 部署 系統運作的方式。雲原生系統被設計為擁抱快速變化的業務,應對大規模和彈性架構。雲原生 會提供的官方定義 雲原生技術能夠讓團隊在現代 動態環境...
什麼是雲原生Cloud Native
2010年5月,wso2的cto paul premantle在部落格中首次提出了雲原生 cloud native 的概念。2013年,netflix的雲架構師adrian cockcroft在yow會議上介紹了netflix基於cloud native的成功應用實踐。同在2013年,pivotal...