就煩別人問我到底什么是云原生?




應用容器化
面向微服務架構(gòu)
應用支持容器的編排調(diào)度


使大型的復雜應用程序可以持續(xù)交付和持續(xù)部署
每個服務都相對較小并容易維護
服務可以獨立部署
服務可以獨立擴展
微服務架構(gòu)可以實現(xiàn)團隊的自治
更容易實驗和采納新的技術
更好的容錯性

應用程序間通訊的中間層
輕量級網(wǎng)絡代理
應用程序無感知
解耦應用程序的重試/超時、監(jiān)控、追蹤和服務發(fā)現(xiàn)



Automation & Configuration:用于自動化部署和配置容器運行平臺和環(huán)境,代表工具和廠商包括Ansible、Chef、Puppet、VMware以及OpenStack。
容器鏡像庫:容器鏡像庫是整個CNCF云原生中的核心部件之一,因為基于容器的運行環(huán)境中,所有的應用都需要借助容器鏡像庫來進行安裝和部署。容器鏡像庫又分為公有和私有,公有的容器鏡像庫包括docker官方的registry,AWS的Elastic Container Registry,Google的Container Registry等。在私有鏡像庫中,VMware中國團隊主導的Harbor得到了廣泛的應用,大量的容器平臺目前都基于Harbor構(gòu)建其鏡像倉庫。
Security & Compliance:Notary和TUF(The Upgrade Framework)是這個領域兩個主要的項目,其中TUF是一個開源的安全標準,Notary是其中一個實現(xiàn)。Notary軟件除了確保軟件的出處外,它還能保證在未經(jīng)容器鏡像提供者批準的情況下,不會在鏡像供應鏈的任何地方修改鏡像內(nèi)的內(nèi)容,從而確保從開發(fā)到運營的過程中,安全都被無縫統(tǒng)一地嵌入到整個工作流中。
Key Management:主要用于在整個容器平臺中進行秘鑰管理。
Container Runtime:Docker是最廣為人知的容器運行環(huán)境,但生產(chǎn)環(huán)境下也有一些其他的容器環(huán)境在運行。Containerd是滿足OCI規(guī)范的核心容器運行時,從設計上就是為了嵌入大型系統(tǒng)的。它由Docker Inc公司啟動,并且在2017年3月份捐贈給了CNCF。此外,CoreOS的RKT是一個用于在Linux上運行應用程序容器的CLI,也可以作為安全、可組合和基于標準的容器虛擬化運行環(huán)境。
Cloud-Native Storage:起初,容器為無狀態(tài)的運行單元,容器最上一層文件系統(tǒng)無法保存其在運行時寫入的文件或數(shù)據(jù),容器重建或重啟后,這些寫入的數(shù)據(jù)將丟失。但隨著數(shù)據(jù)庫、消息隊列等中間件逐步在容器環(huán)境中得到應用,如今用戶對容器持久化存儲的理解和需求也更加深入和迫切。
Cloud-Native Network:網(wǎng)絡歷來是虛擬化技術中最靈活多變的部分,目前,大多數(shù)客戶使用的主要包括Calico、Flannel、Open vSwitch等方案。
計劃與編排:在這個領域,Kubernetes是當仁不讓的頭號玩家,目前基于Kubernetes的容器生態(tài)得到了迅速發(fā)展。其它的編排工具還包括Mesos和Docker Swarm等。
協(xié)調(diào)與服務發(fā)現(xiàn):分布式計算中很重要的一點就是各個服務之間的協(xié)同以及服務發(fā)現(xiàn)(或節(jié)點發(fā)現(xiàn)的問題),從老牌的ZooKeeper到近年來在很多互聯(lián)網(wǎng)廠商和應用中流行的Consul(Docker Swarm默認使用),都可以用于分布式服務的發(fā)現(xiàn)和配置,Kubernetes默認使用的則是CoreOS旗下的etcd。
遠程過程調(diào)用:微服務間進行通信,通常有兩種方式,一種是HTTP REST-JSON的方式,另一種為RPC方式,兩者相比,RPC方式效率更高。常用的包括Google開源的GRPC、Apache旗下的Thrift框架、Netflix開源的自帶負載均衡的Ribbon和Avra數(shù)據(jù)序列化框架。

CNCF云原生定義1.0,github.com/cncf/toc/blob/main/DEFINITION.md
遷移到云原生應用架構(gòu),Matt Stine著,Jimmy Song譯,jimmysong.io/migrating-to-cloud-native-application-architectures
云原生全景圖,landscape.cncf.io
CNCN landscape 項目,github.com/cncf/landscape
持續(xù)演進的Cloud Native - 云原生架構(gòu)下微服務最佳實踐,王啟軍,電子工業(yè)出版社
暢談云原生,敖小劍,skyao.io/talk/201902-cloudnative-freely-talk
Service Mesh發(fā)展趨勢:云原生中流砥柱,敖小劍,skyao.io/talk/201905-servicemesh-development-trend
不可變基礎設施,cloud.tencent.com/developer/news/329406
云原生技術詳解,www.cnblogs.com/sddai/p/13726935.html
什么是服務網(wǎng)格,jimmysong.io/istio-handbook/concepts/what-is-service-mesh.html
什么是服務網(wǎng)格,http://www.redhat.com/zh/topics/microservices/what-is-a-service-mesh
運維的思維升級-不可變基礎設施,wangkai1994.github.io/2019/01/12/Immutable-Infrastructure

程序猿 996 的真實生活!

36歲程序員應聘被拒引熱議,網(wǎng)友怒了!
