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




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


使大型的復(fù)雜應(yīng)用程序可以持續(xù)交付和持續(xù)部署
每個(gè)服務(wù)都相對(duì)較小并容易維護(hù)
服務(wù)可以獨(dú)立部署
服務(wù)可以獨(dú)立擴(kuò)展
微服務(wù)架構(gòu)可以實(shí)現(xiàn)團(tuán)隊(duì)的自治
更容易實(shí)驗(yàn)和采納新的技術(shù)
更好的容錯(cuò)性

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



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

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

程序猿 996 的真實(shí)生活!

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