地址:北京市密云區(qū)高嶺鎮(zhèn)政府辦公樓
王經(jīng)理 13393261468
Q Q:514468705/1049705527
郵箱:jhcxkj@163.com
很多企業(yè)開(kāi)始了其數(shù)字化轉(zhuǎn)型之旅,并想知道什么是云原生以及為什么需要它?行業(yè)媒體發(fā)布了一篇名為"走向云原生:人們需要知道的6個(gè)基本內(nèi)容(Going Cloud Native:6 Essential Things You Need to Know)"的文章,討論了解術(shù)語(yǔ)"云原生"的關(guān)鍵方法,并描述了如何利用云原生功能來(lái)加快開(kāi)發(fā)團(tuán)隊(duì)的工作效率,并提高企業(yè)的創(chuàng)新能力。
云原生簡(jiǎn)史 根據(jù)用戶的要求,云原生可能意味著很多不同的事情。十年前,這是由Netflix公司創(chuàng)造的術(shù)語(yǔ),這個(gè)公司利用云計(jì)算技術(shù),從一家DVD光盤(pán)郵購(gòu)公司發(fā)展到全球最大的按需消費(fèi)內(nèi)容網(wǎng)絡(luò)交付商之一。Netflix公司開(kāi)創(chuàng)了人們稱之為"云原生"的先河,對(duì)于云計(jì)算軟件進(jìn)行重新設(shè)計(jì)、轉(zhuǎn)換、擴(kuò)展。
由于Netflix公司獲得了驚人的成功,并且能夠更快地為客戶提供更多功能,很多企業(yè)希望知道他們?nèi)绾尾捎迷圃夹g(shù)以獲得如此巨大的競(jìng)爭(zhēng)優(yōu)勢(shì)。
從本質(zhì)上講,云原生是一種提高業(yè)務(wù)速度的方法,也是一種構(gòu)建團(tuán)隊(duì)的方法,可以利用Kubernetes和容器等云原生技術(shù)提供自動(dòng)化和可擴(kuò)展性。
云原生架構(gòu):它是什么樣子的?
(1)單片架構(gòu)與微服務(wù)架構(gòu) Netflix公司前云計(jì)算架構(gòu)師Adrian Cockcroft在錯(cuò)誤進(jìn)行了一次災(zāi)難性發(fā)布之后,該公司將他們的整體架構(gòu)從單片架構(gòu)轉(zhuǎn)移到微服務(wù)架構(gòu)。
單片架構(gòu)的問(wèn)題是,當(dāng)開(kāi)發(fā)和測(cè)試新特性時(shí),要將這些更改部署到生產(chǎn)環(huán)境中,需要付出相當(dāng)大的努力:
需要多個(gè)團(tuán)隊(duì)來(lái)協(xié)調(diào)他們的代碼更改。
同時(shí)部署多個(gè)功能需要大量的前期集成和功能測(cè)試。
開(kāi)發(fā)團(tuán)隊(duì)僅限使用一種或兩種語(yǔ)言。
向微服務(wù)的轉(zhuǎn)變使Netflix公司開(kāi)發(fā)人員能夠更快地向客戶提供新功能。
微服務(wù)產(chǎn)生了一個(gè)具有有界場(chǎng)景、松散耦合的、面向服務(wù)的架構(gòu)。這意味著,如果必須同時(shí)更新每個(gè)服務(wù),那么它不會(huì)松散耦合;并且沿著相同的線路,如果用戶對(duì)于周?chē)姆?wù)需要進(jìn)行更多的了解,那么就沒(méi)有"有界場(chǎng)景"。
(2)微服務(wù)、Docker和Kubernetes Docker容器非常適合微服務(wù)。通過(guò)在單獨(dú)的容器中運(yùn)行微服務(wù),如果愿意的話,它們都可以獨(dú)立部署,甚至可以使用不同的語(yǔ)言。容器化消除了語(yǔ)言、庫(kù)或框架之間產(chǎn)生摩擦或沖突的風(fēng)險(xiǎn)。由于容器是可遷移的,并且可以彼此隔離地操作,因此使用容器創(chuàng)建微服務(wù)架構(gòu)并在需要時(shí)將其遷移到另一個(gè)環(huán)境非常簡(jiǎn)單。
(3)容器編排 一旦有大量的微服務(wù)在Docker容器中運(yùn)行,企業(yè)就需要一種方法來(lái)管理或協(xié)調(diào)這些容器,以便它們作為應(yīng)用程序更有意義。這就是企業(yè)需要一個(gè)協(xié)調(diào)器(集群管理器)的地方,比如Kubernetes、Docker Swarm等。
在過(guò)去的一段時(shí)間里,企業(yè)必須做出一個(gè)明智的選擇,選擇使用哪一個(gè)容器編排。谷歌公司發(fā)布的Kubernetes則名列前茅。所有主要云計(jì)算提供商都通過(guò)易于安裝的解決方案為Kubernetes提供支持。
這個(gè)討論的要點(diǎn)是,為了讓大多數(shù)公司具有競(jìng)爭(zhēng)力,他們必須圍繞微服務(wù)構(gòu)建應(yīng)用程序,并在Kubernetes集群中運(yùn)行它們,盡管有些公司也在其他編排器上運(yùn)行Docker容器。
(4)自動(dòng)部署 隨著應(yīng)用程序在容器中運(yùn)行并在Kubernetes中進(jìn)行協(xié)調(diào),下一步是自動(dòng)部署。持續(xù)自動(dòng)化的功能流是DevOps與其他軟件開(kāi)發(fā)理念和實(shí)踐(如瀑布模型)的區(qū)別,后者的開(kāi)發(fā)將遵循有序的階段序列。
連續(xù)性并不意味著工程師們正在無(wú)時(shí)不刻地更新代碼,或者他們?cè)诿看未a行更改時(shí)都在部署更新。從這個(gè)意義上說(shuō),連續(xù)性是指通過(guò)自動(dòng)化的連續(xù)集成和持續(xù)部署管道(CI/CD)定期推出的軟件更改和新功能。
可以在構(gòu)建持續(xù)交付管道中找到更多用于構(gòu)建持續(xù)部署管道(CI/CD)的DevOps策略。
(5)監(jiān)控應(yīng)用程序和微服務(wù) 使用容器和微服務(wù),監(jiān)控解決方案必須管理比以往更多的服務(wù)和服務(wù)器。不僅需要管理更多對(duì)象,而且云原生應(yīng)用程序還會(huì)生成大量需要跟蹤的額外數(shù)據(jù)。
從由如此多的移動(dòng)部件組成的環(huán)境中收集數(shù)據(jù)是復(fù)雜的。Prometheus是這些動(dòng)態(tài)云環(huán)境的最佳現(xiàn)代解決方案。它專(zhuān)門(mén)用于監(jiān)控大規(guī)模容器中運(yùn)行的應(yīng)用程序和微服務(wù),并且是原生的容器化環(huán)境。
(6)文化變遷 將云原生技術(shù)和DevOps最佳實(shí)踐實(shí)施到組織中的成功在很大程度上取決于其現(xiàn)有的公司文化。內(nèi)部團(tuán)隊(duì)不僅要學(xué)會(huì)采用跨功能方法,確保軟件以連續(xù)的節(jié)奏進(jìn)行迭代,而且還要補(bǔ)充組織的業(yè)務(wù)目標(biāo)。實(shí)際切換到云原生可能是其旅程中最簡(jiǎn)單的部分;讓這些更改保持不變,并在整個(gè)組織中傳播它們很可能是流程中最困難的部分。
來(lái)源:精密空調(diào) http://mygoldentreasures.com