導讀:Cloud Native:云原生。我們今天一起來聊一下,到底什么是云原生?以及這個領域的一些發(fā)展方向。此文來自陳耿老師的視頻文字整理。(視頻見文末)
作者:陳耿
來源:大數(shù)據(jù)DT(ID:hzdashuju)
01 什么是云原生
到底什么是云原生?不同的企業(yè)對于云原生有不同的解釋,當前在業(yè)界具有廣泛影響力的云原生計算基金會(Cloud Native Computing Foundation, CNCF)認為,云原生是一類技術(shù)的統(tǒng)稱,通過云原生技術(shù),我們可以構(gòu)建出更易于彈性擴展的應用程序。
這些應用可以被運行在不同的環(huán)境當中,比如說私有云、公有云、混合云、還有多云的場景。
云原生到底包含了哪些具體的技術(shù)呢?它包含了當前業(yè)界的一些熱門的技術(shù),比如容器、微服務、服務網(wǎng)格、Serverless、DevOps,API管理、不可變基礎架構(gòu)等。
通過云原生技術(shù)構(gòu)建出來的應用程序,稱之為云原生應用,底層基礎架構(gòu)的耦合比較輕,因此易于遷移,它可以充分地利用云所提供的能力,因此云原生應用的開發(fā)、部署、管理相對于傳統(tǒng)的應用程序更加高效和便捷。
02 云原生計算基金會(CloudNative Computing Foundation, CNCF)
云原生計算基金會(Cloud Native ComputingFoundation, CNCF)成立與2015年12月11日,由谷歌與Linux基金會聯(lián)合創(chuàng)辦,成立這個非盈利組織的初衷為推廣孵化和標準化云原生相關的技術(shù):
推動云原生計算可持續(xù)發(fā)展;
幫助云原生技術(shù)開發(fā)人員快速地構(gòu)建出色的產(chǎn)品。
CNCF成立最初只有十多家創(chuàng)始成員,包含谷歌、IBM、Red Hat、VMware……經(jīng)過幾年的發(fā)展,目前CNCF已經(jīng)有超過300個會員,涵蓋國內(nèi)外的知名IT廠商,包括微軟、亞馬遜、蘋果、阿里巴巴、華為等,發(fā)展地十分迅速。
云原生涉及到許多技術(shù)領域,每一個技術(shù)領域都有相應的工具、框架與平臺,來幫助落地具體的應用。
CNCF維護了一個云原生技術(shù)全景圖,在其中收集了和云原生技術(shù)相關的工具、平臺和項目,全景圖的內(nèi)容十分豐富,可謂種類繁多、琳瑯滿目。通過這個云原生全景圖可以快速地了解到每一個技術(shù)領域當中流行的工具。
03 云原生的作用
對于應用開發(fā)團隊而言,原來云原生技術(shù)可以提升應用開發(fā)的效率,提升應用交付的質(zhì)量。比如通過容器,技術(shù)開發(fā)團隊可以更容易地獲取開發(fā)所需要的環(huán)境與資源,開發(fā)出來的應用可以被運維團隊更容易地部署和管理。通過DevOps的最佳實踐,應用交付的速度和質(zhì)量可以被有效的提升。
對于業(yè)務方來說,云原生的好處是所提交的需求,可以更快地被響應和實現(xiàn)。因為云原生技術(shù)可以有效地縮短應用交付的周期,讓需求更快地變成代碼,代碼更快地變成線上的應用,最終為用戶服務,實現(xiàn)價值。
云原生應用可以更好地彈性擴展,滿足不同業(yè)務的需求。例如容器應用提供的應用自愈能力,可以幫助減少應用的停機時間提升用戶的體驗。
云原生技術(shù)可以提升應用開發(fā)的交付效率,縮短應用上線所需要的時間,開發(fā)和業(yè)務團隊人員可以有更多的時間和精力進行業(yè)務創(chuàng)新,有效地提升團隊的創(chuàng)新能力,從而提升企業(yè)在市場的競爭能力。
04 如何擁抱云原生技術(shù)
經(jīng)過幾年的發(fā)展,云原生這個概念已經(jīng)得到了社區(qū)、企業(yè)和市場的廣泛認可。從當前比較熱門的云原生技術(shù)、容器來看,云原生已經(jīng)在眾多行業(yè)和領域,有了許多落地的案例,包括高科技、金融、制造、零售、教育、政府,甚至是軍事等。
近日有報道稱美軍在f16戰(zhàn)斗機上,成功地測試和部署了容器管理平臺Kubernetes和服務網(wǎng)格Istio。
當一個企業(yè)擁抱云原生技術(shù),具體要在什么方面來落實?CNCF有一個建議的技術(shù)路線圖。這個圖上列出了10個方面,比如說通過應用容器化,使得應用更易于遷移的交付,通過持續(xù)集成的區(qū)域部署提升云原生軟件的質(zhì)量,通過容器編排簡化應用的部署。
05 云原生適合大企業(yè)還是小企業(yè)
大企業(yè)疑問,云原生是不是只適合一些小企業(yè)?小企業(yè)覺得云原生是不是只適合成熟的大企業(yè)?其實云原生對大企業(yè)、小企業(yè)都有幫助。
對于有著數(shù)字化轉(zhuǎn)型戰(zhàn)略和上云計劃的大企業(yè)來說,云原生可以充分地利用云的優(yōu)勢,讓企業(yè)在云上的投資獲得最大的收益。
對于較小企業(yè)來說,通過云可以獲取以往只有大企業(yè)才擁有的計算資源,小企業(yè)由于人員、財力等資源相對緊張,通過云原生技術(shù)倡導自動化和智能化的想法,可以提升產(chǎn)品開發(fā)的交付效率,把有限的精力放在核心業(yè)務的創(chuàng)新上,可以讓企業(yè)更具競爭能力。
云原生涉及的技術(shù)領域眾多,有6個方面值得大家重點關注。
1. 容器(Containers)
容器是一種輕量級的虛擬化技術(shù),通過容器可以簡化應用的部署、管理和交付。目前各大IT廠商已經(jīng)投入了大量的資源進行容器產(chǎn)品和服務的研發(fā),可以預見,未來容器將會是一種主流的應用交互手段,非常有前景。
2. 微服務(Microservices)
微服務倡導運用化整為零,實現(xiàn)各個功能的獨立開發(fā)與部署、提升應用架構(gòu)的靈活性,從而提升對業(yè)務的響應速度。在提倡敏捷的今天,微服務已經(jīng)成為應用架構(gòu)的一種默認的選擇。
3. 無服務(Serverless)
無服務器架構(gòu)并不是說,未來不再需要服務器,而是不再著重關注底層的基礎架構(gòu),更多的注意力可以放在和業(yè)務更相關的一些邏輯實現(xiàn)上,例如一些函數(shù)的代碼片段,平臺自動根據(jù)負載按需部署和啟動,以及自動伸縮代碼邏輯來滿足業(yè)務處理的需求。
4. DevOps
DevOps這個框什么都可以往里裝,提供了指導思想、流程和工具,為應用的迭代更新保駕護航,運維行業(yè)的未來之路。
5. Service Mesh(服務網(wǎng)格)
Service Mesh是近年興起的一個話題,在容器微服務的基礎上,通過Service Mesh可以讓用戶更精細、更智能的去管理服務之間的通訊。ServiceMesh社區(qū)的旗艦項目Istio,當前的熱度正在迅速的飆升。
6. 云(Cloud)
云是云原生的基礎,沒有云也就沒有云原生。沒有對云正確地理解,也不可能對云原生有正確的打開方式。對于非技術(shù)人員來說,至少要理解云的多種不同的服務模型,比方IaaS、PaaS、SaaS以及各種服務模型的應用場景和價值。
容器(Containers)、微服務(Microservices)、無服務(Serverless)、DevOps、ServiceMesh(服務網(wǎng)格)、云(Cloud)這6個方面,并不是孤立的,而是相互聯(lián)系的。
云是一切的基礎,為上層應用的運行提供了計算、網(wǎng)絡、存儲等基礎架構(gòu)資源;
容器在云的基礎架構(gòu)和應用之間,集有了應用和基礎架構(gòu)資源;
應用層面,用戶可以根據(jù)場景來選擇微服務架構(gòu)或者是無服務器架構(gòu);
在復雜的交互場景當中,通過服務網(wǎng)格,可以對服務組建的通訊進行管控;
通過DevOps構(gòu)建一個應用架構(gòu)不斷迭代更新的正向循環(huán)。
06 云原生與開源
最后,基于過去幾年推廣開源軟件和解決方案的工作習慣,和大家強調(diào)一下云原生和開源的關系。目前云原生領域的大部分關鍵技術(shù),例如容器引擎、容器編排Kubernetes、服務網(wǎng)格Istio,都來自于開源社區(qū)。
開源社區(qū)是云原生技術(shù)的創(chuàng)新根據(jù)地,因此企業(yè)擁抱云原生技術(shù)的過程,也是擁抱開源社區(qū)的一個過程。在不久的未來,經(jīng)過云原生浪潮之后,IT企業(yè)當中的技術(shù)堆棧里面,開源軟件的比例將會大幅提升,這將給市場提供許多新的機遇。
附視頻:何謂云原生?如何走近云原生?????
關于作者:陳耿(NicholasChen),架構(gòu)師、技術(shù)男、IT宅,微軟全球黑帶團隊云原生技術(shù)專家,紅帽中國OpenShift團隊技術(shù)專家,開源社區(qū)云原生技術(shù)忠實粉絲,著有《開源容器云OpenShift》《深入淺出Serverless》。