什么是雲原生?


近幾年,雲原生成為了軟件行業的驅動力。

這是一種構建大型復雜系統的新方式,也是一種充分利用現代軟件開發實踐、技術和雲基礎架構的方法,這個方法改變了設計、實施、部署、系統運作的方式。

雲原生系統被設計為擁抱快速變化的業務,應對大規模和彈性架構

雲原生基金會提供的官方定義:

雲原生技術能夠讓團隊在現代、動態環境(如公共、私有和混合雲)中構建和運行可伸縮的應用程序,容器、服務網格、微服務、不可變基礎設施和聲明性api實現了這個方法。

這些技術使松散耦合的系統具備彈性伸縮能力、可管理性和可觀測性。結合健壯的自動化技術,使得工程師可以最小的工作量進行頻繁且可預測的迭代。

用戶的需求越來越多,應用程序也變得越來越復雜。用戶期望需求可以得到快速響應、增加創新性功能和零停機時間。

雲原生關注速度和敏捷性,可以讓業務系統從“開發出業務功能”演變為“加速業務速度和增長”的戰略轉型武器。

這是一些實施了這些技術的公司。考慮一下他們已經實現的速度、敏捷性和可伸縮性。

公司 生產實踐
Netflix 在生產中提供600多種服務。每天部署一百次。
Uber 在生產中有1,000多種服務。每周部署數千次。
微信 擁有3,000多種生產服務。每天部署1,000次

如您所見,Netflix,Uber和微信公開了由數百個獨立微服務組成的系統。這種架構風格使他們能夠快速響應市場狀況。他們可以做到實時更新復雜應用程序中的部分區域,並根據需要分別縮放這些區域。

雲原生的速度和敏捷性來自多種因素。

首先是雲基礎設施,圖中顯示的另外五個基礎支柱也為雲原生系統提供了支撐。

雲原生基礎設施

雲原生系統充分利用了雲服務模型。

雲原生系統旨在在動態、虛擬化雲環境中蓬勃發展,廣泛使用平台即服務(PaaS)計算設施和托管服務。

他們將基礎設施視為一次性的:只需幾分鍾即可配置,並通過自動化按需調整大小、縮放、移動或銷毀。

人們習慣以“寵物與牲畜”來闡述Devops理念。

  • 寵物服務模型

在寵物服務模型中,服務實例被認作是寵物,每個寵物都有一個獨特的名字,例如宙斯,戰神,哈德斯,波塞冬和雅典娜。他們“獨特,並得到刻意的關注,當他們生病時,你會讓他們恢復健康”。你可以通過增大它們的體型來擴大規模,當有寵物生病時,每個人都會關注到。
寵物服務器的示例包括大型機,單獨的服務器,負載平衡器和防火牆,數據庫系統等。

  • 牲畜服務模型

牲畜模型將每個服務實例配置為虛擬機或容器。它們是相同的,並分配了系統標識符,例如Service-01,Service-02等。您可以通過創建更多"擴展實例"來進行擴展。當一個牲畜不可用時,不會有人關注到。
牲畜模型的例子包括Web服務器陣列,no-sql集群,消息隊列集群,搜索集群,緩存反向代理集群,大數據集群等。

牲畜模型信奉不可變基礎設施: 服務實例不會被修復也不會被修改,如果一個服務器掛了或需要更新,則通過自動化手動將其銷毀並提供新的服務實例。

雲原生系統采用牲畜服務模型。隨着基礎設施伸縮而持續運行,與它們所運行的計算機無關。

Ref

這是一個翻譯專欄,后面會意譯雲原生另外的[五個基礎支柱], 請持續關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM